SlideShare a Scribd company logo
Software Testing Strategies
Strategic Approach to Testing - 1 Testing begins at the component level and works outward toward the integration of the entire computer-based system. Different testing techniques are appropriate at different points in time. The developer of the software conducts testing and may be assisted by independent test groups for large projects. The role of the independent tester is to remove the conflict of interest inherent when the builder is testing his or her own product.
Strategic Approach to Testing - 2 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?
Strategic Testing Issues - 1 Specify product requirements in a quantifiable manner before testing starts. Specify testing objectives explicitly. Identify the user classes of the software and develop a profile for each. Develop a test plan that emphasizes rapid cycle testing.
Strategic Testing Issues - 2 Build robust software that is designed to test itself (e.g. use anti-bugging). Use effective formal reviews as a filter prior to testing. Conduct formal technical reviews to assess the test strategy and test cases.
Stages of Testing Module or unit testing. Integration testing, Function testing. Performance testing. Acceptance testing. Installation testing.
Unit Testing Program reviews. Formal verification. Testing the program itself. black box and white box testing.
Black Box or White Box? Maximum # of logic paths - determine if white box testing is possible. Nature of input data. Amount of computation involved. Complexity of algorithms.
Unit Testing Details Interfaces tested for proper information flow. Local data are examined to ensure that integrity is maintained. Boundary conditions are tested. Basis path testing should be used. All error handling paths should be tested. Drivers and/or stubs need to be developed to test incomplete software.
Generating Test Data Ideally want to test every permutation of valid and invalid inputs Equivalence partitioning it often required to reduce to infinite test case sets Every possible input belongs to one of the equivalence classes. No input belongs to more than one class. Each point is representative of class.
Regression Testing Check for defects propagated to other modules by changes made to existing program  Representative sample of existing test cases is used to exercise all software functions. Additional test cases focusing software functions likely to be affected by the change. Tests cases that focus on the changed software components.
Integration Testing Bottom - up testing (test harness). Top - down testing (stubs). Modified top - down testing - test levels independently. Big Bang. Sandwich testing.
Top-Down Integration Testing Main program used as a test driver and stubs are substitutes for components directly subordinate to it. Subordinate stubs are replaced one at a time with real components (following the depth-first or breadth-first approach). Tests are conducted as each component is integrated. On completion of each set of tests and other stub is replaced with a real component. Regression testing may be used to ensure that new errors not introduced.
Bottom-Up Integration Testing 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.
  Bottom - Up Top - Down Big Bang Sandwich Integration Early Early   Early Time to get working program Late Early Late Early Drivers Yes No Yes Yes Stub No Yes Yes Yes Parallelism Medium Low High Medium Test specification Easy Hard Easy Medium Product control seq. Easy Hard Easy Hard
Thread Testing Testing  set of actions associated with particular module functions .
Smoke Testing Software components already translated into code are integrated into a build. A series of tests designed to expose errors that will keep the build from performing its functions are created. The build is integrated with the other builds and the entire product is smoke tested daily using either top-down or bottom integration.
Validation Testing Ensure that each function or performance characteristic conforms to its specification. Deviations (deficiencies) must be negotiated with the customer to establish a means for resolving the errors. Configuration review or audit is used to ensure that all elements of the software configuration have been properly developed, cataloged, and documented to allow its support during its maintenance phase.
Acceptance Testing Making sure the software works correctly for intended user in his or her normal work environment.  Alpha test version of the complete software is tested by customer under the supervision of the developer at the developer’s site Beta test version of the complete software is tested by customer at his or her own site without the developer being present
Acceptance Testing Approaches Benchmark test. Pilot testing. Parallel testing.
System Testing Recovery testing checks system’s ability to recover from failures Security testing verifies that system protection mechanism prevents improper penetration or data alteration Stress testing program is checked to see how well it deals with abnormal resource demands Performance testing tests the run-time performance of software
Performance Testing Stress test. Volume test. Configuration test (hardware & software). Compatibility. Regression tests. Security tests. Timing tests. Environmental tests. Quality tests. Recovery tests. Maintenance tests. Documentation tests. Human factors tests.
Testing Life Cycle Establish test objectives. Design criteria (review criteria). Correct. Feasible. Coverage. Demonstrate functionality . Writing test cases. Testing test cases. Execute test cases. Evaluate test results.
Testing Tools Simulators. Monitors. Analyzers. Test data generators.
Test Team Members Professional testers. Analysts. System designers. Configuration management specialists. Users.
Test Documentation Needed Requirement being tested. Design verification methodology. Code verification methodology.
Document Each Test Case Requirement tested. Facet / feature / path tested. Person & date. Tools & code needed. Test data & instructions. Expected results. Actual test results & analysis Correction, schedule, and signoff.
Debugging Debugging (removal of a defect) occurs as a consequence of successful testing. Some people better at debugging than others. Is the cause of the bug reproduced in another part of the program? What “next bug” might be introduced by the fix that is being proposed? What could have been done to prevent this bug in the first place?
Debugging Approaches Brute force memory dumps and run-time traces are examined for clues to error causes Backtracking source code is examined by looking backwards from symptom to potential causes of errors Cause elimination uses binary partitioning to reduce the number of locations potential where errors can exist

More Related Content

PPTX
Integration in component based technology
PPT
12 functional-system-testing
PPT
System testing
PPT
Software Testing
PPTX
Python: Object-Oriented Testing (Unit Testing)
PPTX
Software testing
PPT
Software testing definition
PDF
Quality assurance tests
Integration in component based technology
12 functional-system-testing
System testing
Software Testing
Python: Object-Oriented Testing (Unit Testing)
Software testing
Software testing definition
Quality assurance tests

What's hot (19)

PPTX
System testing
PPT
Software Testing
PDF
7 stages of unit testing
PPT
Ch23
PPTX
Software Testing Strategies
PPT
Ppt19
PPT
Testing
PPTX
Integration testing
PPTX
Object Oriented Analysis
PPTX
Testing in multiplatform environment
PPTX
Object oriented testing
PPT
Product Quality: Metrics, Verification, Validation, Testing
DOCX
System testing
PPTX
Testing and types of Testing
PPTX
An Insight into the Black Box and White Box Software Testing
PDF
Test cases
PPT
Test case design
PPTX
Object Oriented Testing
PDF
System Integration Testing
System testing
Software Testing
7 stages of unit testing
Ch23
Software Testing Strategies
Ppt19
Testing
Integration testing
Object Oriented Analysis
Testing in multiplatform environment
Object oriented testing
Product Quality: Metrics, Verification, Validation, Testing
System testing
Testing and types of Testing
An Insight into the Black Box and White Box Software Testing
Test cases
Test case design
Object Oriented Testing
System Integration Testing
Ad

Viewers also liked (17)

PPTX
Qa documentation pp
DOC
Testplan
PPTX
Strategies For Software Test Documentation
DOCX
Interview questions
PPT
Test planning
PPT
Test Life Cycle - Manual Testing Concept.
PDF
Test Life Cycle - Presentation - Important concepts covered
PDF
Sample test-plan-template
PDF
Interview questions and answers for quality assurance
DOC
Manual testing interview question by INFOTECH
DOC
Manual testing interview questions by infotech
PDF
Beginners guide to software testing
PPT
Agile Testing Process
PPT
Software Testing Fundamentals
PPT
Software testing basic concepts
PPTX
Agile Testing Strategy
PPTX
Software testing ppt
Qa documentation pp
Testplan
Strategies For Software Test Documentation
Interview questions
Test planning
Test Life Cycle - Manual Testing Concept.
Test Life Cycle - Presentation - Important concepts covered
Sample test-plan-template
Interview questions and answers for quality assurance
Manual testing interview question by INFOTECH
Manual testing interview questions by infotech
Beginners guide to software testing
Agile Testing Process
Software Testing Fundamentals
Software testing basic concepts
Agile Testing Strategy
Software testing ppt
Ad

Similar to Testing strategies (20)

PPT
PPTX
PPTX
08 fse verification
DOC
software engineering
PPTX
Software testing
PPT
Software Testing
PPT
Software Engineering Lec 10 -software testing--
PPTX
SE-Unit 4_software testing stretagy.pptx
PPT
Unit 4 chapter 22 - testing strategies.ppt
PPT
testing strategies and tactics
PPTX
Software Testing Strategies ,Validation Testing and System Testing.
PPTX
Testing strategies part -1
PDF
Software Testing.pdf
PPTX
Software testing
PPT
software testing
PPTX
Software Engineering and Project Management - Software Testing + Agile Method...
PPTX
Software testing strategies And its types
PPT
Testing strategies in Software Engineering
DOCX
Softwaretestingstrategies
PPTX
Softwareengineering-5-3-Testing_conven_softw.pptx
08 fse verification
software engineering
Software testing
Software Testing
Software Engineering Lec 10 -software testing--
SE-Unit 4_software testing stretagy.pptx
Unit 4 chapter 22 - testing strategies.ppt
testing strategies and tactics
Software Testing Strategies ,Validation Testing and System Testing.
Testing strategies part -1
Software Testing.pdf
Software testing
software testing
Software Engineering and Project Management - Software Testing + Agile Method...
Software testing strategies And its types
Testing strategies in Software Engineering
Softwaretestingstrategies
Softwareengineering-5-3-Testing_conven_softw.pptx

Recently uploaded (20)

PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
Teaching material agriculture food technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Approach and Philosophy of On baking technology
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
KodekX | Application Modernization Development
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Advanced Soft Computing BINUS July 2025.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Mobile App Security Testing_ A Comprehensive Guide.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Teaching material agriculture food technology
Review of recent advances in non-invasive hemoglobin estimation
The AUB Centre for AI in Media Proposal.docx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
20250228 LYD VKU AI Blended-Learning.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Electronic commerce courselecture one. Pdf
Approach and Philosophy of On baking technology
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
KodekX | Application Modernization Development
Understanding_Digital_Forensics_Presentation.pptx
cuic standard and advanced reporting.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Advanced Soft Computing BINUS July 2025.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication

Testing strategies

  • 2. Strategic Approach to Testing - 1 Testing begins at the component level and works outward toward the integration of the entire computer-based system. Different testing techniques are appropriate at different points in time. The developer of the software conducts testing and may be assisted by independent test groups for large projects. The role of the independent tester is to remove the conflict of interest inherent when the builder is testing his or her own product.
  • 3. Strategic Approach to Testing - 2 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?
  • 4. Strategic Testing Issues - 1 Specify product requirements in a quantifiable manner before testing starts. Specify testing objectives explicitly. Identify the user classes of the software and develop a profile for each. Develop a test plan that emphasizes rapid cycle testing.
  • 5. Strategic Testing Issues - 2 Build robust software that is designed to test itself (e.g. use anti-bugging). Use effective formal reviews as a filter prior to testing. Conduct formal technical reviews to assess the test strategy and test cases.
  • 6. Stages of Testing Module or unit testing. Integration testing, Function testing. Performance testing. Acceptance testing. Installation testing.
  • 7. Unit Testing Program reviews. Formal verification. Testing the program itself. black box and white box testing.
  • 8. Black Box or White Box? Maximum # of logic paths - determine if white box testing is possible. Nature of input data. Amount of computation involved. Complexity of algorithms.
  • 9. Unit Testing Details Interfaces tested for proper information flow. Local data are examined to ensure that integrity is maintained. Boundary conditions are tested. Basis path testing should be used. All error handling paths should be tested. Drivers and/or stubs need to be developed to test incomplete software.
  • 10. Generating Test Data Ideally want to test every permutation of valid and invalid inputs Equivalence partitioning it often required to reduce to infinite test case sets Every possible input belongs to one of the equivalence classes. No input belongs to more than one class. Each point is representative of class.
  • 11. Regression Testing Check for defects propagated to other modules by changes made to existing program Representative sample of existing test cases is used to exercise all software functions. Additional test cases focusing software functions likely to be affected by the change. Tests cases that focus on the changed software components.
  • 12. Integration Testing Bottom - up testing (test harness). Top - down testing (stubs). Modified top - down testing - test levels independently. Big Bang. Sandwich testing.
  • 13. Top-Down Integration Testing Main program used as a test driver and stubs are substitutes for components directly subordinate to it. Subordinate stubs are replaced one at a time with real components (following the depth-first or breadth-first approach). Tests are conducted as each component is integrated. On completion of each set of tests and other stub is replaced with a real component. Regression testing may be used to ensure that new errors not introduced.
  • 14. Bottom-Up Integration Testing 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.
  • 15.   Bottom - Up Top - Down Big Bang Sandwich Integration Early Early   Early Time to get working program Late Early Late Early Drivers Yes No Yes Yes Stub No Yes Yes Yes Parallelism Medium Low High Medium Test specification Easy Hard Easy Medium Product control seq. Easy Hard Easy Hard
  • 16. Thread Testing Testing set of actions associated with particular module functions .
  • 17. Smoke Testing Software components already translated into code are integrated into a build. A series of tests designed to expose errors that will keep the build from performing its functions are created. The build is integrated with the other builds and the entire product is smoke tested daily using either top-down or bottom integration.
  • 18. Validation Testing Ensure that each function or performance characteristic conforms to its specification. Deviations (deficiencies) must be negotiated with the customer to establish a means for resolving the errors. Configuration review or audit is used to ensure that all elements of the software configuration have been properly developed, cataloged, and documented to allow its support during its maintenance phase.
  • 19. Acceptance Testing Making sure the software works correctly for intended user in his or her normal work environment. Alpha test version of the complete software is tested by customer under the supervision of the developer at the developer’s site Beta test version of the complete software is tested by customer at his or her own site without the developer being present
  • 20. Acceptance Testing Approaches Benchmark test. Pilot testing. Parallel testing.
  • 21. System Testing Recovery testing checks system’s ability to recover from failures Security testing verifies that system protection mechanism prevents improper penetration or data alteration Stress testing program is checked to see how well it deals with abnormal resource demands Performance testing tests the run-time performance of software
  • 22. Performance Testing Stress test. Volume test. Configuration test (hardware & software). Compatibility. Regression tests. Security tests. Timing tests. Environmental tests. Quality tests. Recovery tests. Maintenance tests. Documentation tests. Human factors tests.
  • 23. Testing Life Cycle Establish test objectives. Design criteria (review criteria). Correct. Feasible. Coverage. Demonstrate functionality . Writing test cases. Testing test cases. Execute test cases. Evaluate test results.
  • 24. Testing Tools Simulators. Monitors. Analyzers. Test data generators.
  • 25. Test Team Members Professional testers. Analysts. System designers. Configuration management specialists. Users.
  • 26. Test Documentation Needed Requirement being tested. Design verification methodology. Code verification methodology.
  • 27. Document Each Test Case Requirement tested. Facet / feature / path tested. Person & date. Tools & code needed. Test data & instructions. Expected results. Actual test results & analysis Correction, schedule, and signoff.
  • 28. Debugging Debugging (removal of a defect) occurs as a consequence of successful testing. Some people better at debugging than others. Is the cause of the bug reproduced in another part of the program? What “next bug” might be introduced by the fix that is being proposed? What could have been done to prevent this bug in the first place?
  • 29. Debugging Approaches Brute force memory dumps and run-time traces are examined for clues to error causes Backtracking source code is examined by looking backwards from symptom to potential causes of errors Cause elimination uses binary partitioning to reduce the number of locations potential where errors can exist