ities of data. Stress testing adds timing considerations to out using harnesses, together with stubs and drivers as required. volume testing. Where the behaviour of the unit under test may vary within time, stress testing subjects the unit to large quan- tities of data in comparatively short periods of time. 25.7.2.2 Test case generation White-box testing For only the very simplest of pieces of software is it realistic to attempt to observe the behaviour in all possible circumstances. White-box testing makes use of the way the unit under test has been The people who construct software and the systems on which it constructed. depends can make mistakes. We can call these errors. Human error may result (it need not) in one or several defects in the software that Structural testing. Here test cases are chosen SO that together has been built. These can be called bugs or faults. Depending on the they satisfy some measure of coverage of the code. The sim- way in which the software is used, the presence of faults may cause plest, and weakest, measure is the count of executable state- it to misbehave. This will be a failure. So human error may lead to ments. A set of tests which together execute all the statements software fault, which may result in failure. The goal of testing is to in the code will, except for the simplest logic, have tested only reach an appropriately high level of confidence that any errors a small proportion of the possible paths through the code. Even which have been made, and any faults which may therefore be so, it is often difficult or impossible to find test cases which present, will not result in system failure. To this end, a number of meet this criterion; code to handle certain exceptions or error techniques for test case generation and a number of measures of the conditions may be inaccessible in normal operation and where thoroughness of testing are sometimes used. there is parallel processing with indeterminacy, common in telecommunications systems, the test set may not force all Black-box