Week 2
Week 2
10
Causes of software errors
1. Faulty definition of requirements
2. Client-developer communication failures
3. Deliberate deviations from software requirements
4. Logical design errors
5. Coding errors
6. Non-compliance with documentation and coding
instructions
7. Shortcomings of the testing process
8. Procedure errors
9. Documentation errors
11
Difference between Validation and Verification
Testing Objectives
1
3
Software Engineering Background
Unit Testing
done at the lowest level.
tests the basic unit of software, which is the smallest testable
piece of software, and is often called “unit”, “module”, or
“component” interchangeably.
Functional Testing:
the software program or system under test is viewed as a “black box”.
The selection of test cases for functional testing is based on the requirement or
design specification of the software entity under test.
Functional testing emphasizes on the external behavior of the software entity.
Structural Testing:
the software entity is viewed as a “white box”.
The selection of test cases is based on the implementation of the software entity.
The goal of selecting such test cases is to cause the execution of specific spots in
the software entity, such as specific statements, program branches or paths.
The expected results are evaluated on a set of coverage criteria. Structural testing
emphasizes on the internal structure of the software entity.
References
Everett, Gerald D., and Raymond McLeod Jr. "Software Testing." Testing
Across the Entire (2007).