Category: Dynamic Testing
-
Experience-based test case design
Experience-based test techniques leverage the know-how and experience of testers, developers, users, and other stakeholders to design test cases, test conditions, and test data. This approach also uses knowledge of the software’s planned usage, its environment, and the probable type and location of faults in the test object. A specific degree of coverage is difficult…
-
Systematic derivation of test cases
White-box test techniques can be applied on the lower component and integration test levels. A system test that is based on code makes little sense. Black-box techniques can be used on all test levels. All techniques that define test cases before coding (such as test-first/test-driven development) are by definition black-box techniques. Most test techniques belong…
-
White-box techniques
Unlike black-box techniques, white-box testing techniques focus on the structures and behavior within the test object. This is why white-box techniques are also known as structural or structure-based testing techniques. Here too, test cases, test conditions and test data are derived from the test basis. As well as requirements (for example, to define the expected…
-
Identifying gaps in the requirements
Test cases can also be used to identify discrepancies or deviations between requirements and their implementation. However, these benefits can only usually be realized if you systematically derive test cases using black-box techniques. You can stop testing once you have achieved the degree of coverage of the tested items in the test basis. A minimal…
-
Black-box testing
Black-box techniques can be applied to functional and non-functional tests. As the name suggests, the point of observation for a black-box test is outside the test object and you need no knowledge of its code or inner structure. Apart from choosing input data or setting appropriate preconditions, you have no influence over the test itself. Black-box…
-
Black-box and white-box techniques
There are many techniques available for systematically deriving and designing test cases. These are generally divided into black-box and white-box1 categories. Experience-based testing techniques can also be used to derive test cases.
-
Execute test cases
Test sequences are usually automated using scripts written in a chosen programming language or similar notation. A test script can also include preconditions and a comparison between the expected and actual results. As an example, JUnit is a test framework that facilitates the coding of simple Java test scripts (see [URL: xUnit]).
-
Defined expected system behavior and results
In order to design a test case, you need the input values for the test object, which can be derived using the techniques described later in this chapter. A test case also needs to fulfill any preconditions, and must include the expected results and postconditions in order to decide whether it has detected a failure.…
-
Traceability
Traceability between individual requirements and their corresponding test cases enables us to analyze the impact of changes to requirements on the testing process (for example, designing new test cases, discarding redundant test cases, or modifying existing test cases). It also enables you to define a degree of coverage as an exit criterion for dynamic testing. In…
-
Conditions, preconditions, and objectives
Starting at the test basis (i.e., the general test conditions), you need to analyze which aspects of the system require dynamic testing (for example, correct execution of a transaction). The objectives for verifying fulfillment of system requirements through test cases are then defined, with particular attention paid to the risks involved if the system should…