Software Testing Strategies
(163015001)
(163015003)
(163015010)
(163015022)
Presented By:
Md. Mishbah
Md. Tofazzal Hossain
Shibani Bepary
Jarin Jahan Jenee
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
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
What Testing Shows
errors
requirements conformance
performance
an indication of quality
4Software Testing Strategy
Software Testing Strategy
• Incremental testing strategies:
– Bottom-up testing
– Top-down testing
• Big bang testing
5Software Testing Strategy
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
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
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
• Performance Testing
• Security Testing
• Recovery Testing
• Load Testing
• Stress Testing
• Volume Testing
• Compatibility Testing
• Install Testing
• Reliability Testing
• Usability Testing
• Compliance Testing
• Localization Testing
Non-functional Testing
Different Types of Software Testing
9Software Testing Strategy
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
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
Top-Down Integration Testing Cont.
Fig: Top-Down Integrated Testing – examples
12Software Testing Strategy
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
Stubs and drivers for incremental testing Cont.
Fig: Use of stubs and drivers for incremental testing – examples
14Software Testing Strategy
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
Bottom-Up Integration Testing Cont.
Fig: Bottom-Up Integration Testing – examples
16Software Testing Strategy
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
Big Bang Testing Cont.
Fig: Big Bang Testing – examples
18Software Testing Strategy
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
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
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
Thank You

Software Quality Assurance

  • 1.
    Software Testing Strategies (163015001) (163015003) (163015010) (163015022) PresentedBy: Md. Mishbah Md. Tofazzal Hossain Shibani Bepary Jarin Jahan Jenee
  • 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 • SoftwareTesting 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
  • 4.
    What Testing Shows errors requirementsconformance performance an indication of quality 4Software Testing Strategy
  • 5.
    Software Testing Strategy •Incremental testing strategies: – Bottom-up testing – Top-down testing • Big bang testing 5Software Testing Strategy
  • 6.
    Strategic Approach toTesting • 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 SoftwareTesting 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 ofSoftware 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
  • 9.
    • Performance Testing •Security Testing • Recovery Testing • Load Testing • Stress Testing • Volume Testing • Compatibility Testing • Install Testing • Reliability Testing • Usability Testing • Compliance Testing • Localization Testing Non-functional Testing Different Types of Software Testing 9Software Testing Strategy
  • 10.
    Incremental Testing • incrementaltesting 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
  • 12.
    Top-Down Integration TestingCont. Fig: Top-Down Integrated Testing – examples 12Software Testing Strategy
  • 13.
    Stubs and driversfor 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 driversfor 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
  • 16.
    Bottom-Up Integration TestingCont. Fig: Bottom-Up Integration Testing – examples 16Software 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 TestingCont. Fig: Big Bang Testing – examples 18Software Testing Strategy
  • 19.
    Big Bang TestingDrawbacks • 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 TestingAdvantages • 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 isa 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
  • 22.