SlideShare a Scribd company logo
1
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
2
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 (disorder/confusion) 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
3
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
4
Top-down Integration
• Modules are integrated by moving downward through the control hierarchy, beginning with the
main module
• Subordinate modules are incorporated in either a depth-first or breadth-first fashion
• DF: All modules on a major control path are integrated
• BF: 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
• Because stubs are used to replace lower level modules, no significant data flow can occur until much
later in the integration/testing process
5
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
• Drivers inherently do not contain the complete algorithms that will eventually use the services of the
lower-level modules; consequently, testing may be incomplete or more testing may be needed later
when the upper level modules are available
6
Sandwich Integration
• Consists of a combination of both top-down and bottom-up integration
• Occurs both at the highest level modules and also at the lowest level modules
• Proceeds using functional groups of modules, with each group completed before the next
• High and low-level modules are grouped based on the control and data processing they provide for a
specific program feature
• Integration within the group progresses in alternating steps between the high and low level modules of
the group
• When integration for a certain functional group is complete, integration and testing moves onto the
next group
• Reaps the advantages of both types of integration while minimizing the need for drivers and stubs
• Requires a disciplined approach so that integration doesn’t tend towards the “big bang” scenario
7
Regression Testing
• Each new addition or change to baselined software 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
• May be done manually or through the use of automated capture/playback tools
• 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
8
Smoke Testing
• Taken from the world of hardware
• Power is applied and a technician checks for sparks, smoke, or other dramatic
signs of fundamental failure
• Designed as a pacing mechanism for time-critical projects
• Allows the software team to assess its project on a frequent basis
• Includes the following activities
• The software is compiled 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 goal is to uncover “show stopper” errors that have the highest likelihood of
throwing the software project behind schedule
• The build is integrated with other builds and the entire product is smoke
tested daily
• Daily testing gives managers and practitioners a realistic assessment of the
progress of the integration testing
• After a smoke test is completed, detailed test scripts are executed
9
Benefits of Smoke Testing
• 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 being made

More Related Content

What's hot

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Software testing & its technology
Software testing & its technologySoftware testing & its technology
Software testing & its technologyHasam Panezai
 
Testing and types of Testing
Testing and types of TestingTesting and types of Testing
Testing and types of Testing
Munaam Munawar
 
Software engineering 21 integration testing
Software engineering  21 integration testingSoftware engineering  21 integration testing
Software engineering 21 integration testing
Vaibhav Khanna
 
System testing
System testingSystem testing
System testing
KarthigaGunasekaran1
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Tofazzal Ahmed
 
System testing
System testingSystem testing
System testing
MeenakshiK19
 
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
 
System testing
System testingSystem testing
System testing
Mani Kanth
 
Automated visual-regression-testing (1)
Automated visual-regression-testing (1)Automated visual-regression-testing (1)
Automated visual-regression-testing (1)
Sriram Angajala
 
debugging and testing
debugging and testingdebugging and testing
debugging and testing
Sevajothi Crafts
 
System testing
System testingSystem testing
System testingSlideshare
 
Unit 4 testing
Unit 4 testingUnit 4 testing
Unit 4 testing
TharuniDiddekunta
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
Haris Jamil
 
Regression and performance testing
Regression and performance testingRegression and performance testing
Regression and performance testing
Himanshu
 
Software testing strategies
Software testing strategiesSoftware testing strategies
Software testing strategiesKrishna Sujeer
 
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
 
System testing
System testingSystem testing
System testing
rajshreemuthiah
 
Manual testing - Introduction to Manual Software testing
Manual testing - Introduction to Manual Software testingManual testing - Introduction to Manual Software testing
Manual testing - Introduction to Manual Software testing
Vibrant Technologies & Computers
 

What's hot (20)

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Software testing & its technology
Software testing & its technologySoftware testing & its technology
Software testing & its technology
 
Testing and types of Testing
Testing and types of TestingTesting and types of Testing
Testing and types of Testing
 
Software engineering 21 integration testing
Software engineering  21 integration testingSoftware engineering  21 integration testing
Software engineering 21 integration testing
 
System testing
System testingSystem testing
System testing
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
System testing
System testingSystem testing
System 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
 
System testing
System testingSystem testing
System testing
 
Automated visual-regression-testing (1)
Automated visual-regression-testing (1)Automated visual-regression-testing (1)
Automated visual-regression-testing (1)
 
debugging and testing
debugging and testingdebugging and testing
debugging and testing
 
System testing
System testingSystem testing
System testing
 
Unit 4 testing
Unit 4 testingUnit 4 testing
Unit 4 testing
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Regression and performance testing
Regression and performance testingRegression and performance testing
Regression and performance testing
 
Software testing strategies
Software testing strategiesSoftware testing strategies
Software testing strategies
 
Mt s5 levels
Mt s5 levelsMt s5 levels
Mt s5 levels
 
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
 
System testing
System testingSystem testing
System testing
 
Manual testing - Introduction to Manual Software testing
Manual testing - Introduction to Manual Software testingManual testing - Introduction to Manual Software testing
Manual testing - Introduction to Manual Software testing
 

Similar to Fundamentals of Software Engineering

Testing strategies part -1
Testing strategies part -1Testing strategies part -1
Testing strategies part -1
Divya Tiwari
 
Integration Testing in Software Development.pptx
Integration Testing in Software Development.pptxIntegration Testing in Software Development.pptx
Integration Testing in Software Development.pptx
BibekPokhrel13
 
Software Testing.pdf
Software Testing.pdfSoftware Testing.pdf
Software Testing.pdf
ManojKumar533913
 
Module V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdfModule V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdf
adhithanr
 
sst ppt.pptx
sst ppt.pptxsst ppt.pptx
sst ppt.pptx
PRIANKA R
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
SHREEHARI WADAWADAGI
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
Preeti Mishra
 
Software testing
Software testingSoftware testing
Software testing
Preeti Mishra
 
Software Testing Strategy (Part 2)
Software Testing Strategy (Part 2)Software Testing Strategy (Part 2)
Software Testing Strategy (Part 2)
Ajeng Savitri
 
STQA2 presentation about STQA by given university
STQA2 presentation about STQA by given universitySTQA2 presentation about STQA by given university
STQA2 presentation about STQA by given university
ALI3NW0R1D
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
VikramMagar1
 
Software testing
Software testingSoftware testing
Software testing
lokareminakshi
 
Software Testing Strategy
Software Testing StrategySoftware Testing Strategy
Software Testing Strategy
Ajeng Savitri
 
Automated testing overview
Automated testing overviewAutomated testing overview
Automated testing overview
Alex Pop
 
Continuos Delivery
Continuos DeliveryContinuos Delivery
Continuos Delivery
Andrés Callejas González
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
Raviteja Chowdary Adusumalli
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
MusTufa Nullwala
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
ShudipPal
 
Software testing
Software testingSoftware testing
Software testing
Shah Ishtiyaq Mehfooze
 
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
 

Similar to Fundamentals of Software Engineering (20)

Testing strategies part -1
Testing strategies part -1Testing strategies part -1
Testing strategies part -1
 
Integration Testing in Software Development.pptx
Integration Testing in Software Development.pptxIntegration Testing in Software Development.pptx
Integration Testing in Software Development.pptx
 
Software Testing.pdf
Software Testing.pdfSoftware Testing.pdf
Software Testing.pdf
 
Module V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdfModule V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdf
 
sst ppt.pptx
sst ppt.pptxsst ppt.pptx
sst ppt.pptx
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
Software testing
Software testingSoftware testing
Software testing
 
Software Testing Strategy (Part 2)
Software Testing Strategy (Part 2)Software Testing Strategy (Part 2)
Software Testing Strategy (Part 2)
 
STQA2 presentation about STQA by given university
STQA2 presentation about STQA by given universitySTQA2 presentation about STQA by given university
STQA2 presentation about STQA by given university
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
 
Software testing
Software testingSoftware testing
Software testing
 
Software Testing Strategy
Software Testing StrategySoftware Testing Strategy
Software Testing Strategy
 
Automated testing overview
Automated testing overviewAutomated testing overview
Automated testing overview
 
Continuos Delivery
Continuos DeliveryContinuos Delivery
Continuos Delivery
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 
Software testing
Software testingSoftware testing
Software 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.
Software Testing Strategies ,Validation Testing and System Testing.
 

More from Madhar Khan Pathan

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
 
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
 
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
 
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
 
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
 
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
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Generic process model
Generic process modelGeneric process model
Generic process model
Madhar Khan Pathan
 
Software Myths
Software MythsSoftware Myths
Software Myths
Madhar Khan Pathan
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Madhar Khan Pathan
 
Software applications and challenges
Software applications and challenges Software applications and challenges
Software applications and challenges
Madhar Khan Pathan
 
Introduction to software
Introduction to softwareIntroduction to software
Introduction to software
Madhar Khan Pathan
 

More from Madhar Khan Pathan (18)

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Generic process model
Generic process modelGeneric process model
Generic process model
 
Software Myths
Software MythsSoftware Myths
Software Myths
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software applications and challenges
Software applications and challenges Software applications and challenges
Software applications and challenges
 
Introduction to software
Introduction to softwareIntroduction to software
Introduction to software
 

Recently uploaded

Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
KrzysztofKkol1
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 

Recently uploaded (20)

Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 

Fundamentals of Software Engineering

  • 1. 1 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
  • 2. 2 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 (disorder/confusion) 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
  • 3. 3 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
  • 4. 4 Top-down Integration • Modules are integrated by moving downward through the control hierarchy, beginning with the main module • Subordinate modules are incorporated in either a depth-first or breadth-first fashion • DF: All modules on a major control path are integrated • BF: 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 • Because stubs are used to replace lower level modules, no significant data flow can occur until much later in the integration/testing process
  • 5. 5 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 • Drivers inherently do not contain the complete algorithms that will eventually use the services of the lower-level modules; consequently, testing may be incomplete or more testing may be needed later when the upper level modules are available
  • 6. 6 Sandwich Integration • Consists of a combination of both top-down and bottom-up integration • Occurs both at the highest level modules and also at the lowest level modules • Proceeds using functional groups of modules, with each group completed before the next • High and low-level modules are grouped based on the control and data processing they provide for a specific program feature • Integration within the group progresses in alternating steps between the high and low level modules of the group • When integration for a certain functional group is complete, integration and testing moves onto the next group • Reaps the advantages of both types of integration while minimizing the need for drivers and stubs • Requires a disciplined approach so that integration doesn’t tend towards the “big bang” scenario
  • 7. 7 Regression Testing • Each new addition or change to baselined software 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 • May be done manually or through the use of automated capture/playback tools • 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
  • 8. 8 Smoke Testing • Taken from the world of hardware • Power is applied and a technician checks for sparks, smoke, or other dramatic signs of fundamental failure • Designed as a pacing mechanism for time-critical projects • Allows the software team to assess its project on a frequent basis • Includes the following activities • The software is compiled 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 goal is to uncover “show stopper” errors that have the highest likelihood of throwing the software project behind schedule • The build is integrated with other builds and the entire product is smoke tested daily • Daily testing gives managers and practitioners a realistic assessment of the progress of the integration testing • After a smoke test is completed, detailed test scripts are executed
  • 9. 9 Benefits of Smoke Testing • 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 being made