Validation of Chromatography Data Systems: Meeting Business and Regulatory Requirements

The principle of software testing is shown in Figure 35. Testing consists of defining a series of tests from the requirements defined in the approved user requirements specification. From an individual requirement, a test can be defined for the software to undertake and this test will have one or more expected results and defined acceptance criteria for the test to pass or fail. Remember we will be conducting black box testing (see Section 14.2.3): we usually do not know the detailed algorithms employed by the CDS software only the overall function that the software will perform. At the conclusion of a test, compare the outcome with the acceptance criteria: does it pass or fail?
In devising any software test there should be pre-defined expected results of the test. These will be compared with the observed results made during the execution of the test script. The two should match for the test step to pass. However, there are many test procedures written implying that if expected results match the observed results then the procedure passes. This in my view is wrong, there should be explicitly written acceptance criteria which must be matched for any test procedure to pass.
This is software testing in its simplest form and it is not a difficult concept to grasp, but you do not want to test each requirement individually. Elegance in software testing is how many requirements you can test either simultaneously or...