Requirements-based testing is a black-box technique in which test cases are designed based on requirements. It is also called specifications-based testing, because it uses the specifications of the externally observable behavior of the software as its test basis. This kind of specification can take various forms—for example, use cases or user stories. The corresponding testing techniques. The specifications and the test cases derived from them can relate to functional or non-functional characteristics of the software element in question.
Requirements-based tests mostly take place during system and acceptance testing. If component or integration tests are derived from technical specifications or requirements, these too can be classed as requirements-based testing.
Structure-based testing (structural testing, white-box technique) uses the internal structure/architecture of the software as its test basis. It analyzes things like the control flows within a component or the call hierarchy of procedures or menu structures. The structures within an abstract model of the software can serve as a starting point too. The objective is to cover as many elements of the observed structure as possible during testing. This requires the design of a sufficiently large number of test cases, which again can be based on functional or non-functional attributes of the software element you are investigating.
Structural tests take place mostly during component and integration testing, and sometimes as additional tests on higher test levels (for example, to provide coverage for menu structures).
Leave a Reply