8.3: Software Test Coverage
The test is one verification and validation technique. Others are inspections and reviews, formal proof methods, static analysis, and prototyping. Testing is the execution of requirements analysis, design, code, and test products. (Note that the last is an example of recursion – a test of a test, an important concept in computer science and software engineering). Test scope includes the data and behaviors in the problem domain gathered in requirements analysis and data and behaviors of the products of design, Implementation, and Test activities, such as risk scenarios, environments, and events. Specific examples are security risks, development and operational environments, and system interactions. Test coverage is the percentage of the test scope addressed by testing.
This section shows the elements of a software test plan and how one company designs testing to validate that specification, design, and coding mesh with the functional and non-functional requirements of the system. The development of a test plan takes into consideration the programming language. Selection of a programming language can involve considering older languages, like COBOL, first used in 1960. Suppose a company has legacy business systems and a project application is well known to the company (meaning that it is a system with precedent) with stable requirements. In that case, COBOL might be a good choice. Indeed, a scan of job openings 70 years after COBOL was first used often finds several openings for COBOL programmers.
As you review this test plan, think about a plan to verify and validate the goals, design (organization and flow), and content of this course, CS302. Recall that at a high enough level of abstraction, the SDLC can be applied to other types of development, including course development.