Some systems are more difficult to test than others. Software testers contend with undefined or partially defined requirements; outdated, incomplete, or nonexistent documentation; complex logic; a mixture of languages; or worse. All of these factors make a system dirty, or virtually untestable. In Testing Dirty Systems, authors William Perry and Randall Rice teach testers a six-step process for approaching such system diagnosis • test planning • test execution • test analysis • report development • dirty system repair. Because of the unknown characteristics of the dirty system, the traditional validation of comparing actual processing results against the expected processing results is often inadequate. Analysis of a dirty system must go much further into describing the expected operational characteristics of the system, including * probability of failure based on failures during testing * expected difficulty of making changes based on inadequacy of documentation * estimate of defects that remain in the system * operating conditions that will lead to failures * coverage levels based on code or test cases * complexity levels based on coding structure Project leaders, independent testers, quality assurance personnel, and IS auditors will benefit from this book, as well as end-users and customers with a vested interest in the success of their systems.