Beruflich Dokumente
Kultur Dokumente
SOFTWARE TESTING
STRATEGIES
TOPICS
A strategic approach to software testing
Unit Testing
Integration Testing
Validation Testing
System Testing
The ART of Debugging
Summary
2
December, 2007
STRATEGIC APPROACH TO
SOFTWARE TESTING
Generic characteristics of software testing strategies:
December, 2007
5
December, 2007
6
December, 2007
7
December, 2007
STRATEGIC APPROACH
STRATEGIC APPROACH
itself.
Use effective formal technical reviews as a
filter to testing.
Conduct formal technical reviews to assess
test strategy and test cases.
Develop continuous improvement approach
9
December, 2007
UNIT TESTING
10
December, 2007
UNIT TESTING
Unit Test Generation Considerations:
Review Design information - develop unit test cases.
driver
Module to
be tested
stub
stub
interface
local data structures
boundary conditions
independent paths
error handling paths
Test
cases
December, 2007
11
Interface considerations
#
December, 2007
attributes correct?
OPEN/CLOSE correct?
Format specification matches I/O statement?
Buffer size matches record size?
Files opened before use?
EOF handled correctly?
I/O errors handled?
Textual errors in output?
13
December, 2007
or inconsistent typing?
Erroneous initialization or default values?
Incorrect variable names?
Inconsistent data types?
Underflow, overflow and addressing
exceptions?
14
December, 2007
incorrect
arithmetic
mixed mode operations
incorrect initialization
precision inaccuracy
incorrect symbolic representation of expression
15
is incorrect?
Error description is unintelligible, insufficient or
incorrect?
Error condition causes system interrupt before
error handling completed?
16
December, 2007
INTEGRATION TESTING
A systematic approach for constructing
program structure while conducting tests to
uncover errors associated with interfacing.
Tendency for Non-Incremental integration..
Big Bang approach . Chaos !! ( usually ).
Incremental integration - program is
constructed and tested in small segments.
Top-Down
Integration testing
Bottom-Up Integration testing
17
December, 2007
INTEGRATION TESTING
18
December, 2007
INTEGRATION TESTING
Top-Down Approach
Begin construction and testing with main module.
Stubs
19
December, 2007
20
December, 2007
INTEGRATION TESTING
Top-Down Approach :
Advantages:
Disadvantages:
December, 2007
INTEGRATION TESTING
Bottom Up Approach :
This
22
December, 2007
Bottom Up Approach
23
December, 2007
INTEGRATION TESTING
Bottom Up Approach
Advantages:
Disadvantages:
December, 2007
INTEGRATION TESTING
Regression Testing
Re-execution
December, 2007
INTEGRATION TESTING
Integration Test Documentation
1
Scope of
testing
2
Test plan
Test
Procedure n
Actual Test
Results
Ref. &
Appendix
Environment
Test Schedule
Unit
Test
/ Resources
phases
test
case
Overhead
and
data
Test
software
builds
environment
Order of
Integration
Expected
Results
for build
n
26
December, 2007
VALIDATION TESTING
27
SYSTEM TESTING
A series
Recovery Testing:
Forces
Security Testing:
Attempts
28
December, 2007
SYSTEM TESTING
Stress Testing:
Executes
Performance Testing:
To test
29
December, 2007
System S/W
Validation Tests
System Delivery
COTS H/W
on Dock
Acceptance
Test
System Test
Integration Environment
Developers
Early
Unit Integ
User Eval
Test
Unit
Design
Test
Users
31
December, 2007
Additional
tests
Regression tests
Corrections
Results
Suspected
causes
Identified
causes
Debugging
32
December, 2007
Debugging Approaches
Brute
of debugging tools
33
December, 2007
COMMENTS
a vested interest in
demonstrating that their software is error-free.
Developers (psychologically) feel that testing
is destructive.
December, 2007
SUMMARY
Software Testing accounts for the largest
percentage of technical effort in the software
process.
Objective of Software testing -- To uncover
errors, maintain software quality.
Steps : Unit, Integration, Validation, System.
Debugging is often an art and the most valuable
resource is often the counsel of other software
engineers.
35
December, 2007