In this chapter, the learning objectives are: To discuss the distinctions between validation testing and defect testing, to describe the principles of system and component testing, to describe strategies for generating system test cases, to understand the essential characteristics of tool used for test automation. | Software testing Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating system test cases To understand the essential characteristics of tool used for test automation Topics covered System testing Component testing Test case design Test automation The testing process Component testing Testing of individual program components; Usually the responsibility of the component developer (except sometimes for critical systems); Tests are derived from the developer’s experience. System testing Testing of groups of components integrated to create a system or sub-system; The responsibility of an independent testing team; Tests are based on a system specification. Testing phases Defect testing The goal of defect testing is to discover defects in programs A successful defect test is a test which causes a program to behave in an anomalous way Tests show the presence not the | Software testing Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating system test cases To understand the essential characteristics of tool used for test automation Topics covered System testing Component testing Test case design Test automation The testing process Component testing Testing of individual program components; Usually the responsibility of the component developer (except sometimes for critical systems); Tests are derived from the developer’s experience. System testing Testing of groups of components integrated to create a system or sub-system; The responsibility of an independent testing team; Tests are based on a system specification. Testing phases Defect testing The goal of defect testing is to discover defects in programs A successful defect test is a test which causes a program to behave in an anomalous way Tests show the presence not the absence of defects Testing process goals Validation testing To demonstrate to the developer and the system customer that the software meets its requirements; A successful test shows that the system operates as intended. Defect testing To discover faults or defects in the software where its behaviour is incorrect or not in conformance with its specification; A successful test is a test that makes the system perform incorrectly and so exposes a defect in the system. The software testing process Only exhaustive testing can show a program is free from defects. However, exhaustive testing is impossible, Testing policies define the approach to be used in selecting system tests: All functions accessed through menus should be tested; Combinations of functions accessed through the same menu should be tested; Where user input is required, all functions must be tested with correct and incorrect input. Testing policies System testing Involves integrating components to create a system or .