SlideShare a Scribd company logo
Software Testing Strategies
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
Verification and Validation
• Verification (Are the algorithms coded correctly?)
– The set of activities that ensure that software correctly
implements a specific function or algorithm
• Validation (Does it meet user requirements?)
– The set of activities that ensure that the software that has
been built is traceable to customer requirements.
• Verification: “Are we building the product right?”
• Validation: “Are we building the right product?”
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
Unit testing :
• Focuses testing on the function or software
module
• Concentrates on the internal processing logic and
data structures
• Concentrates on modules and those with high
cyclomatic complexity when testing resources are
limited.
Unit testing
Unit testing considerations
• 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 conditions
Unit test procedures
• 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
Unit-test environment
Integration testing
• Defined as a systematic technique for constructing the
software architecture
• Objective is to take unit tested modules and build a program
structure based on the prescribed design
• TwoApproaches
– Non-incremental Integration Testing
– Incremental Integration Testing
Non-incremental Integration Testing
• Uses “Big Bang” approach
• All components are combined in advance
• The entire program is tested as a whole results
• Correction is difficult because isolation of causes is
complicated
Incremental Integration Testing
• 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
• Different incremental integration strategies
– Top-down integration
– Bottom-up integration
– Regression testing
– Smoke testing
Top-down Integration
• Modules are integrated by moving downward through the
control hierarchy, beginning with the main module
• Subordinate modules are incorporated in two ways :
– depth-first : All modules on a major control path are
integrated
– breadth-first : All modules directly subordinate at each
level are integrated
• Advantages
– This approach verifies major control or decision points
early in the test process
• Disadvantages
– Stubs need to be created to substitute for modules that
have not been built or tested yet; this code is later
discarded
Bottom-up Integration
• Integration and testing starts with the most atomic
modules in the control hierarchy
• Advantages
– This approach verifies low-level data processing
early in the testing process
– Need for stubs is eliminated
• Disadvantages
– Driver modules need to be built to test the lower-
level modules; this code is later discarded or
expanded into a full-featured version
Regression Testing
• Each new addition or modification of data may cause
problems with functions that previously worked flawlessly
• Regression testing re-executes a small subset of tests that
have
already been conducted
– Ensures that changes have not propagated unintended
side effects
– Helps to ensure that changes do not introduce
unintended behavior or additional errors
• Regression test suite contains three different classes
of test cases
– A representative sample of tests that will exercise all
software functions
– Additional tests that focus on software functions that
are likely to be affected by the change
– Tests that focus on the actual software components
that have been changed
Smoke testing
• Designedfor time-critical projects– Allows the
software team to assess its project on a frequent
basis
• Includes the following activities
– The software components that have been translated
into code and linked into a build
– A series of breadth tests is designed to expose
errors that will keep the build from properly
performing its function
– The build is integrated with other builds and the
entire product is smoke tested daily
• Integration risk is minimized
– Daily testing uncovers incompatibilities and show-
stoppers early in the testing process, thereby
reducing schedule impact
• The quality of the end-product is improved
– Smoke testing is likely to uncover both
functional errors and architectural and
component-level design errors
• Error diagnosis and correction are simplified
– Smoke testing will probably uncover errors in
the newest components that were integrated
• Progress is easier to assess
– As integration testing progresses, more software
has been integrated and more has been
demonstrated to work
– Managers get a good indication that progress is
Benefits of Smoke Testing
THANKYOU
Ad

More Related Content

What's hot (20)

Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
janani thirupathi
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Hassan A-j
 
White Box Testing
White Box Testing White Box Testing
White Box Testing
MariamKhan120
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
Drishti Bhalla
 
System testing
System testingSystem testing
System testing
KarthigaGunasekaran1
 
Compiler design error handling
Compiler design error handlingCompiler design error handling
Compiler design error handling
RohitK71
 
unit testing and debugging
unit testing and debuggingunit testing and debugging
unit testing and debugging
KarthigaGunasekaran1
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Aman Adhikari
 
SOFTWARE PROJECT PLANNING on Software Engineering
SOFTWARE PROJECT PLANNING on Software EngineeringSOFTWARE PROJECT PLANNING on Software Engineering
SOFTWARE PROJECT PLANNING on Software Engineering
work90665
 
Algorithmic Software Cost Modeling
Algorithmic Software Cost ModelingAlgorithmic Software Cost Modeling
Algorithmic Software Cost Modeling
Kasun Ranga Wijeweera
 
Regression testing
Regression testingRegression testing
Regression testing
gokilabrindha
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
Dr. C.V. Suresh Babu
 
Code optimization
Code optimizationCode optimization
Code optimization
veena venugopal
 
Coding and testing in Software Engineering
Coding and testing in Software EngineeringCoding and testing in Software Engineering
Coding and testing in Software Engineering
Abhay Vijay
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
JAINAM KAPADIYA
 
Slice Based testing and Object Oriented Testing
Slice Based testing and Object Oriented TestingSlice Based testing and Object Oriented Testing
Slice Based testing and Object Oriented Testing
varsha sharma
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
REHMAT ULLAH
 
Network Layer design Issues.pptx
Network Layer design Issues.pptxNetwork Layer design Issues.pptx
Network Layer design Issues.pptx
Acad
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
koolkampus
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
swatisinghal
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Hassan A-j
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
Drishti Bhalla
 
Compiler design error handling
Compiler design error handlingCompiler design error handling
Compiler design error handling
RohitK71
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Aman Adhikari
 
SOFTWARE PROJECT PLANNING on Software Engineering
SOFTWARE PROJECT PLANNING on Software EngineeringSOFTWARE PROJECT PLANNING on Software Engineering
SOFTWARE PROJECT PLANNING on Software Engineering
work90665
 
Coding and testing in Software Engineering
Coding and testing in Software EngineeringCoding and testing in Software Engineering
Coding and testing in Software Engineering
Abhay Vijay
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
JAINAM KAPADIYA
 
Slice Based testing and Object Oriented Testing
Slice Based testing and Object Oriented TestingSlice Based testing and Object Oriented Testing
Slice Based testing and Object Oriented Testing
varsha sharma
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
REHMAT ULLAH
 
Network Layer design Issues.pptx
Network Layer design Issues.pptxNetwork Layer design Issues.pptx
Network Layer design Issues.pptx
Acad
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
koolkampus
 

Similar to Software testing strategies And its types (20)

Testing strategies part -1
Testing strategies part -1Testing strategies part -1
Testing strategies part -1
Divya Tiwari
 
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
 
Softwaretestingstrategies
SoftwaretestingstrategiesSoftwaretestingstrategies
Softwaretestingstrategies
saieswar19
 
Software Testing.pdf
Software Testing.pdfSoftware Testing.pdf
Software Testing.pdf
ManojKumar533913
 
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 Strategies ,Validation Testing and System Testing.
Software Testing Strategies ,Validation Testing and System Testing.Software Testing Strategies ,Validation Testing and System Testing.
Software Testing Strategies ,Validation Testing and System Testing.
Tanzeem Aslam
 
Module V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdfModule V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdf
adhithanr
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
Preeti Mishra
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
SHREEHARI WADAWADAGI
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Software testing
Software testingSoftware testing
Software testing
Preeti Mishra
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
Alpana Bhaskar
 
Software Testing Strategy
Software Testing StrategySoftware Testing Strategy
Software Testing Strategy
Ajeng Savitri
 
Lec25
Lec25Lec25
Lec25
Omkar Gupta
 
Softwareengineering-5-3-Testing_conven_softw.pptx
Softwareengineering-5-3-Testing_conven_softw.pptxSoftwareengineering-5-3-Testing_conven_softw.pptx
Softwareengineering-5-3-Testing_conven_softw.pptx
rnscreation20
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
MinsasWorld
 
Software testing lecture software engineering
Software testing lecture software engineeringSoftware testing lecture software engineering
Software testing lecture software engineering
aabd9934
 
sst ppt.pptx
sst ppt.pptxsst ppt.pptx
sst ppt.pptx
PRIANKA R
 
Automated testing overview
Automated testing overviewAutomated testing overview
Automated testing overview
Alex Pop
 
Testing strategies part -1
Testing strategies part -1Testing strategies part -1
Testing strategies part -1
Divya Tiwari
 
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
 
Softwaretestingstrategies
SoftwaretestingstrategiesSoftwaretestingstrategies
Softwaretestingstrategies
saieswar19
 
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 Strategies ,Validation Testing and System Testing.
Software Testing Strategies ,Validation Testing and System Testing.Software Testing Strategies ,Validation Testing and System Testing.
Software Testing Strategies ,Validation Testing and System Testing.
Tanzeem Aslam
 
Module V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdfModule V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdf
adhithanr
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
Preeti Mishra
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
SHREEHARI WADAWADAGI
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
Alpana Bhaskar
 
Software Testing Strategy
Software Testing StrategySoftware Testing Strategy
Software Testing Strategy
Ajeng Savitri
 
Softwareengineering-5-3-Testing_conven_softw.pptx
Softwareengineering-5-3-Testing_conven_softw.pptxSoftwareengineering-5-3-Testing_conven_softw.pptx
Softwareengineering-5-3-Testing_conven_softw.pptx
rnscreation20
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
MinsasWorld
 
Software testing lecture software engineering
Software testing lecture software engineeringSoftware testing lecture software engineering
Software testing lecture software engineering
aabd9934
 
sst ppt.pptx
sst ppt.pptxsst ppt.pptx
sst ppt.pptx
PRIANKA R
 
Automated testing overview
Automated testing overviewAutomated testing overview
Automated testing overview
Alex Pop
 
Ad

Recently uploaded (20)

Water Industry Process Automation & Control Monthly May 2025
Water Industry Process Automation & Control Monthly May 2025Water Industry Process Automation & Control Monthly May 2025
Water Industry Process Automation & Control Monthly May 2025
Water Industry Process Automation & Control
 
DED KOMINFO detail engginering design gedung
DED KOMINFO detail engginering design gedungDED KOMINFO detail engginering design gedung
DED KOMINFO detail engginering design gedung
nabilarizqifadhilah1
 
Slide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptxSlide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptx
vvsasane
 
Frontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend EngineersFrontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend Engineers
Michael Hertzberg
 
2.3 Genetically Modified Organisms (1).ppt
2.3 Genetically Modified Organisms (1).ppt2.3 Genetically Modified Organisms (1).ppt
2.3 Genetically Modified Organisms (1).ppt
rakshaiya16
 
Slide share PPT of NOx control technologies.pptx
Slide share PPT of  NOx control technologies.pptxSlide share PPT of  NOx control technologies.pptx
Slide share PPT of NOx control technologies.pptx
vvsasane
 
David Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry - Specializes In AWS, Microservices And Python.pdfDavid Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry
 
introduction technology technology tec.pptx
introduction technology technology tec.pptxintroduction technology technology tec.pptx
introduction technology technology tec.pptx
Iftikhar70
 
Personal Protective Efsgfgsffquipment.ppt
Personal Protective Efsgfgsffquipment.pptPersonal Protective Efsgfgsffquipment.ppt
Personal Protective Efsgfgsffquipment.ppt
ganjangbegu579
 
Smart City is the Future EN - 2024 Thailand Modify V1.0.pdf
Smart City is the Future EN - 2024 Thailand Modify V1.0.pdfSmart City is the Future EN - 2024 Thailand Modify V1.0.pdf
Smart City is the Future EN - 2024 Thailand Modify V1.0.pdf
PawachMetharattanara
 
Transport modelling at SBB, presentation at EPFL in 2025
Transport modelling at SBB, presentation at EPFL in 2025Transport modelling at SBB, presentation at EPFL in 2025
Transport modelling at SBB, presentation at EPFL in 2025
Antonin Danalet
 
Modelling of Concrete Compressive Strength Admixed with GGBFS Using Gene Expr...
Modelling of Concrete Compressive Strength Admixed with GGBFS Using Gene Expr...Modelling of Concrete Compressive Strength Admixed with GGBFS Using Gene Expr...
Modelling of Concrete Compressive Strength Admixed with GGBFS Using Gene Expr...
Journal of Soft Computing in Civil Engineering
 
Prediction of Flexural Strength of Concrete Produced by Using Pozzolanic Mate...
Prediction of Flexural Strength of Concrete Produced by Using Pozzolanic Mate...Prediction of Flexural Strength of Concrete Produced by Using Pozzolanic Mate...
Prediction of Flexural Strength of Concrete Produced by Using Pozzolanic Mate...
Journal of Soft Computing in Civil Engineering
 
Uses of drones in civil construction.pdf
Uses of drones in civil construction.pdfUses of drones in civil construction.pdf
Uses of drones in civil construction.pdf
surajsen1729
 
Agents chapter of Artificial intelligence
Agents chapter of Artificial intelligenceAgents chapter of Artificial intelligence
Agents chapter of Artificial intelligence
DebdeepMukherjee9
 
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
AI Publications
 
Machine Learning basics POWERPOINT PRESENETATION
Machine Learning basics POWERPOINT PRESENETATIONMachine Learning basics POWERPOINT PRESENETATION
Machine Learning basics POWERPOINT PRESENETATION
DarrinBright1
 
Machine foundation notes for civil engineering students
Machine foundation notes for civil engineering studentsMachine foundation notes for civil engineering students
Machine foundation notes for civil engineering students
DYPCET
 
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
ajayrm685
 
Modeling the Influence of Environmental Factors on Concrete Evaporation Rate
Modeling the Influence of Environmental Factors on Concrete Evaporation RateModeling the Influence of Environmental Factors on Concrete Evaporation Rate
Modeling the Influence of Environmental Factors on Concrete Evaporation Rate
Journal of Soft Computing in Civil Engineering
 
DED KOMINFO detail engginering design gedung
DED KOMINFO detail engginering design gedungDED KOMINFO detail engginering design gedung
DED KOMINFO detail engginering design gedung
nabilarizqifadhilah1
 
Slide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptxSlide share PPT of SOx control technologies.pptx
Slide share PPT of SOx control technologies.pptx
vvsasane
 
Frontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend EngineersFrontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend Engineers
Michael Hertzberg
 
2.3 Genetically Modified Organisms (1).ppt
2.3 Genetically Modified Organisms (1).ppt2.3 Genetically Modified Organisms (1).ppt
2.3 Genetically Modified Organisms (1).ppt
rakshaiya16
 
Slide share PPT of NOx control technologies.pptx
Slide share PPT of  NOx control technologies.pptxSlide share PPT of  NOx control technologies.pptx
Slide share PPT of NOx control technologies.pptx
vvsasane
 
David Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry - Specializes In AWS, Microservices And Python.pdfDavid Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry
 
introduction technology technology tec.pptx
introduction technology technology tec.pptxintroduction technology technology tec.pptx
introduction technology technology tec.pptx
Iftikhar70
 
Personal Protective Efsgfgsffquipment.ppt
Personal Protective Efsgfgsffquipment.pptPersonal Protective Efsgfgsffquipment.ppt
Personal Protective Efsgfgsffquipment.ppt
ganjangbegu579
 
Smart City is the Future EN - 2024 Thailand Modify V1.0.pdf
Smart City is the Future EN - 2024 Thailand Modify V1.0.pdfSmart City is the Future EN - 2024 Thailand Modify V1.0.pdf
Smart City is the Future EN - 2024 Thailand Modify V1.0.pdf
PawachMetharattanara
 
Transport modelling at SBB, presentation at EPFL in 2025
Transport modelling at SBB, presentation at EPFL in 2025Transport modelling at SBB, presentation at EPFL in 2025
Transport modelling at SBB, presentation at EPFL in 2025
Antonin Danalet
 
Uses of drones in civil construction.pdf
Uses of drones in civil construction.pdfUses of drones in civil construction.pdf
Uses of drones in civil construction.pdf
surajsen1729
 
Agents chapter of Artificial intelligence
Agents chapter of Artificial intelligenceAgents chapter of Artificial intelligence
Agents chapter of Artificial intelligence
DebdeepMukherjee9
 
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
AI Publications
 
Machine Learning basics POWERPOINT PRESENETATION
Machine Learning basics POWERPOINT PRESENETATIONMachine Learning basics POWERPOINT PRESENETATION
Machine Learning basics POWERPOINT PRESENETATION
DarrinBright1
 
Machine foundation notes for civil engineering students
Machine foundation notes for civil engineering studentsMachine foundation notes for civil engineering students
Machine foundation notes for civil engineering students
DYPCET
 
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
ajayrm685
 
Ad

Software testing strategies And its types

  • 2. 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
  • 3. Verification and Validation • Verification (Are the algorithms coded correctly?) – The set of activities that ensure that software correctly implements a specific function or algorithm • Validation (Does it meet user requirements?) – The set of activities that ensure that the software that has been built is traceable to customer requirements. • Verification: “Are we building the product right?” • Validation: “Are we building the right product?”
  • 4. 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
  • 6. Test Strategies for Conventional Software Unit testing : • Focuses testing on the function or software module • Concentrates on the internal processing logic and data structures • Concentrates on modules and those with high cyclomatic complexity when testing resources are limited.
  • 8. Unit testing considerations • 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 conditions
  • 9. Unit test procedures • 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
  • 11. Integration testing • Defined as a systematic technique for constructing the software architecture • Objective is to take unit tested modules and build a program structure based on the prescribed design • TwoApproaches – Non-incremental Integration Testing – Incremental Integration Testing
  • 12. Non-incremental Integration Testing • Uses “Big Bang” approach • All components are combined in advance • The entire program is tested as a whole results • Correction is difficult because isolation of causes is complicated
  • 13. Incremental Integration Testing • 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 • Different incremental integration strategies – Top-down integration – Bottom-up integration – Regression testing – Smoke testing
  • 14. Top-down Integration • Modules are integrated by moving downward through the control hierarchy, beginning with the main module • Subordinate modules are incorporated in two ways : – depth-first : All modules on a major control path are integrated – breadth-first : All modules directly subordinate at each level are integrated • Advantages – This approach verifies major control or decision points early in the test process • Disadvantages – Stubs need to be created to substitute for modules that have not been built or tested yet; this code is later discarded
  • 15. Bottom-up Integration • Integration and testing starts with the most atomic modules in the control hierarchy • Advantages – This approach verifies low-level data processing early in the testing process – Need for stubs is eliminated • Disadvantages – Driver modules need to be built to test the lower- level modules; this code is later discarded or expanded into a full-featured version
  • 16. Regression Testing • Each new addition or modification of data may cause problems with functions that previously worked flawlessly • Regression testing re-executes a small subset of tests that have already been conducted – Ensures that changes have not propagated unintended side effects – Helps to ensure that changes do not introduce unintended behavior or additional errors • Regression test suite contains three different classes of test cases – A representative sample of tests that will exercise all software functions – Additional tests that focus on software functions that are likely to be affected by the change – Tests that focus on the actual software components that have been changed
  • 17. Smoke testing • Designedfor time-critical projects– Allows the software team to assess its project on a frequent basis • Includes the following activities – The software components that have been translated into code and linked into a build – A series of breadth tests is designed to expose errors that will keep the build from properly performing its function – The build is integrated with other builds and the entire product is smoke tested daily
  • 18. • Integration risk is minimized – Daily testing uncovers incompatibilities and show- stoppers early in the testing process, thereby reducing schedule impact • The quality of the end-product is improved – Smoke testing is likely to uncover both functional errors and architectural and component-level design errors • Error diagnosis and correction are simplified – Smoke testing will probably uncover errors in the newest components that were integrated • Progress is easier to assess – As integration testing progresses, more software has been integrated and more has been demonstrated to work – Managers get a good indication that progress is Benefits of Smoke Testing
  翻译: