Professional Documents
Culture Documents
Methodologies
- Basics
Training Objectives
Unrealistic schedule
Developer understands the system but will test ‘Gently’ and is driven by ‘Delivery’
ITG or Independent testing team will attempt to break and is driven by ‘Quality’
Verification Validation
Delivery
Integration test Integration production
HLD deployment
planning Testing
Maintenance
Unit test Unit and
LLD testing
planning enhancement
Coding
07/07/09 Software Testing Practice 12
Software Testing Life Cycle
Test scope Test planning Test engineering Test execution Defect analysis
- Approach - Check unexpected
- Process & tools - Test design - Implement stubs behavior
- Baseline inventory
- Methodology - Formal specs - Test data feeders - Identify defective
- Acceptance criteria
- Delivery models - Test scenarios - Batch processes application areas
- Schedule
- Risk plan - Test cases - Execute testing - Identify erroneous
- Prioritization
- Project workflow - Test data - Collate test data test data
- Test references
- Quality objectives - Tool development - Identify bugs - Identify defect
- Signoff
- Configuration plan trends / patterns
requirement
Test Closure
- Stop Testing
- Prepare Reports
- Prepare Test closure
Document.
Verification
All “REVIEW” activities throughout the life cycle that ensure
the product deliverables meet their specifications
Validation
The “TEST” phase of the life cycle, which ensures that the
end product meets the specifications
Testing Levels
Techniques
Unit Testing Structural
(White
Box)
Integration
Functional (Black
System
Box)
Acceptance
Unit Testing - Structural Testing
Risk Based
Integration - Structural and Functional
Heuristic
System - Functional, Risk based and Heuristic
Acceptance - Functional, Risk based and Heuristic
07/07/09 Software Testing Practice 16
Structural Testing (White Box)
Inputs
Is a technique
where
Program
structure/spec
s used to
define test
case
Program
Outputs
viewed as a
07/07/09 Software Testing Practice graph 17
White box Testing Methods
Statement Coverage
Branch Coverage
Loop Coverage
Data flow
T F
Y=Y+4
Y>9
Y=Y+1 Y=Y+3
Y=Y+2
Solves the “null else” problem of Statement Testing by forcing all the
decisions.
CC is a quantitative measure to 2
4
It is a graphical representation of the
flow of execution. 5
Example of CC
I=1
for ( I=1 ; I<n ; I++ )
F
printf (“Simple Loop”);
I<N
T
E=5 , N=5
END Print
CC = E-N+2
I ++ CC = 2
07/07/09 Software Testing Practice 27
Loop Testing
Simple
loop
Nested
Loops
Concatenated
Loops Unstructured
Loops
07/07/09 Software Testing Practice 28
Loop Coverage
Concatenate Loop Simple Loops
for (I=1;I<n;I++)
statement 1
A minimum test is 2 iterations, to
for (k=1;k<n;k++) detect data initialization and use
statement 1 faults
Nested Loop Must exercise the domain
for (I=1;I<n;I++) boundary of the loop control
for (k=1;k<n;k++)
variable
statement 1
Nested Loops Serial / Concatenated Loops
Test inner loop first, outer last more loops in same control path
Set all outer loop controls to Define/use data relationship
minimum values
Exists -Treat them as Nested Loops
Set inner and outer loop controls
Not Exists - Treat them as Simple
to typical values
Loops
07/07/09 Software Testing Practice 29
Data Flow Testing
Data States
defined(initialized, but not used yet)
used (value evaluated)
killed
Test contents
A statement where a variable is defined (assigned a value)
A statement where that variable is used with that definition active
A statement where that variable is used with that definition killed/freed
Techniques
Inputs Outputs
Low Level
Techniques
Equivalence
partitioning
Boundary value
analysis
Input and Output
domain
07/07/09 Software Testing Practice 33
Equivalence Partitioning
Divides the input domain of a
program into classes of data
Output
2 7 12
Functional Structural
establishes seeks faults
confidence
Unit Test Test Lab Environment Test Lab Environment Simulated Production
Environment Environment
Integration System
Unit Test UAT
Test Test
Development
Testers
07/07/09 Software Testing Practice 42
Top Down Integration
Modules are
integrated by
moving
downward
Construction
and testing
with atomic
modules
Stubs are
Driver Stub NOT needed
Module under Tested Module
Test
Application System
External System
A C
B D
Sub System
Product
Management
Failure
Defects Log
Release
Management Success Schedule &
Execution
07/07/09 Software Testing Practice Test Results 49
Regression Testing
To test the integrity of critical business functions of an
Objective
application after undergoing changes independent of
the underlying software architecture
Testing
method Black box. Automation test tools are used
Load Test
Method Stress Test
Volume Test
Phases
•Normal or Above normal volumes of transactions can be processed within the expected time frame
•The application system is structurally able to process large amounts of data
•System capacity has enough resources to meet expected turnaround times
•People can actually use the system at peak times.
07/07/09 Software Testing Practice 51
Performance Testing
Load Stress Volume
References