SlideShare a Scribd company logo
1 of 27
SOFTWARE TESTING STRATEGIES
SUBMITTED TO:- SUBMITTED BY:-
MR. RAKESH KUMAR ALPANA (171401)
ASTT. PROFESSOR ME MODULAR(CSE)
COMPUTER SCIENCE & ENGG. E-MAIL:-anshubhaskar93@gmail.com
NITTTR CHANDIGARH
CONTENTS
•Introduction
•A strategic approach to testing
•Test strategies for conventional software
•Test strategies for object-oriented software
•Difference between conventional and object-
oriented software testing
•Reference
Introduction
• A strategy for software testing integrates the design of software test
cases into a well-planned series of steps that result in successful
development of the software.
• The strategy provides a road map that describes the steps to be taken,
when, and how much effort, time, and resources will be required.
• The strategy incorporates test planning, test case design, test execution,
and test result collection and evaluation.
• The strategy provides guidance for the practitioner and a set of
milestones for the manager .Because of time pressures, progress must be
measurable and problems must surface as early as possible.
A STRATEGIC APPROACH TO TESTING
• To perform effective testing, a software team should conduct
effective formal technical reviews.
• Testing begins at the component level and work outward toward the
integration of the entire computer based system.
• Different testing techniques are appropriate at different points in
time.
• Testing is conducted by the developer of the software and (for large
projects) by an independent test group.
• Testing and debugging are different activities, but debugging must be
accommodated in any testing strategy.
SOFTWARE TESTING STRATEGY
• Unit testing
– Concentrates on each
component/function of the
software as implemented in
the source code
• Integration testing
– Focuses on the design and
construction of the software
architecture
• Validation testing
– Requirements are validated
against the constructed software
• System testing
– The software and other system
elements are tested as a whole
TESTING STRATEGY
TEST STRATEGIES FOR CONVENTIONAL
SOFTWARE
(1) Unit Testing
• Focuses testing on the function or software module
• Concentrates on the internal processing logic and data structures
• Is simplified when a module is designed with high cohesion
• Reduces the number of test cases
• Allows errors to be more easily predicted and uncovered
• Concentrates on critical modules and those with high cyclomatic
complexity when testing resources are limited
TARGETS FOR UNIT TEST CASES
• Module interface
• Ensure that information flows properly into and out of the module
• Local data structures
• Ensure that data stored temporarily maintains its integrity during all
steps in an algorithm execution
• Boundary conditions
• Ensure that the module operates properly at boundary values
established to limit or restrict processing
• Independent paths (basis paths)
• Paths are exercised to ensure that all statements in a module have
been executed at least once
• Error handling paths
• Ensure that the algorithms respond correctly to specific error
DRIVERS AND STUBS FOR UNIT
TESTING
• 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
• It uses the module’s exact interface, may do minimal data
manipulation, provides verification of entry, and returns control to the
module undergoing testing
• Drivers and stubs both represent overhead
• Both must be written but don’t constitute part of the installed
software product
(2) Integration Testing
• Defined as a systematic technique for constructing the software
architecture
• At the same time integration is occurring, conduct tests to uncover
errors associated with interfaces
• Objective is to take unit tested modules and build a program structure
based on the prescribed design
• Two Approaches
• Non-incremental Integration Testing
• Incremental Integration Testing
NON-INCREMENTAL INTEGRATION
TESTING
• Commonly called the “Big Bang” approach
• All components are combined in advance
• The entire program is tested as a whole
• Chaos results
• Many seemingly-unrelated errors are encountered
• Correction is difficult because isolation of causes is complicated
• 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
• The program is constructed and tested
in small increments.
• Errors are easier to isolate and correct.
• Interfaces are more likely to be tested
completely.
• A systematic test approach is applied.
OBJECT-ORIENTED TESTING
STRATEGIES
(1) Unit Testing
• Smallest testable unit is the encapsulated class or object
• Test each operation as part of a class hierarchy because its class
hierarchy defines its context of use
• Driven by class operations and state behavior, not algorithmic detail and
data flow across module interface
• Approach: Test each method (and constructor) within a class Test the
state behavior (attributes) of the class between methods
CONTD…
• Complete test coverage of a class involves Testing all operations Setting
and interrogating all object attributes Exercising the object in all possible
state .
• Test sequences are designed to ensure that relevant operations are
exercised .
• State of the class is examined to determine if errors exist .
CONTD…
• How is class testing different from conventional testing?
• Conventional testing focuses on input- process-output, whereas class
testing focuses on each method, then designing sequences of methods to
exercise states of a class.
• But white-box testing can still be applied .
CONTD…
(2) Integration Testing
• OO does not have a hierarchical control structure so conventional top-
down and bottom-up integration tests have little meaning .
• Focuses on groups of classes that collaborate in some manner.
• Integration of operations one at a time into a class is often meaningless
Because of direct and indirect interaction of components .
CONTD…
• Thread-based testing Testing/integrate the set of classes required to
respond to one input or event
• Cluster testing Groups of collaborating classes are tested for interaction
errors
• Regression testing is important as each thread, cluster or subsystem is
added to the system
CONTD…
(3)Validation Testing
• Are we building the right product?
• Validation succeeds when software functions in a manner that can be
reasonably expected by the customer.
• Focuses on visible user actions and user recognizable outputs
• Validation tests are based on the use-case scenarios, the object behavior
model, and the event flow diagram
CONTD…
• Apply:
• Use-case scenarios from the software requirements spec
• Black-box testing to create a deficiency list
• Acceptance tests through alpha (at developer’s site) and beta (at customer’s site)
testing with actual customers
CONTD…
• Software may be part of a larger system.
• This often leads to “finger pointing” by other system dev teams Finger
pointing defence:
• 1. Design error-handling paths that test external information
• 2. Conduct a series of tests that simulate bad data
• 3. Record the results of tests to use as evidence
CONTD…
(4)System Testing
• Types of System Testing:
• Recovery testing: how well and quickly does the system recover from faults.
• Security testing: verify that protection mechanisms built into the system will
protect from unauthorized access (hackers, disgruntled employees, fraudsters).
• Stress testing: place abnormal load on the system .
• Performance testing: investigate the run-time performance within the context
of an integrated system .
DIFFERENCE BETWEEN CONVENTIONAL AND
OBJECT ORIENTED TESTING
Conventional testing
• Conventional testing is the
traditional approach to testing
mostly done when water fall life
cycle is used for development.
• Conventional testing focuses more
on decomposition and functional
approaches.
Object oriented testing
• Object oriented testing is used
when object oriented analysis and
design is used for developing
enterprise software.
• Object oriented testing, uses
composition.
Conventional testing
• The three levels of testing
(system, integration, unit) used in
conventional testing.
• Traditional development follows a
sequential approach.
• Needs to large duration
sometimes to development the
large projects.
• Uses common processes likes:
analysis, design, implementation,
and testing
Object oriented testing
• not clearly defined when it comes
to object oriented testing.
• OO development uses incremental
approach.
• Need to more time than
Traditional approach and leads
that to more cost.
• Uses UML notations likes: use
case, class diagram,
communication diagram,
development diagram and
sequence diagram.
REFERENCES
• Pressman, R. Software Engineering: A Practitioner’s Approach. McGraw-
Hill)
Software Testing Strategies

More Related Content

What's hot

Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing StrategiesAdeel Rasheed
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling Benazir Fathima
 
Software Engineering- Types of Testing
Software Engineering- Types of TestingSoftware Engineering- Types of Testing
Software Engineering- Types of TestingTrinity Dwarka
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tacticsPreeti Mishra
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing FundamentalsChankey Pathak
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRupesh Vaishnav
 
Testing strategies part -1
Testing strategies part -1Testing strategies part -1
Testing strategies part -1Divya Tiwari
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 
Function oriented design
Function oriented designFunction oriented design
Function oriented designVidhun T
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 

What's hot (20)

Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Analysis modeling & scenario based modeling
Analysis modeling &  scenario based modeling Analysis modeling &  scenario based modeling
Analysis modeling & scenario based modeling
 
Software Engineering- Types of Testing
Software Engineering- Types of TestingSoftware Engineering- Types of Testing
Software Engineering- Types of Testing
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Black box and white box testing
Black box and white box testingBlack box and white box testing
Black box and white box testing
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Testing strategies part -1
Testing strategies part -1Testing strategies part -1
Testing strategies part -1
 
Unit1
Unit1Unit1
Unit1
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
 
PROTOTYPE MODEL
PROTOTYPE MODELPROTOTYPE MODEL
PROTOTYPE MODEL
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 

Similar to Software Testing Strategies

Module V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdfModule V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdfadhithanr
 
Unit iv-testing-pune-university-sres-coe
Unit iv-testing-pune-university-sres-coeUnit iv-testing-pune-university-sres-coe
Unit iv-testing-pune-university-sres-coeHitesh Mohapatra
 
Software Testing Strategy
Software Testing StrategySoftware Testing Strategy
Software Testing StrategyAjeng Savitri
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Softwaretestingstrategies
SoftwaretestingstrategiesSoftwaretestingstrategies
Softwaretestingstrategiessaieswar19
 
Software testing part
Software testing partSoftware testing part
Software testing partPreeti Mishra
 
Software testing strategies And its types
Software testing  strategies And its typesSoftware testing  strategies And its types
Software testing strategies And its typesMITULJAMANG
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality AssuranceSaqib Raza
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...ShudipPal
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designMaitree Patel
 
Testing throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & ImplementationTesting throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & Implementationyogi syafrialdi
 
Automated testing overview
Automated testing overviewAutomated testing overview
Automated testing overviewAlex Pop
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)ShudipPal
 

Similar to Software Testing Strategies (20)

Module V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdfModule V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdf
 
Unit iv-testing-pune-university-sres-coe
Unit iv-testing-pune-university-sres-coeUnit iv-testing-pune-university-sres-coe
Unit iv-testing-pune-university-sres-coe
 
Software Testing Strategy
Software Testing StrategySoftware Testing Strategy
Software Testing Strategy
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Software Testing.pdf
Software Testing.pdfSoftware Testing.pdf
Software Testing.pdf
 
Softwaretestingstrategies
SoftwaretestingstrategiesSoftwaretestingstrategies
Softwaretestingstrategies
 
Software testing part
Software testing partSoftware testing part
Software testing part
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing strategies And its types
Software testing  strategies And its typesSoftware testing  strategies And its types
Software testing strategies And its types
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 
Testing Technique
Testing TechniqueTesting Technique
Testing Technique
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
ISTQB foundation level - day 2
ISTQB foundation level - day 2ISTQB foundation level - day 2
ISTQB foundation level - day 2
 
6. oose testing
6. oose testing6. oose testing
6. oose testing
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
 
Lecture 21
Lecture 21Lecture 21
Lecture 21
 
Testing throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & ImplementationTesting throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & Implementation
 
Automated testing overview
Automated testing overviewAutomated testing overview
Automated testing overview
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 

Recently uploaded

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 

Recently uploaded (20)

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 

Software Testing Strategies

  • 1. SOFTWARE TESTING STRATEGIES SUBMITTED TO:- SUBMITTED BY:- MR. RAKESH KUMAR ALPANA (171401) ASTT. PROFESSOR ME MODULAR(CSE) COMPUTER SCIENCE & ENGG. E-MAIL:-anshubhaskar93@gmail.com NITTTR CHANDIGARH
  • 2. CONTENTS •Introduction •A strategic approach to testing •Test strategies for conventional software •Test strategies for object-oriented software •Difference between conventional and object- oriented software testing •Reference
  • 3. Introduction • A strategy for software testing integrates the design of software test cases into a well-planned series of steps that result in successful development of the software. • The strategy provides a road map that describes the steps to be taken, when, and how much effort, time, and resources will be required.
  • 4. • The strategy incorporates test planning, test case design, test execution, and test result collection and evaluation. • The strategy provides guidance for the practitioner and a set of milestones for the manager .Because of time pressures, progress must be measurable and problems must surface as early as possible.
  • 5. A STRATEGIC APPROACH TO TESTING • To perform effective testing, a software team should conduct effective formal technical reviews. • Testing begins at the component level and work outward toward the integration of the entire computer based system. • Different testing techniques are appropriate at different points in time. • Testing is conducted by the developer of the software and (for large projects) by an independent test group. • Testing and debugging are different activities, but debugging must be accommodated in any testing strategy.
  • 6. SOFTWARE TESTING STRATEGY • Unit testing – Concentrates on each component/function of the software as implemented in the source code • Integration testing – Focuses on the design and construction of the software architecture • Validation testing – Requirements are validated against the constructed software • System testing – The software and other system elements are tested as a whole
  • 8. TEST STRATEGIES FOR CONVENTIONAL SOFTWARE (1) Unit Testing • Focuses testing on the function or software module • Concentrates on the internal processing logic and data structures • Is simplified when a module is designed with high cohesion • Reduces the number of test cases • Allows errors to be more easily predicted and uncovered • Concentrates on critical modules and those with high cyclomatic complexity when testing resources are limited
  • 9. TARGETS FOR UNIT TEST CASES • Module interface • Ensure that information flows properly into and out of the module • Local data structures • Ensure that data stored temporarily maintains its integrity during all steps in an algorithm execution • Boundary conditions • Ensure that the module operates properly at boundary values established to limit or restrict processing • Independent paths (basis paths) • Paths are exercised to ensure that all statements in a module have been executed at least once • Error handling paths • Ensure that the algorithms respond correctly to specific error
  • 10.
  • 11. DRIVERS AND STUBS FOR UNIT TESTING • 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 • It uses the module’s exact interface, may do minimal data manipulation, provides verification of entry, and returns control to the module undergoing testing • Drivers and stubs both represent overhead • Both must be written but don’t constitute part of the installed software product
  • 12. (2) Integration Testing • Defined as a systematic technique for constructing the software architecture • At the same time integration is occurring, conduct tests to uncover errors associated with interfaces • Objective is to take unit tested modules and build a program structure based on the prescribed design • Two Approaches • Non-incremental Integration Testing • Incremental Integration Testing
  • 13. NON-INCREMENTAL INTEGRATION TESTING • Commonly called the “Big Bang” approach • All components are combined in advance • The entire program is tested as a whole • Chaos results • Many seemingly-unrelated errors are encountered • Correction is difficult because isolation of causes is complicated • Once a set of errors are corrected, more errors occur, and testing appears to enter an endless loop
  • 14. INCREMENTAL INTEGRATION TESTING • Three kinds • Top-down integration • Bottom-up integration • Sandwich integration • The program is constructed and tested in small increments. • Errors are easier to isolate and correct. • Interfaces are more likely to be tested completely. • A systematic test approach is applied.
  • 15. OBJECT-ORIENTED TESTING STRATEGIES (1) Unit Testing • Smallest testable unit is the encapsulated class or object • Test each operation as part of a class hierarchy because its class hierarchy defines its context of use • Driven by class operations and state behavior, not algorithmic detail and data flow across module interface • Approach: Test each method (and constructor) within a class Test the state behavior (attributes) of the class between methods
  • 16. CONTD… • Complete test coverage of a class involves Testing all operations Setting and interrogating all object attributes Exercising the object in all possible state . • Test sequences are designed to ensure that relevant operations are exercised . • State of the class is examined to determine if errors exist .
  • 17. CONTD… • How is class testing different from conventional testing? • Conventional testing focuses on input- process-output, whereas class testing focuses on each method, then designing sequences of methods to exercise states of a class. • But white-box testing can still be applied .
  • 18. CONTD… (2) Integration Testing • OO does not have a hierarchical control structure so conventional top- down and bottom-up integration tests have little meaning . • Focuses on groups of classes that collaborate in some manner. • Integration of operations one at a time into a class is often meaningless Because of direct and indirect interaction of components .
  • 19. CONTD… • Thread-based testing Testing/integrate the set of classes required to respond to one input or event • Cluster testing Groups of collaborating classes are tested for interaction errors • Regression testing is important as each thread, cluster or subsystem is added to the system
  • 20. CONTD… (3)Validation Testing • Are we building the right product? • Validation succeeds when software functions in a manner that can be reasonably expected by the customer. • Focuses on visible user actions and user recognizable outputs • Validation tests are based on the use-case scenarios, the object behavior model, and the event flow diagram
  • 21. CONTD… • Apply: • Use-case scenarios from the software requirements spec • Black-box testing to create a deficiency list • Acceptance tests through alpha (at developer’s site) and beta (at customer’s site) testing with actual customers
  • 22. CONTD… • Software may be part of a larger system. • This often leads to “finger pointing” by other system dev teams Finger pointing defence: • 1. Design error-handling paths that test external information • 2. Conduct a series of tests that simulate bad data • 3. Record the results of tests to use as evidence
  • 23. CONTD… (4)System Testing • Types of System Testing: • Recovery testing: how well and quickly does the system recover from faults. • Security testing: verify that protection mechanisms built into the system will protect from unauthorized access (hackers, disgruntled employees, fraudsters). • Stress testing: place abnormal load on the system . • Performance testing: investigate the run-time performance within the context of an integrated system .
  • 24. DIFFERENCE BETWEEN CONVENTIONAL AND OBJECT ORIENTED TESTING Conventional testing • Conventional testing is the traditional approach to testing mostly done when water fall life cycle is used for development. • Conventional testing focuses more on decomposition and functional approaches. Object oriented testing • Object oriented testing is used when object oriented analysis and design is used for developing enterprise software. • Object oriented testing, uses composition.
  • 25. Conventional testing • The three levels of testing (system, integration, unit) used in conventional testing. • Traditional development follows a sequential approach. • Needs to large duration sometimes to development the large projects. • Uses common processes likes: analysis, design, implementation, and testing Object oriented testing • not clearly defined when it comes to object oriented testing. • OO development uses incremental approach. • Need to more time than Traditional approach and leads that to more cost. • Uses UML notations likes: use case, class diagram, communication diagram, development diagram and sequence diagram.
  • 26. REFERENCES • Pressman, R. Software Engineering: A Practitioner’s Approach. McGraw- Hill)