Testing Strategy
Testing Strategy
Testing Strategy
Strategy
1
Testing Strategy
Unit test Integration test
2
Testing Strategy
• Testing Strategy outlines in broad terms how to use testing to
assess the extent to which the goal for a product has been met.
3
Testing Strategy Characteristics
• Testing begins at component level and works towards the
integration of the entire system.
4
Why Testing Strategy?
5
The V-Model
6
The W-Model
7
Unit Testing
module
to be
tested
Results
Software Engineer
Test Cases
8
Unit Testing
module
to be
tested
interface
local data structures
boundary conditions
independent paths
error handling paths
test cases
9
Unit Test Environment
driver
interface
local data structures
Module boundary conditions
independent paths
error handling paths
stub stub
test cases
RESULTS
10
Integration Testing Strategies
Options:
• The “big bang” approach
• An incremental construction strategy
A
top module is tested with
stubs
B F G
12
Steps for integration process
1. The main control module is used as a test driver and stubs are substituted for all components
directly subordinate to the main control module.
2. Depending on the integration approach selected subordinate stubs are replaced one at a time
with actual components.
4. On completion of each set of tests, another stub is replaced with the real component.
5. Regression testing may be conducted to ensure that new errors have not been introduced.
The process continues from step 2 until the entire program structure is built.
13
Bottom-Up Integration
A
B F G
cluster
14
Steps for Bottom Up Integration
1. Low level components are combined into clusters that
perform a specific software sub function.
15
Smoke
Testing
Used for “Shrink Wrapped” software and time – critical project
3. The build is integrated with other builds and the entire product is
smoke tested daily. The integration approach may be top down
or bottom up.
16
Smoke
Testing
17
Comments on Integration Testing
1. Stub problem
2. Sandwich testing
3. Critical Module
18
Sandwich Testing
A
Top modules are
tested with stubs
B F G
cluster
19
Validation Testing
Validation:
Validation succeeds when software functions in a manner that can
be reasonably expected by the customer.
Validation Criteria:
• Test plan which conforms the user requirements
20
Alpha and Beta
• Alpha Testing:
Testing
AT is conducted at the developer’s sites by the customer in a
controlled environment.
• Beta Testing:
The beta test is conducted at one or more sites by the end-user of the
software
21
System Testing
Testing of the software when it interacts with
hardware, people, and information.
These tests are out of the scope of the software
1. Recovery Testing
2. Security Testing
3. Stress Testing
4. Performance Testing
22
Recovery Testing
Security Testing
23
Stress Testing
Performance Testing
24
Debugging: A Diagnostic Process
Debugging occurs as a
consequence of successful
testing. That is, when a
test case uncovers an
error, debugging is the
process that results in the
removal of the error.
25
Debugging Process:
26
Debugging Effort
27
Symptoms & Causes
symptom and cause may be
geographically separated
28
Debugging Techniques
backtracking
cause elimination
29
Debugging: Final Thoughts
30
Thank You!
31