Part
Three: System
Testing
1.
Objective
Software
testing is a critical element of software quality assurance and represents
the
ultimate review of specification, design, and coding. The main object of
software testing can be the following:
1.
Testing is a process of executing a program with the intent of
finding an
error.
2.
A good test case is one that has a high probability of finding an
as yet
undiscovered error.
3.
A successful test is one that uncover an as yet undiscovered
error.
2. Test information flow
Information flow for testing follows the pattern described in figure 3. Two classes of input are provided to the test process:
1. A software configuration that includes a software specification, a design specification, and a source code.
2. A test configuration that includes a test plan and procedure, test cases, and expected result.
As test results are gathered and evaluated, a qualitative indication of software reliability begins to surface. If severe error that require design modification are encountered with regularity, software quality and reliability are suspect and further tests are indicated.
3.Steps in
Software Testing
Testing within the context of software engineering is actually a series of four steps that are implemented sequentially, as figure 4.
1. Unit Testing: Initially, tests focus on each modules individually, assuring that is functions properly as a unit. It is unit testing.
2. Integration Testing: Next, modules must be assembled or integrated to form with the complete software package. This stage addresses the issues associated with the dual problem of verification and assembly.
3. Validation Testing: Finally, validation requirements (established during the planning phase) must be tested. Validation testing provides final assurance that software meets all functional and performance requirements.
4. System Testing: This is the last step. It falls outside the boundary of software and into the boundary of context of computer system engineering. Software, once validated, must combined with other system elements. System testing verifies that all elements mesh properly and that overall system function and performance are achieved.