ABSTRACT

This chapter discusses the link between the requirements specification and testing, the types of bugs a system is likely to contain, common testing techniques, some approaches to debugging, and several techniques for generating test data. The system requirements are typically documented in the requirements specification. Systems errors are related to input, output, hardware, software, and interfaces. Software errors are program bugs and operating system errors. Test data are needed to find high-level syntax errors that are not flagged by the compiler or language translator. The point of logic testing is to check the flow of logic through a program. Transaction testing, also called flow testing or sequence testing, is used to verify the complete logical flow needed to accomplish a task. State testing applies primarily to real-time systems. Value analysis generates test data based on the data values. Volume analysis, or control analysis, is intended to check the system’s behavior.