CIS-74 Computer Software Quality Assurance Systematic Software Testing Chapter 1: An Overview of the Testing Process
History of the Definition of “Testing” 1979: Executing a program in order to find bugs 1983: Evaluating program attributes in order to measure quality 2002: “A concurrent lifecycle process of engineering, using, and maintaining testware in order to measure and improve the quality of the software being tested.”
Preventive Testing Requires test cases to validate the requirements so that problems can be found as early as possible Added benefit: test cases document the software
Waterfall Model Most famous of sequential models of software development: 1.Initial concept 2.Requirements analysis 3.Analysis & architectural design 4.Detailed design 5.Development & unit/integration testing 6.System & acceptance testing 7.Implementation 8.Maintenance
Advantages of Waterfall Resources are focused on one activity at a time Each activity has the completed artifact from the previous stage to use as a basis
Disadvantages of Waterfall A lot of backing up to earlier phases, which is very expensive Can lead to dangerous shortcuts No testing until the end (which contributes to the “backing up” problem) Testers are often on critical path
STEP Systematic Test and Evaluation Process Built upon IEEE standards for software test documentation and software unit testingIEEE Stresses the prevention potential of testing Views testing as a parallel process with software development, not a later one
STEP Phases Plan the strategy Acquire the testware Measure the behavior
STEP Output Testware: test plans, test specification documents, test cases, test data files, etc. Intentionally analogous to software in order to reflect the parallel development processes
STEP Testing Roles Manager - communicates, plans, and coordinates Analyst - plans, inventories, designs, and evaluates Technician - implements, executes, and checks Reviewer - examines and evaluates
Review Questions
What is the name for any document or product created as part of the testing effort, such as test cases, test plans, bug reports, etc.?
Testware
What does STEP stand for?
Systematic Test and Evaluation Process
What is the generic name for the software development model in which the requirements are built first, followed by the design, then the code, and lastly, the testing?
Sequential model
What is the most famous of the sequential models of software development?
Waterfall
What is the name for program testing done in a programmer’s personal development library?
Unit testing
What are a couple of advantages to the Waterfall model?
1.Resources are focused on one activity at a time. 2.Each activity has the completed artifact from the previous stage to use as a basis.
What was the focus of testing in the late 1970s?
Finding errors
What are two disadvantages to the Waterfall method?
1.It causes a lot of “starting over.” 2.Testers are usually on the critical path of delivery.
When must test cases be written in order to practice preventive testing?
Before the code is written (in order to validate the requirements).
What are the three phrases in STEP?
1.Plan the Strategy 2.Acquire the Testware 3.Measure the Behavior
What industry standards for documentation and software unit testing is STEP built upon?
IEEE
What are the four major testing roles defined by STEP?
Manager Analyst Technician Reviewer
End of Chapter 1