- Software testing strategies include incremental testing using top-down or bottom-up approaches as well as big bang testing. Top-down testing starts with high-level modules while bottom-up starts with low-level modules. Big bang testing integrates all modules at once.
- Incremental testing uses stubs and drivers to simulate interfaces between modules during integration. Top-down uses stubs while bottom-up uses drivers.
- Factors like risks, objectives, skills, product, business, and regulations influence the choice of testing strategy. Different types of testing include unit, integration, system, and more.
2. Table of Contents
Software Testing
Software Testing Strategy
Strategic Approach to Testing
Different type of Software Testing
Top-Down Strategies
Stubs and Drivers for Incremental Testing
Bottom-up
Big Bang Testing
Conclusion
2Software Testing Strategy
3. Software Testing
Software Testing is a process of evaluating the
functionality of a software application to find any
software bugs.
It checks whether the developed software met the
specified requirements and identifies any defect in the
software in order to produce a quality product.
3Software Testing Strategy
5. Software Testing Strategy
Incremental testing strategies:
Bottom-up testing
Top-down testing
Big bang testing
5Software Testing Strategy
6. Strategic Approach to Testing
Testing begins at the component level and works
outward toward the integration of the entire computer-
based system.
Testing and debugging are different activities.
Debugging must be accommodated in any testing
strategy.
Need to consider verification issues
are we building the product right?
Need to Consider validation issues
are we building the right product?
6Software Testing Strategy
7. Factors affecting Software Testing Strategies
Risks- Risk management is very important during testing to
figure out the risks and the risk level.
Objectives-Testing should satisfy the requirements and needs of
stakeholders to succeed. The objective is to look for as many
defects as possible with less up-front time and effort invested.
Skills-It is important to consider the skills of the testers since
strategies should not only be chosen but executed as well.
Product-Some products have specified requirements.
Business- Business considerations and strategy are often
important.
Regulations- At some instances, one needs to satisfy the
regulators along with the stakeholders.
7Software Testing Strategy
8. Different Types of Software Testing
Unit Testing
Integration Testing
System Testing
Smoke Testing
Interface Testing
Regression Testing
Beta/Acceptance Testing
Functional Testing
Given below is the list of some common types of Software Testing:
8Software Testing Strategy
10. Incremental Testing
incremental testing is also performed according to
two basic strategies:
Bottom-up and
Top-down.
Both incremental testing strategies assume that
the software package is constructed of a hierarchy
of software modules.
10Software Testing Strategy
11. Top-Down Integration Testing
In top-down testing, the first module tested is the
main module, the highest level module in the
software structure;
The last modules to be tested are the lowest level
modules.
11Software Testing Strategy
13. Stubs and drivers for incremental testing
Stubs and drivers are pseudo code or dummy code used in
Integration or component testing when one or more modules are
not developed but are required to test some other module.
Stubs are used in Top-down testing approach and are
known as called programs. Stubs help simulate the
interface between lower lever modules which are not
available or developed.
Drivers are used in Bottom-up testing approach and are
known as calling programs. Drivers help simulate the
interface between top level modules which are not
developed or available.
13Software Testing Strategy
14. Stubs and drivers for incremental testing Cont.
Fig: Use of stubs and drivers for incremental testing examples
14Software Testing Strategy
15. Bottom-Up Integration Testing
In bottom-up testing, the order of testing is
reversed:
The lowest level modules are tested first, with
the main module tested last.
15Software Testing Strategy
17. Big Bang Testing
Big Bang Integration Testing is an integration testing
strategy wherein all units are linked at once, resulting
in a complete system.
When this type of testing strategy is adopted, it is
difficult to isolate any errors found, because attention
is not paid to verifying the interfaces across individual
units.
17Software Testing Strategy
18. Big Bang Testing Cont.
Fig: Big Bang Testing examples
18Software Testing Strategy
19. Big Bang Testing Drawbacks
It is hard to separate modules when the bug is detected
Ineffective for large systems
High risk to miss some crucial issues while testing the
whole system
Failures occur more frequently because of the
simultaneous check of numerous modules
A single mistake can influence the results of the whole
integration testing
19Software Testing Strategy
20. Big Bang Testing Advantages
Low level components are combined in clusters that
perform a specific software function.
A driver (control program) is written to coordinate
test case input and output.
The cluster is tested.
Drivers are removed and clusters are combined
moving upward in the program structure.
20Software Testing Strategy
21. 21
Conclusion
Testing is a critically important verification
method that takes up a very large portion of a
project's resources, including schedule, budget,
staffing, and facilities.
Unlike the many constructive activities of systems
engineering, testing is relatively unique because it
is inherently destructive.
Software Testing Strategy