Strategic Issues
- The best strategy will fail if a series of overriding issues are not addressed. Tom
Gilb argues that a software testing strategy will succeed when software
testers.
- Specify product requirements in a quantifiable manner long before testing
commences.
- Objective of testing is to find errors, a good testing strategy also assesses
other quality characteristics such as portability, maintainability, and
usability.
- State testing objectives explicitly.
- The specific objectives of testing should be stated in measurable terms.
- Understand the users of the software and develop a profile for each user
category.
- Develop a testing plan that emphasizes “rapid cycle testing.
- Build “robust” software that is designed to test itself.
- Use effective technical reviews as a filter prior to testing.
- Conduct technical reviews to assess the test strategy and test cases
themselves
- Develop a continuous improvement approach for the testing
process.
Short note on Software Testing Strategic
- The software process may be viewed as the spiral illustrated in
Figure.
- Initially, system engineering defines the role of software and
leads to software requirements analysis, where the information
domain, function, behavior, performance, constraints, and
validation criteria for software are established.
- Moving inward along the spiral, you come to design and finally
to coding.
Software Testing Strategic
- Unit testing begins at the vortex of the spiral and concentrates on
each unit (e.g., component, class, or WebApp content object) of the
software as implemented in source code.
- Integration testing, where the focus is on design and the construction
of the software architecture.
- Validation testing, where requirements established as part of
requirements modeling are validated against the software that has
been constructed.
- Finally, system testing, where the software and other system
elements are tested as a whole…
- Process from a
procedural point of
view :
- Testing within the
context of software
engineering is
actually a series of
four steps that are
implemented
sequentially.
- The steps are
shown in Figure :
Introduction - strategy for software testing
- Testing is the process of exercising a program with the specific intent
of finding errors prior to delivery to the end user.
- A strategy for software testing provides a road map that
describes the steps to be conducted as part of testing.
- Any testing strategy must incorporate
- Test planning,
- Test case design,
- Test execution,
- Resultant data collection and Evaluation.
What Testing Shows
A Strategy Approach to software testing
- Testing is a set of activities that can be planned in advance
and conducted systematically.
- For this reason a template for software testing—a set of steps
into which you can place specific test case design techniques
and testing methods—should be defined for the software
process.
- Generic characteristics of Strategy Approach to software testing.
- To perform effective testing, you should conduct effective technical reviews. By doing this, many errors will be eliminated before testing
commences.
- Testing begins at the component level and works “outward” toward the
integration of the entire computer-based system.
- Different testing techniques are appropriate for different software engineering
approaches and at different points in time.
- Testing is conducted by the developer of the software and (for large projects) an
independent test group.
- Testing and debugging are different activities, but debugging must be
accommodated in any testing strategy.
Verification and Validation (V & V)
- Software testing is one element of a broader topic that is often
referred to as verification and validation (V&V).
- Verification refers to the set of tasks that ensure that software
correctly implements a specific function.
- Validation refers to a different set of tasks that ensure that the
software that has been built is traceable to customer requirements.
- Boehm states this another way:
- Verification: “Are we building the product right?”
- Validation: “Are we building the right product?”
Who Tests the Software?