Professional Documents
Culture Documents
CHAPTER 7
Overview
Definition of Software Testing
Problems with Testing
Benefits of Testing
Effective Methods for Testing
Definition of Software Testing
Software testing is the process of
executing a software system to determine
whether it matches its specification and
executes in its intended environment.
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
Integration 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
Component Integration
testing testing
Testing
The execution of a program to find its faults
Verification
The process of proving the programs correctness.
Validation
The process of finding errors by executing the program in a
real environment
Debugging
Diagnosing the error and corrective
What are the Types of Software Tests
Requirements Specification
Design Phase
Phase Phase
Implementation
Phase
Black- White-box
Specification Program
box tests tests
Black Box Testing
Checks that the product conforms to
specifications
Cannot determine how much code has
been tested
Omissions detected
by black-box tests
Program
White Box Testing
Allows tester to be sure every statement
has been tested.
Difficult to discover missing
functionality.
Commissions detected
Program by White-box tests
Review questions
1. What is Software Testing?
2. What are Quality Assurance and Quality Control?
3. What is Verification in software testing?
4. What is Validation in software testing?
5. What is Static Testing?
6. What is Dynamic Testing?
What is White Box Testing?