SlideShare a Scribd company logo
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
Software Testing Strategies
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
Ad

More Related Content

What's hot (20)

Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
Chankey Pathak
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
Webtech Learning
 
Black box and white box testing
Black box and white box testingBlack box and white box testing
Black box and white box testing
AWADHESH PRATAP SINGH UNIVERSITY, REWA (M.P.)
 
Integration testing
Integration testingIntegration testing
Integration testing
queen jemila
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
SHREEHARI WADAWADAGI
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
Prachi Sasankar
 
Unit Testing vs Integration Testing
Unit Testing vs Integration TestingUnit Testing vs Integration Testing
Unit Testing vs Integration Testing
Rock Interview
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
Inocentshuja Ahmad
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
ShudipPal
 
Types of testing
Types of testingTypes of testing
Types of testing
Sonam Agarwal
 
STLC (Software Testing Life Cycle)
STLC (Software Testing Life Cycle)STLC (Software Testing Life Cycle)
STLC (Software Testing Life Cycle)
Ch Fahadi
 
Operating system components
Operating system componentsOperating system components
Operating system components
Syed Zaid Irshad
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software Engineering
Kourosh Sajjadi
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
Charotar University Of Science And Technology,Gujrat
 
Validation testing
Validation testingValidation testing
Validation testing
Slideshare
 
Software engineering unit 1
Software engineering unit 1Software engineering unit 1
Software engineering unit 1
gondwana university
 
Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating system
Prankit Mishra
 
Testing
TestingTesting
Testing
Sonali Chauhan
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Saqib Raza
 
Hci activity#3
Hci activity#3Hci activity#3
Hci activity#3
Desalegn Aweke
 

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
adhithanr
 
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
Hitesh Mohapatra
 
Software Testing Strategy
Software Testing StrategySoftware Testing Strategy
Software Testing Strategy
Ajeng Savitri
 
Testing strategies part -1
Testing strategies part -1Testing strategies part -1
Testing strategies part -1
Divya Tiwari
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
Preeti Mishra
 
Unit 4 chapter 22 - testing strategies.ppt
Unit 4 chapter 22 - testing strategies.pptUnit 4 chapter 22 - testing strategies.ppt
Unit 4 chapter 22 - testing strategies.ppt
RajaShekar963644
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Software Testing.pdf
Software Testing.pdfSoftware Testing.pdf
Software Testing.pdf
ManojKumar533913
 
Softwaretestingstrategies
SoftwaretestingstrategiesSoftwaretestingstrategies
Softwaretestingstrategies
saieswar19
 
Software testing part
Software testing partSoftware testing part
Software testing part
Preeti Mishra
 
Software testing
Software testingSoftware testing
Software testing
Preeti Mishra
 
Software testing strategies And its types
Software testing  strategies And its typesSoftware testing  strategies And its types
Software testing strategies And its types
MITULJAMANG
 
S.E Unit 6colorcolorcolorcolorcolorcolor.pptx
S.E Unit 6colorcolorcolorcolorcolorcolor.pptxS.E Unit 6colorcolorcolorcolorcolorcolor.pptx
S.E Unit 6colorcolorcolorcolorcolorcolor.pptx
SsdSsd5
 
Software testing lecture software engineering
Software testing lecture software engineeringSoftware testing lecture software engineering
Software testing lecture software engineering
aabd9934
 
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
 
Testing Technique
Testing TechniqueTesting Technique
Testing Technique
Ajeng Savitri
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
Raviteja Chowdary Adusumalli
 
ISTQB foundation level - day 2
ISTQB foundation level - day 2ISTQB foundation level - day 2
ISTQB foundation level - day 2
Shuchi Singla AKT,SPC4,PMI-ACP,ITIL(F),CP-AAT
 
6. oose testing
6. oose testing6. oose testing
6. oose testing
Ashenafi Workie
 
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
Maitree Patel
 
Module V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdfModule V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdf
adhithanr
 
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
Hitesh Mohapatra
 
Software Testing Strategy
Software Testing StrategySoftware Testing Strategy
Software Testing Strategy
Ajeng Savitri
 
Testing strategies part -1
Testing strategies part -1Testing strategies part -1
Testing strategies part -1
Divya Tiwari
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
Preeti Mishra
 
Unit 4 chapter 22 - testing strategies.ppt
Unit 4 chapter 22 - testing strategies.pptUnit 4 chapter 22 - testing strategies.ppt
Unit 4 chapter 22 - testing strategies.ppt
RajaShekar963644
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Softwaretestingstrategies
SoftwaretestingstrategiesSoftwaretestingstrategies
Softwaretestingstrategies
saieswar19
 
Software testing part
Software testing partSoftware testing part
Software testing part
Preeti Mishra
 
Software testing strategies And its types
Software testing  strategies And its typesSoftware testing  strategies And its types
Software testing strategies And its types
MITULJAMANG
 
S.E Unit 6colorcolorcolorcolorcolorcolor.pptx
S.E Unit 6colorcolorcolorcolorcolorcolor.pptxS.E Unit 6colorcolorcolorcolorcolorcolor.pptx
S.E Unit 6colorcolorcolorcolorcolorcolor.pptx
SsdSsd5
 
Software testing lecture software engineering
Software testing lecture software engineeringSoftware testing lecture software engineering
Software testing lecture software engineering
aabd9934
 
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 design
Maitree Patel
 
Ad

Recently uploaded (20)

Medical Device Cybersecurity Threat & Risk Scoring
Medical Device Cybersecurity Threat & Risk ScoringMedical Device Cybersecurity Threat & Risk Scoring
Medical Device Cybersecurity Threat & Risk Scoring
ICS
 
The Elixir Developer - All Things Open
The Elixir Developer - All Things OpenThe Elixir Developer - All Things Open
The Elixir Developer - All Things Open
Carlo Gilmar Padilla Santana
 
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
Ranking Google
 
Download MathType Crack Version 2025???
Download MathType Crack  Version 2025???Download MathType Crack  Version 2025???
Download MathType Crack Version 2025???
Google
 
Reinventing Microservices Efficiency and Innovation with Single-Runtime
Reinventing Microservices Efficiency and Innovation with Single-RuntimeReinventing Microservices Efficiency and Innovation with Single-Runtime
Reinventing Microservices Efficiency and Innovation with Single-Runtime
Natan Silnitsky
 
A Comprehensive Guide to CRM Software Benefits for Every Business Stage
A Comprehensive Guide to CRM Software Benefits for Every Business StageA Comprehensive Guide to CRM Software Benefits for Every Business Stage
A Comprehensive Guide to CRM Software Benefits for Every Business Stage
SynapseIndia
 
Mobile Application Developer Dubai | Custom App Solutions by Ajath
Mobile Application Developer Dubai | Custom App Solutions by AjathMobile Application Developer Dubai | Custom App Solutions by Ajath
Mobile Application Developer Dubai | Custom App Solutions by Ajath
Ajath Infotech Technologies LLC
 
Best HR and Payroll Software in Bangladesh - accordHRM
Best HR and Payroll Software in Bangladesh - accordHRMBest HR and Payroll Software in Bangladesh - accordHRM
Best HR and Payroll Software in Bangladesh - accordHRM
accordHRM
 
Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??
Web Designer
 
Buy vs. Build: Unlocking the right path for your training tech
Buy vs. Build: Unlocking the right path for your training techBuy vs. Build: Unlocking the right path for your training tech
Buy vs. Build: Unlocking the right path for your training tech
Rustici Software
 
wAIred_LearnWithOutAI_JCON_14052025.pptx
wAIred_LearnWithOutAI_JCON_14052025.pptxwAIred_LearnWithOutAI_JCON_14052025.pptx
wAIred_LearnWithOutAI_JCON_14052025.pptx
SimonedeGijt
 
Deploying & Testing Agentforce - End-to-end with Copado - Ewenb Clark
Deploying & Testing Agentforce - End-to-end with Copado - Ewenb ClarkDeploying & Testing Agentforce - End-to-end with Copado - Ewenb Clark
Deploying & Testing Agentforce - End-to-end with Copado - Ewenb Clark
Peter Caitens
 
How to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryErrorHow to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryError
Tier1 app
 
Do not let staffing shortages and limited fiscal view hamper your cause
Do not let staffing shortages and limited fiscal view hamper your causeDo not let staffing shortages and limited fiscal view hamper your cause
Do not let staffing shortages and limited fiscal view hamper your cause
Fexle Services Pvt. Ltd.
 
[gbgcpp] Let's get comfortable with concepts
[gbgcpp] Let's get comfortable with concepts[gbgcpp] Let's get comfortable with concepts
[gbgcpp] Let's get comfortable with concepts
Dimitrios Platis
 
Beyond the code. Complexity - 2025.05 - SwiftCraft
Beyond the code. Complexity - 2025.05 - SwiftCraftBeyond the code. Complexity - 2025.05 - SwiftCraft
Beyond the code. Complexity - 2025.05 - SwiftCraft
Dmitrii Ivanov
 
Wilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For WindowsWilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For Windows
Google
 
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World ExamplesMastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
jamescantor38
 
From Vibe Coding to Vibe Testing - Complete PowerPoint Presentation
From Vibe Coding to Vibe Testing - Complete PowerPoint PresentationFrom Vibe Coding to Vibe Testing - Complete PowerPoint Presentation
From Vibe Coding to Vibe Testing - Complete PowerPoint Presentation
Shay Ginsbourg
 
Top Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdf
Top Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdfTop Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdf
Top Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdf
evrigsolution
 
Medical Device Cybersecurity Threat & Risk Scoring
Medical Device Cybersecurity Threat & Risk ScoringMedical Device Cybersecurity Threat & Risk Scoring
Medical Device Cybersecurity Threat & Risk Scoring
ICS
 
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
!%& IDM Crack with Internet Download Manager 6.42 Build 32 >
Ranking Google
 
Download MathType Crack Version 2025???
Download MathType Crack  Version 2025???Download MathType Crack  Version 2025???
Download MathType Crack Version 2025???
Google
 
Reinventing Microservices Efficiency and Innovation with Single-Runtime
Reinventing Microservices Efficiency and Innovation with Single-RuntimeReinventing Microservices Efficiency and Innovation with Single-Runtime
Reinventing Microservices Efficiency and Innovation with Single-Runtime
Natan Silnitsky
 
A Comprehensive Guide to CRM Software Benefits for Every Business Stage
A Comprehensive Guide to CRM Software Benefits for Every Business StageA Comprehensive Guide to CRM Software Benefits for Every Business Stage
A Comprehensive Guide to CRM Software Benefits for Every Business Stage
SynapseIndia
 
Mobile Application Developer Dubai | Custom App Solutions by Ajath
Mobile Application Developer Dubai | Custom App Solutions by AjathMobile Application Developer Dubai | Custom App Solutions by Ajath
Mobile Application Developer Dubai | Custom App Solutions by Ajath
Ajath Infotech Technologies LLC
 
Best HR and Payroll Software in Bangladesh - accordHRM
Best HR and Payroll Software in Bangladesh - accordHRMBest HR and Payroll Software in Bangladesh - accordHRM
Best HR and Payroll Software in Bangladesh - accordHRM
accordHRM
 
Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??
Web Designer
 
Buy vs. Build: Unlocking the right path for your training tech
Buy vs. Build: Unlocking the right path for your training techBuy vs. Build: Unlocking the right path for your training tech
Buy vs. Build: Unlocking the right path for your training tech
Rustici Software
 
wAIred_LearnWithOutAI_JCON_14052025.pptx
wAIred_LearnWithOutAI_JCON_14052025.pptxwAIred_LearnWithOutAI_JCON_14052025.pptx
wAIred_LearnWithOutAI_JCON_14052025.pptx
SimonedeGijt
 
Deploying & Testing Agentforce - End-to-end with Copado - Ewenb Clark
Deploying & Testing Agentforce - End-to-end with Copado - Ewenb ClarkDeploying & Testing Agentforce - End-to-end with Copado - Ewenb Clark
Deploying & Testing Agentforce - End-to-end with Copado - Ewenb Clark
Peter Caitens
 
How to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryErrorHow to Troubleshoot 9 Types of OutOfMemoryError
How to Troubleshoot 9 Types of OutOfMemoryError
Tier1 app
 
Do not let staffing shortages and limited fiscal view hamper your cause
Do not let staffing shortages and limited fiscal view hamper your causeDo not let staffing shortages and limited fiscal view hamper your cause
Do not let staffing shortages and limited fiscal view hamper your cause
Fexle Services Pvt. Ltd.
 
[gbgcpp] Let's get comfortable with concepts
[gbgcpp] Let's get comfortable with concepts[gbgcpp] Let's get comfortable with concepts
[gbgcpp] Let's get comfortable with concepts
Dimitrios Platis
 
Beyond the code. Complexity - 2025.05 - SwiftCraft
Beyond the code. Complexity - 2025.05 - SwiftCraftBeyond the code. Complexity - 2025.05 - SwiftCraft
Beyond the code. Complexity - 2025.05 - SwiftCraft
Dmitrii Ivanov
 
Wilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For WindowsWilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For Windows
Google
 
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World ExamplesMastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
jamescantor38
 
From Vibe Coding to Vibe Testing - Complete PowerPoint Presentation
From Vibe Coding to Vibe Testing - Complete PowerPoint PresentationFrom Vibe Coding to Vibe Testing - Complete PowerPoint Presentation
From Vibe Coding to Vibe Testing - Complete PowerPoint Presentation
Shay Ginsbourg
 
Top Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdf
Top Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdfTop Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdf
Top Magento Hyvä Theme Features That Make It Ideal for E-commerce.pdf
evrigsolution
 
Ad

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
  • 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)
  翻译: