Software Testing Strategies
Software Testing Strategies
Validation
- The set of activities that ensure that software correctly implements a specific
function or algorithm
A Strategy for Testing Conventional Software
Testing Strategy applied to Conventional Software
• Unit testing
• Unit testing
• Validation testing
• Provides final assurance that the software meets all functional, behavioral,
and performance requirements
• System testing
• Expectation of equality when precision error makes equality unlikely (using == with float types)
• Driver
- A simple main program that accepts test case data, passes such data to the
component being tested, and prints the returned results
• Stubs
- Serve to replace modules that are subordinate to (called by) the component to
be tested
Integration Testing
• Defined as a systematic technique for constructing the software
architecture.
• Chaos results
• Once a set of errors are corrected, more errors occur, and testing appears to enter an
endless loop
Incremental Integration Testing
• Three kinds
• Top-down integration
• Bottom-up integration
• Sandwich integration
• Integrates the set of classes required to respond to one input or event for the system
• Use-based testing
• First tests the independent classes that use very few, if any, server classes
• Then the next layer of classes, called dependent classes, are integrated
• This sequence of testing layer of dependent classes continues until the entire system is
constructed
Alpha and Beta Testing
• Alpha testing
• Beta testing
• It serves as a live application of the software in an environment that cannot be controlled by the
developer
• The end-user records all problems that are encountered and reports these to the developers at regular
intervals
SYSTEM TESTING
Different Types
● Recovery Testing
● Security Testing
● Stress Testing
● Performance Testing