 |
|
Requirements Analysis - Types of Testing
Prescriptive Testing
A method by which test conditions are developed directly from the requirements, often before any actual code is written. The disadvantage is that test objectives will be vague, and only black box test objectives can be written from requirements. The advantages are: a) developers often write better code when they know how it will be tested (such as making intermediate values visible to the tester), b) test objectives can be refined during coding to include white box test objectives (often called a “gray box” approach), and c) the expected results relate directly to the intended program behavior, not the actual behavior.
Therefore, prescriptive testing is ideally suited to finding software defects, but may contain many defects in the written test steps.
Descriptive Testing
A method whereby the test steps describe in detail exactly how to produce a test condition and exactly how to verify the results. It is termed “descriptive” because the test step describes the software behavior in detail. The advantage of descriptive testing is that it allows anyone to run the test script. The disadvantage is that the only way to write the test step is to have the software running, and then transcribe its behavior into test steps. This carries the embedded assumption that the software already functions correctly. The only new information generated by the tester is whether the test script correctly describes the software’s actual behavior.
Therefore, descriptive testing is ideally suited to finding defects in the test script, but may allow software defects to pass undetected.
Descriptive testing is especially prone to errors due to an inherently flawed logic - specifically, the invalid argument that getting the expected results means that the software is working correctly.
|