SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
In The Name Of Allah
System Integration Test
MOHAMMAD SADEGH SALEHI
FARDIN KAVYANI
Fall 2015
System Integration Test - Fall 2015
Agenda
3/20
Introduction
The Concept of Integration Testing
Component / Module testing
Why do we do integration testing?
The major advantages of conducting SIT
Granularity of System Integration Testing
Drivers and Stubs
Approaches in Integration Testing
Integration test tools
System Integration Test - Fall 2015
Introduction
4/20
Why Test?
 No matter how well software has been designed and coded, it will inevitably still contain
defects.
 Testing is the process of executing a program with the intent of finding faults (bugs).
 A “successful” test is one that finds errors, not one that doesn’t find errors.
System Integration Test - Fall 2015
Introduction-cont
5/20
Why Test?
 Testing can “prove” the presence of faults, but can not “prove” their absence
 But can increase confidence that a program “works”
System Integration Test - Fall 2015
Introduction-cont
What is Test?
6/20
 Unit test – test of small code unit: file, class, individual method or subroutine.
 Integration test – test of several units combined to form a (sub)system, preferably adding
one unit at a time.
 System (alpha) test – test of a system release by “independent” system testers.
 Acceptance (beta) test – test of a release by end-users or their representatives.
System Integration Test - Fall 2015
Introduction-cont
When to Test?
7/20
Early
 “Agile programming” developers write unit test cases before coding each unit
 Many software processes involve writing (at least) system/acceptance tests in parallel
with development
Often
 Regression testing: rerun unit, integration and system/acceptance tests
 After refactoring
 Throughout integration
 Before each release
System Integration Test - Fall 2015
Introduction-cont
Defining a Test?
8/20
 Goal – the aspect of the system being tested.
 Input – specify the actions and conditions that lead up to the test as well as the
input (state of the world, not just parameters) that actually constitutes the test.
 Outcome – specify how the system should respond or what it should compute,
according to its requirements .
System Integration Test - Fall 2015
The Concept of Integration Testing
9/20
 Testing in which software components, hardware components, or both together are
combined and tested to evaluate interactions between them.
 Integration testing usually go through several realword business scenarios to see whether
the system can successfully complete workflow tasks.
 Integration plan specifies the order of combining the modules into partial systems.
Integration is …
Making different modules work together
System Integration Test - Fall 2015
for each
The Concept of Integration Testing-cont
10/20
readFile String[]String
getCharacterFreqString Frequency[]
System Integration Test - Fall 2015
Component / Module testing
11/20
 A unit is the smallest testable piece of software. A unit
is defined as a database trigger, stored procedure,
function, report, form, batch load program or PL/SQL
program.
 Unit testing is the testing that is performed to validate
that the unit does satisfy its functional specification
and/or that its implementation structure does match
the intended design structure.
 Module /Component consists of units integrated into a module that performs a specific
business function.
System Integration Test - Fall 2015
do we do integration testing?
12/20
 Unit tests only test the unit in isolation.
 Many failures result from faults in the interaction of subsystems.
 Often many Off-the-shelf components are used that cannot be unit tested.
 Without integration testing the system test will be very time consuming.
 Failures that are not discovered in integration testing will be discovered after the
system is deployed and can be very expensive.
System Integration Test - Fall 2015
Granularity of System Integration Testing
13/20
System Integration testing is performed at different levels of granularity
 Intra-system testing
 This form of testing constitutes low-level integration testing with the objective of combining the
modules together to build a cohesive system
 Inter-system testing
 It is a high-level testing phase which requires interfacing independently tested systems
 Pairwise testing
 In pairwise integration, only two interconnected systems in an overall system are tested at a time
 The purpose of pairwise testing is to ensure that two systems under consideration can function
together, assuming that the other systems within the overall environment behave as expected
System Integration Test - Fall 2015
Integration testing approaches
14/20
Common approaches to perform system integration testing
 Incremental
 Top-down
 Bottom-up
 Sandwich
 Big-bang
System Integration Test - Fall 2015
Drivers and Stubs
15/20
Driver:
 A program that calls the interface procedures of the module
being tested and reports the results.
 A driver simulates a module that calls the module currently being
Tested.
Stub:
 A program that has the same interface procedures as a module
that is being called by the module being tested but is simpler.
 A stub simulates a module called by the module currently being
tested
Driver
Tested
Unit
Stub
Module under test
Procedure call
Procedure call
System Integration Test - Fall 2015
Example: A 3-Layer-Design(SpreadSheet)
16/20
Layer I
Layer II
Layer III
Spread
SheetView
A
Calculator
C
BinaryFile
Storage
E
XMLFile
Storage
F
Currency
DataBase
G
Currency
Converter
D
Data
Model
B
A
C
E F G
DB
Spread
SheetView
BinaryFile
Storage
Entity
Model
A
E F
Currency
DataBase
G
Currency
Converter
DB
Calculator
C
XMLFile
Storage
System Integration Test - Fall 2015
Big-Bang Approach
17/20
A
C
E F G
DB
Test A
Test B
Test G
Test F
Test E
Test C
Test D
Test
A, B, C, D,
E, F, G
System Integration Test - Fall 2015
Bottom-up Testing Strategy
18/20
 The subsystems in the lowest layer of the call hierarchy are tested individually
 Then the next subsystems are tested that call the previously tested
subsystems
 This is repeated until all subsystems are included
 Drivers are needed.
System Integration Test - Fall 2015
Bottom-up Testing Strategy
19/20
A
C
E F G
DB
A
Test
A, B, C, D,
E, F, G
E
Test E
F
Test F
B
Test B, E, F
C
Test C
D
Test D,G
G
Test G
System Integration Test - Fall 2015
Pros and Cons of Bottom-Up Integration
Testing
20/20
Con:
 Tests the most important subsystem (user interface) last,
 Drivers needed.
Pro:
 No stubs needed.
 Useful for integration testing of the following systems,
• Object-oriented systems,
• Real-time systems,
• Systems with strict performance requirements.
System Integration Test - Fall 2015
Top-down testing strategy
21/20
Test the top layer or the controlling subsystem first
Then combine all the subsystems that are called by the tested subsystems
and test the resulting collection of subsystems
Do this until all subsystems are incorporated into the test
Stubs are needed to do the testing.
System Integration Test - Fall 2015
Top-down Integration
22/20
Test
A, B, C, D,
E, F, G
All LayersLayer I + II
Test A, B, C, D
Layer I
Test A
A
E F
B C D
G
System Integration Test - Fall 2015
Pros and Cons of Top-down Integration
Testing
23/20
Pro
 Test cases can be defined in terms of the functionality of the system
(functional requirements)
 No drivers needed
Cons
 Writing stubs is difficult: Stubs must allow all possible conditions to be
tested.
 Large number of stubs may be required, especially if the lowest level of the
system contains many methods.
 Some interfaces are not tested separately.
System Integration Test - Fall 2015
Sandwich Testing Strategy
24/20
 Combines top-down strategy with bottom-up strategy
 The system is viewed as having three layers
 A target layer in the middle
 A layer above the target
 A layer below the target
 Testing converges at the target layer.
System Integration Test - Fall 2015
Sandwich Testing Strategy
25/20
Test
A, B, C, D,
E, F, G
Test B, E, F
Test D,G
Test A
Test E
Test F
Test G
Test A,B,C, D
A
E F
B C D
G
System Integration Test - Fall 2015
Pros and Cons of Sandwich Testing
26/20
 Top and Bottom Layer Tests can be done in parallel
 Problem: Does not test the individual subsystems and their interfaces
thoroughly before integration
 Solution: Modified sandwich
System Integration Test - Fall 2015
Modified Sandwich Testing Strategy
27/20
Test in parallel:
 Middle layer with drivers and stubs
 Top layer with stubs
 Bottom layer with drivers
Test in parallel:
 Top layer accessing middle layer (top layer replaces drivers)
 Bottom accessed by middle layer (bottom layer replaces
stubs).
System Integration Test - Fall 2015
Modified Sandwich Testing
28/20
Test F
Test E
Test B
Test G
Test D
Test A
Test C
Test B, E, F
Test D,G
Test A,C
Test
A, B, C, D,
E, F, G
A
E F
B C D
G
System Integration Test - Fall 2015
Continuous Testing
29/20
Continuous build:
Build from day one
Test from day one
Integrate from day one
 System is always runnable
Requires integrated tool support:
Continuous build server
Automated tests with high coverage
Tool supported refactoring
Software configuration management
Issue tracking.
System Integration Test - Fall 2015
Continuous Testing Strategy
30/20
Spread
SheetView
BinaryFile
Storage
Data
Model
Layer I
Layer II
Layer III
A
E F
Currency
DataBase
G
Currency
Converter
DB
Calculator
C
XMLFile
Storage
Sheet View
+ Cells
+ Addition
+ File Storage
System Integration Test - Fall 2015
Steps in Integration Testing
31/20
4. Test subsystem decomposition: Define test cases
that exercise all dependencies
5. Test non-functional requirements: Execute
performance tests
6. Keep records of the test cases and testing
activities.
7. Repeat steps 1 to 7 until the full system is tested.
The primary goal of integration testing is to identify
failures with the (current) component configuration.
1. Based on the integration strategy,
select a component to be tested.
Unit test all the classes in the
component.
2. Put selected component together;
do any preliminary fix-up
necessary to make the integration
test operational (drivers, stubs)
3. Test functional requirements:
Define test cases that exercise all
uses cases with the selected
component
System Integration Test - Fall 2015
Integration Test tool
32/20
System Integration Test - Fall 2015
Resource
33/20
 Software Testing and Quality Assurance: Theory and Practice, Chapter 7
Kshirasagar Naik, Priyadarshi Tripathy, 2008. ISBN: 978-0-471-78911-6
 Object-Oriented Software Engineering Using UML, Patterns, and Java, 3e,
Chapter11, Bernd Bruegge, Allen H. Dutoit, 2009, ISBN:0136061257
 Martin Fowler about CI
http://www.martinfowler.com/articles/continuousIntegration.html
 http://www.qatestingtools.com/integration_testing_tools
Thank You …
Questions….
sadegh-salehi@outlook.com
fardinkavyani@gmail.com
System Integration Test - Fall 2015
The major advantages of conducting SIT
35/20
 The major advantages of conducting SIT(System Integration Testing) are as follows:
 Defects are detected early
 It is easier to fix defects detected earlier
 We get earlier feedback on the health and acceptability of the individual modules and on
the overall system
 Scheduling of defect fixes is flexible, and it can overlap with development
System Integration Test - Fall 2015
Integration Challenges
36/20
System Integration Test - Fall 2015
Integration Challenges-cont
37/20
Broken Integration
You have a broken integration when:
 Source code server does not build successfully,
 Shared component works in one system, but breaks others,
 Unit tests fail,
 Code quality fails (coding conventions, quality metrics),
 Deployment fails.
The earlier you can detect problems, the easier it is to resolve them.
System Integration Test - Fall 2015
Integration Challenges-cont
38/20
Manual Integration
 Integration becomes expensive
 if made manual (build, test, deployment, …)
 with too less checkin’s (hours or days…)
 If integration problems and bugs are detected too late
 Reduces desire to refactor
 Long time between integration increases risk of merge
 IDE makes many cross-cutting changes easy
System Integration Test - Fall 2015
Different Types of Interfaces
39/20
 Three common paradigms for interfacing modules:
 Procedure call interface
 Shared memory interface
 Message passing interface
The problem arises when we “put modules together” because of interface errors.
Interface errors
Interface errors are those that are associated with structures existing outside the local
environment of a module, but which the module uses.
System Integration Test - Fall 2015
Different Types of Interface Errors
40/20
 Inadequate error processing
 Additions to error processing
 Inadequate post-processing
 Inadequate interface support
 Initialization/value errors
 Validation od data constraints
 Timing/performance problems
 Coordination changes
 Construction
 Inadequate functionality
 Location of functionality
 Changes in functionality
 Added functionality
 Misuse of interface
 Misunderstanding of interface
 Data structure alteration
 Hardware/software interfaces

Weitere ähnliche Inhalte

Was ist angesagt?

Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testingikhwanhayat
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development CodeOps Technologies LLP
 
What is integration testing
What is integration testingWhat is integration testing
What is integration testingTestingXperts
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing FundamentalsChankey Pathak
 
UNIT TESTING PPT
UNIT TESTING PPTUNIT TESTING PPT
UNIT TESTING PPTsuhasreddy1
 
verification and validation
verification and validationverification and validation
verification and validationDinesh Pasi
 
System testing ppt
System testing pptSystem testing ppt
System testing pptL ESHWAR
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingArchana Krushnan
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testingMd Mamunur Rashid
 
Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Mani Kanth
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 

Was ist angesagt? (20)

Testing
TestingTesting
Testing
 
Unit testing
Unit testing Unit testing
Unit testing
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testing
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
 
What is integration testing
What is integration testingWhat is integration testing
What is integration testing
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
UNIT TESTING PPT
UNIT TESTING PPTUNIT TESTING PPT
UNIT TESTING PPT
 
verification and validation
verification and validationverification and validation
verification and validation
 
System testing ppt
System testing pptSystem testing ppt
System testing ppt
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Testing methodology
Testing methodologyTesting methodology
Testing methodology
 
Black box & white-box testing technique
Black box & white-box testing techniqueBlack box & white-box testing technique
Black box & white-box testing technique
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
SDLC vs STLC
SDLC vs STLCSDLC vs STLC
SDLC vs STLC
 
Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 

Andere mochten auch

Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementJeyanthiR
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Managementguy_davis
 
software configuration management
software configuration managementsoftware configuration management
software configuration managementFáber D. Giraldo
 
A Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration ManagementA Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration ManagementMd Mamunur Rashid
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Managementelliando dias
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Nishkarsh Gupta
 
Introduction To Software Configuration Management
Introduction To Software Configuration ManagementIntroduction To Software Configuration Management
Introduction To Software Configuration ManagementRajesh Kumar
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementChandan Chaurasia
 

Andere mochten auch (8)

Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
 
A Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration ManagementA Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration Management
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Introduction To Software Configuration Management
Introduction To Software Configuration ManagementIntroduction To Software Configuration Management
Introduction To Software Configuration Management
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 

Ähnlich wie Integration test (20)

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.
 
2 testing throughout software lifecycle
2 testing throughout software lifecycle2 testing throughout software lifecycle
2 testing throughout software lifecycle
 
Types
TypesTypes
Types
 
Testing type
Testing typeTesting type
Testing type
 
sst ppt.pptx
sst ppt.pptxsst ppt.pptx
sst ppt.pptx
 
Levels Of Testing.pptx
Levels Of Testing.pptxLevels Of Testing.pptx
Levels Of Testing.pptx
 
Software Testing
Software Testing Software Testing
Software Testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Integration testing complete overview
Integration testing complete overviewIntegration testing complete overview
Integration testing complete overview
 
System testing
System testingSystem testing
System testing
 
Software test life cycle
Software test life cycleSoftware test life cycle
Software test life cycle
 
software engineering
software engineeringsoftware engineering
software engineering
 
Test Levels & Techniques
Test Levels & TechniquesTest Levels & Techniques
Test Levels & Techniques
 
Testing strategies
Testing strategiesTesting strategies
Testing strategies
 
S.t.
S.t.S.t.
S.t.
 
Testing
TestingTesting
Testing
 
Software testing
Software testingSoftware testing
Software testing
 
2.testing in the software life cycle
2.testing in the software life cycle 2.testing in the software life cycle
2.testing in the software life cycle
 
Different Software Testing Types and CMM Standard
Different Software Testing Types and CMM StandardDifferent Software Testing Types and CMM Standard
Different Software Testing Types and CMM Standard
 
CTFL Module 02
CTFL Module 02CTFL Module 02
CTFL Module 02
 

Mehr von sadegh salehi

Cloud intrusion detection System
Cloud intrusion detection SystemCloud intrusion detection System
Cloud intrusion detection Systemsadegh salehi
 
Interactive and Multimodal Pedagogy Using IWB
Interactive and Multimodal Pedagogy Using IWB  Interactive and Multimodal Pedagogy Using IWB
Interactive and Multimodal Pedagogy Using IWB sadegh salehi
 
NoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DBNoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DBsadegh salehi
 
Ontology development in protégé-آنتولوژی در پروتوغه
Ontology development in protégé-آنتولوژی در پروتوغهOntology development in protégé-آنتولوژی در پروتوغه
Ontology development in protégé-آنتولوژی در پروتوغهsadegh salehi
 
Prototype design pattern - الگوی طراحی Prototype
Prototype design pattern - الگوی طراحی PrototypePrototype design pattern - الگوی طراحی Prototype
Prototype design pattern - الگوی طراحی Prototypesadegh salehi
 
Backup and recovery in oracle
Backup and recovery in oracleBackup and recovery in oracle
Backup and recovery in oraclesadegh salehi
 
مکتب کلبیان
مکتب کلبیانمکتب کلبیان
مکتب کلبیانsadegh salehi
 

Mehr von sadegh salehi (9)

Cloud intrusion detection System
Cloud intrusion detection SystemCloud intrusion detection System
Cloud intrusion detection System
 
Fault prediction
Fault predictionFault prediction
Fault prediction
 
Interactive and Multimodal Pedagogy Using IWB
Interactive and Multimodal Pedagogy Using IWB  Interactive and Multimodal Pedagogy Using IWB
Interactive and Multimodal Pedagogy Using IWB
 
NoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DBNoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DB
 
Ontology development in protégé-آنتولوژی در پروتوغه
Ontology development in protégé-آنتولوژی در پروتوغهOntology development in protégé-آنتولوژی در پروتوغه
Ontology development in protégé-آنتولوژی در پروتوغه
 
Prototype design pattern - الگوی طراحی Prototype
Prototype design pattern - الگوی طراحی PrototypePrototype design pattern - الگوی طراحی Prototype
Prototype design pattern - الگوی طراحی Prototype
 
Backup and recovery in oracle
Backup and recovery in oracleBackup and recovery in oracle
Backup and recovery in oracle
 
Jame isfahan mosque
Jame isfahan mosqueJame isfahan mosque
Jame isfahan mosque
 
مکتب کلبیان
مکتب کلبیانمکتب کلبیان
مکتب کلبیان
 

Kürzlich hochgeladen

Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"mphochane1998
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxSCMS School of Architecture
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfsmsksolar
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksMagic Marks
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...HenryBriggs2
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxmaisarahman1
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
Air Compressor reciprocating single stage
Air Compressor reciprocating single stageAir Compressor reciprocating single stage
Air Compressor reciprocating single stageAbc194748
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Call Girls Mumbai
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...Health
 

Kürzlich hochgeladen (20)

Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdf
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic Marks
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Air Compressor reciprocating single stage
Air Compressor reciprocating single stageAir Compressor reciprocating single stage
Air Compressor reciprocating single stage
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 

Integration test

  • 1. In The Name Of Allah
  • 2. System Integration Test MOHAMMAD SADEGH SALEHI FARDIN KAVYANI Fall 2015
  • 3. System Integration Test - Fall 2015 Agenda 3/20 Introduction The Concept of Integration Testing Component / Module testing Why do we do integration testing? The major advantages of conducting SIT Granularity of System Integration Testing Drivers and Stubs Approaches in Integration Testing Integration test tools
  • 4. System Integration Test - Fall 2015 Introduction 4/20 Why Test?  No matter how well software has been designed and coded, it will inevitably still contain defects.  Testing is the process of executing a program with the intent of finding faults (bugs).  A “successful” test is one that finds errors, not one that doesn’t find errors.
  • 5. System Integration Test - Fall 2015 Introduction-cont 5/20 Why Test?  Testing can “prove” the presence of faults, but can not “prove” their absence  But can increase confidence that a program “works”
  • 6. System Integration Test - Fall 2015 Introduction-cont What is Test? 6/20  Unit test – test of small code unit: file, class, individual method or subroutine.  Integration test – test of several units combined to form a (sub)system, preferably adding one unit at a time.  System (alpha) test – test of a system release by “independent” system testers.  Acceptance (beta) test – test of a release by end-users or their representatives.
  • 7. System Integration Test - Fall 2015 Introduction-cont When to Test? 7/20 Early  “Agile programming” developers write unit test cases before coding each unit  Many software processes involve writing (at least) system/acceptance tests in parallel with development Often  Regression testing: rerun unit, integration and system/acceptance tests  After refactoring  Throughout integration  Before each release
  • 8. System Integration Test - Fall 2015 Introduction-cont Defining a Test? 8/20  Goal – the aspect of the system being tested.  Input – specify the actions and conditions that lead up to the test as well as the input (state of the world, not just parameters) that actually constitutes the test.  Outcome – specify how the system should respond or what it should compute, according to its requirements .
  • 9. System Integration Test - Fall 2015 The Concept of Integration Testing 9/20  Testing in which software components, hardware components, or both together are combined and tested to evaluate interactions between them.  Integration testing usually go through several realword business scenarios to see whether the system can successfully complete workflow tasks.  Integration plan specifies the order of combining the modules into partial systems. Integration is … Making different modules work together
  • 10. System Integration Test - Fall 2015 for each The Concept of Integration Testing-cont 10/20 readFile String[]String getCharacterFreqString Frequency[]
  • 11. System Integration Test - Fall 2015 Component / Module testing 11/20  A unit is the smallest testable piece of software. A unit is defined as a database trigger, stored procedure, function, report, form, batch load program or PL/SQL program.  Unit testing is the testing that is performed to validate that the unit does satisfy its functional specification and/or that its implementation structure does match the intended design structure.  Module /Component consists of units integrated into a module that performs a specific business function.
  • 12. System Integration Test - Fall 2015 do we do integration testing? 12/20  Unit tests only test the unit in isolation.  Many failures result from faults in the interaction of subsystems.  Often many Off-the-shelf components are used that cannot be unit tested.  Without integration testing the system test will be very time consuming.  Failures that are not discovered in integration testing will be discovered after the system is deployed and can be very expensive.
  • 13. System Integration Test - Fall 2015 Granularity of System Integration Testing 13/20 System Integration testing is performed at different levels of granularity  Intra-system testing  This form of testing constitutes low-level integration testing with the objective of combining the modules together to build a cohesive system  Inter-system testing  It is a high-level testing phase which requires interfacing independently tested systems  Pairwise testing  In pairwise integration, only two interconnected systems in an overall system are tested at a time  The purpose of pairwise testing is to ensure that two systems under consideration can function together, assuming that the other systems within the overall environment behave as expected
  • 14. System Integration Test - Fall 2015 Integration testing approaches 14/20 Common approaches to perform system integration testing  Incremental  Top-down  Bottom-up  Sandwich  Big-bang
  • 15. System Integration Test - Fall 2015 Drivers and Stubs 15/20 Driver:  A program that calls the interface procedures of the module being tested and reports the results.  A driver simulates a module that calls the module currently being Tested. Stub:  A program that has the same interface procedures as a module that is being called by the module being tested but is simpler.  A stub simulates a module called by the module currently being tested Driver Tested Unit Stub Module under test Procedure call Procedure call
  • 16. System Integration Test - Fall 2015 Example: A 3-Layer-Design(SpreadSheet) 16/20 Layer I Layer II Layer III Spread SheetView A Calculator C BinaryFile Storage E XMLFile Storage F Currency DataBase G Currency Converter D Data Model B A C E F G DB Spread SheetView BinaryFile Storage Entity Model A E F Currency DataBase G Currency Converter DB Calculator C XMLFile Storage
  • 17. System Integration Test - Fall 2015 Big-Bang Approach 17/20 A C E F G DB Test A Test B Test G Test F Test E Test C Test D Test A, B, C, D, E, F, G
  • 18. System Integration Test - Fall 2015 Bottom-up Testing Strategy 18/20  The subsystems in the lowest layer of the call hierarchy are tested individually  Then the next subsystems are tested that call the previously tested subsystems  This is repeated until all subsystems are included  Drivers are needed.
  • 19. System Integration Test - Fall 2015 Bottom-up Testing Strategy 19/20 A C E F G DB A Test A, B, C, D, E, F, G E Test E F Test F B Test B, E, F C Test C D Test D,G G Test G
  • 20. System Integration Test - Fall 2015 Pros and Cons of Bottom-Up Integration Testing 20/20 Con:  Tests the most important subsystem (user interface) last,  Drivers needed. Pro:  No stubs needed.  Useful for integration testing of the following systems, • Object-oriented systems, • Real-time systems, • Systems with strict performance requirements.
  • 21. System Integration Test - Fall 2015 Top-down testing strategy 21/20 Test the top layer or the controlling subsystem first Then combine all the subsystems that are called by the tested subsystems and test the resulting collection of subsystems Do this until all subsystems are incorporated into the test Stubs are needed to do the testing.
  • 22. System Integration Test - Fall 2015 Top-down Integration 22/20 Test A, B, C, D, E, F, G All LayersLayer I + II Test A, B, C, D Layer I Test A A E F B C D G
  • 23. System Integration Test - Fall 2015 Pros and Cons of Top-down Integration Testing 23/20 Pro  Test cases can be defined in terms of the functionality of the system (functional requirements)  No drivers needed Cons  Writing stubs is difficult: Stubs must allow all possible conditions to be tested.  Large number of stubs may be required, especially if the lowest level of the system contains many methods.  Some interfaces are not tested separately.
  • 24. System Integration Test - Fall 2015 Sandwich Testing Strategy 24/20  Combines top-down strategy with bottom-up strategy  The system is viewed as having three layers  A target layer in the middle  A layer above the target  A layer below the target  Testing converges at the target layer.
  • 25. System Integration Test - Fall 2015 Sandwich Testing Strategy 25/20 Test A, B, C, D, E, F, G Test B, E, F Test D,G Test A Test E Test F Test G Test A,B,C, D A E F B C D G
  • 26. System Integration Test - Fall 2015 Pros and Cons of Sandwich Testing 26/20  Top and Bottom Layer Tests can be done in parallel  Problem: Does not test the individual subsystems and their interfaces thoroughly before integration  Solution: Modified sandwich
  • 27. System Integration Test - Fall 2015 Modified Sandwich Testing Strategy 27/20 Test in parallel:  Middle layer with drivers and stubs  Top layer with stubs  Bottom layer with drivers Test in parallel:  Top layer accessing middle layer (top layer replaces drivers)  Bottom accessed by middle layer (bottom layer replaces stubs).
  • 28. System Integration Test - Fall 2015 Modified Sandwich Testing 28/20 Test F Test E Test B Test G Test D Test A Test C Test B, E, F Test D,G Test A,C Test A, B, C, D, E, F, G A E F B C D G
  • 29. System Integration Test - Fall 2015 Continuous Testing 29/20 Continuous build: Build from day one Test from day one Integrate from day one  System is always runnable Requires integrated tool support: Continuous build server Automated tests with high coverage Tool supported refactoring Software configuration management Issue tracking.
  • 30. System Integration Test - Fall 2015 Continuous Testing Strategy 30/20 Spread SheetView BinaryFile Storage Data Model Layer I Layer II Layer III A E F Currency DataBase G Currency Converter DB Calculator C XMLFile Storage Sheet View + Cells + Addition + File Storage
  • 31. System Integration Test - Fall 2015 Steps in Integration Testing 31/20 4. Test subsystem decomposition: Define test cases that exercise all dependencies 5. Test non-functional requirements: Execute performance tests 6. Keep records of the test cases and testing activities. 7. Repeat steps 1 to 7 until the full system is tested. The primary goal of integration testing is to identify failures with the (current) component configuration. 1. Based on the integration strategy, select a component to be tested. Unit test all the classes in the component. 2. Put selected component together; do any preliminary fix-up necessary to make the integration test operational (drivers, stubs) 3. Test functional requirements: Define test cases that exercise all uses cases with the selected component
  • 32. System Integration Test - Fall 2015 Integration Test tool 32/20
  • 33. System Integration Test - Fall 2015 Resource 33/20  Software Testing and Quality Assurance: Theory and Practice, Chapter 7 Kshirasagar Naik, Priyadarshi Tripathy, 2008. ISBN: 978-0-471-78911-6  Object-Oriented Software Engineering Using UML, Patterns, and Java, 3e, Chapter11, Bernd Bruegge, Allen H. Dutoit, 2009, ISBN:0136061257  Martin Fowler about CI http://www.martinfowler.com/articles/continuousIntegration.html  http://www.qatestingtools.com/integration_testing_tools
  • 35. System Integration Test - Fall 2015 The major advantages of conducting SIT 35/20  The major advantages of conducting SIT(System Integration Testing) are as follows:  Defects are detected early  It is easier to fix defects detected earlier  We get earlier feedback on the health and acceptability of the individual modules and on the overall system  Scheduling of defect fixes is flexible, and it can overlap with development
  • 36. System Integration Test - Fall 2015 Integration Challenges 36/20
  • 37. System Integration Test - Fall 2015 Integration Challenges-cont 37/20 Broken Integration You have a broken integration when:  Source code server does not build successfully,  Shared component works in one system, but breaks others,  Unit tests fail,  Code quality fails (coding conventions, quality metrics),  Deployment fails. The earlier you can detect problems, the easier it is to resolve them.
  • 38. System Integration Test - Fall 2015 Integration Challenges-cont 38/20 Manual Integration  Integration becomes expensive  if made manual (build, test, deployment, …)  with too less checkin’s (hours or days…)  If integration problems and bugs are detected too late  Reduces desire to refactor  Long time between integration increases risk of merge  IDE makes many cross-cutting changes easy
  • 39. System Integration Test - Fall 2015 Different Types of Interfaces 39/20  Three common paradigms for interfacing modules:  Procedure call interface  Shared memory interface  Message passing interface The problem arises when we “put modules together” because of interface errors. Interface errors Interface errors are those that are associated with structures existing outside the local environment of a module, but which the module uses.
  • 40. System Integration Test - Fall 2015 Different Types of Interface Errors 40/20  Inadequate error processing  Additions to error processing  Inadequate post-processing  Inadequate interface support  Initialization/value errors  Validation od data constraints  Timing/performance problems  Coordination changes  Construction  Inadequate functionality  Location of functionality  Changes in functionality  Added functionality  Misuse of interface  Misunderstanding of interface  Data structure alteration  Hardware/software interfaces