SlideShare una empresa de Scribd logo
1 de 18
Software Integration Testing
Speaker: Jerry Gao Ph.D.
San Jose State University
email: jerrygao@email.sjsu.edu
URL: http://www.engr.sjsu.edu/gaojerry
Topic: Software Integration Testing
- What is Software Integration Testing?
- Non-Incremental Software Integration
- Incremental Software Integration
- Traditional software Integration Strategies
- Software Integration Test Harness
-Test Stubs and Test Drivers
- Object-Oriented Software Integration Strategies
Jerry Gao Ph.D. 7/20002
Presentation Outline
All Rights Reserved
Topic: Software Integration Testing
What is Software Integration Testing?
Testing activities that integrate software components together to form a
complete system. To perform a cost-effective software integration, integration
test strategy, integration test set are needed.
Major testing focuses:
- Interfaces between modules (or components)
- Integrated functional features
- Interacting protocols and messages
- System architectures
Who perform software integration:
Developers and test engineers
What do you need?:
- Integration strategy
- Integration test environment and test suite
- Module (or component) specifications
- Interface and design documents
Jerry Gao Ph.D. 7/2002
What is White-Based Software Testing?
Topic: Software Integration Testing
What is a software integration strategy?
Software test strategy provides the basic strategy and guidelines to test
engineers to perform software testing activities in a rational way.
Software integration strategy usually refers to
--> an integration sequence (or order) to integrate different parts
(or components) together.
A test model is needed to support the definition of software integration test
strategies.
Typical test models:
control flow graph
object-oriented class diagram
scenario-based model
component-based integration model
architecture-based integration model
Jerry Gao Ph.D. 7/2002
Software Integration Strategy
Jerry Gao Ph.D. 7/2002
Topic: Software Integration Testing
Traditional Software Integration Strategy
There are two groups of software integration strategies:
- Non Incremental software integration
- Incremental software integration
Non Incremental software integration:
--> Big band integration approach
Incremental software integration:
--> Top- down software integration
--> Bottom-up software integration
--> Sandwich integration
Topic: Software Integration Testing
Jerry Gao Ph.D. 7/2002
Test Stubs and Test Drivers
What are software test stubs?
- Software test stubs are programs which simulate the behaviors of
software components (or modules) that are the dependent modules
of a under test module.
Typical stubs relates to a under test module in the following ways:
UT Module
Dependent
Module
Stub
Functional call
without parameters
and return values
UT Module
Dependent
Module
Stub
Functional call
with parameters
and return values
UT Module
Dependent
Module
Stub
Functional call
with input
parameters only
Topic: Software Integration Testing
Jerry Gao Ph.D. 7/2002
Test Stubs and Test Drivers
What are software test drivers?
- Software test drivers are programs which simulate the behaviors of
software components (or modules) that are the control modules
of a under test module.
Typical drivers relates to a under test module in the following ways:
UT Module
Control
Module
Driver
Functional call
without parameters
and return values
UT Module
Control
Module
Driver
Functional call
with parameters
and return values
UT Module
Control
Module
Driver
Functional call
with input
parameters only
Non-incremental integration:
- Big Band - combine (or integrate) all parts at once.
Advantages: simple
Disadvantages: - hard to debugging, not easy to isolate errors
- not easy to validate test results
- impossible to form an integrated system
Jerry Gao Ph.D. 7/2002
Topic: Software Integration Testing
Traditional Software Integration Strategy
Top-down Integration
Idea:-Modules are integrated by moving downward through the control structure.
Modules subordinate to the main control module are incorporated into the system
in either a depth-first or breadth-first manner.
Integration process (five steps):
1. the main control module is used as a test driver, and the stubs
are substituted for all modules directly subordinate to the main
control module.
2. subordinate stubs are replaced one at a time with actual modules.
3. tests are conducted as each module is integrated.
4. On completion of each set of tests, another stub is replaced with
the real module.
5. regression testing may conducted.
Pros and cons top-down integration:
- stub construction cost
- major control function can be tested early.
Jerry Gao Ph.D. 7/2002
Topic: Software Integration Testing
Topic: Software Integration Testing
Jerry Gao Ph.D. 7/2002
Top-Down Integration
Main
M1 M3M2
M7M6M5M4
M8
Select the integration sequence:
Depth-First
Breadth-First
- Left --> Right
- Right --> Left
1
2
3
4 5 6 7
8
Topic: Software Integration Testing
Jerry Gao Ph.D. 7/2002
Top-Down Integration
Integration Order: Breadth-First (Left Order)
IS: Integrated System Mi ’: software stub for Module Mi.
Step #1: IS = Main + M1 (need: M2’, M3’, M4’ and M5’)
Step #2: IS = IS + M2 (need: M4’, M5’, M6’, and M3’)
Step #3: IS = IS + M3 (need: M4’, M5’, M6’, and M7’)
Step #4: IS = IS + M4 (need: M5’, M6’,and M7’)
Step #5: IS = IS + M5 (need: M8’, M6’, and M7’)
Step #6: IS = IS + M6 (need: M7’, and M8’)
Step #7: IS = IS + M7 (need: M8’)
Step #8: IS = IS + M8
Topic: Software Integration Testing
Jerry Gao Ph.D. 7/2002
Bottom-Up Software Integration
Idea:- Modules at the lowest levels are integrated at first, then by moving upward
through the control structure.
Integration process (five steps):
1. Low-level modules are combined into clusters that perform a specific
software sub-function.
2. A driver is written to coordinate test case input and output.
3. Test cluster is tested.
4. Drivers are removed and clusters are combined moving upward in
the program structure.
Pros and cons of bottom-up integration:
- no stubs cost
- need test drivers
- no controllable system until the last step
Topic: Software Integration Testing
Jerry Gao Ph.D. 7/2002
Bottom-Up Integration
Main
M1 M3M2
M7M6M5M4
M8
1
53 4
97
6
2
8
Topic: Software Integration Testing
Jerry Gao Ph.D. 7/2002
Bottom-Up Integration
Integration Order: Breadth-First (Left Order)
IS: Integrated System Mi”: software driver for Module Mi.
Step #1: IS1 = M8 + M4 (need: M5” and M1”)
Step #2: IS1 = IS1 + M5 (need: M1”)
Step #3+4: IS1 = IS1 + M1 (need: Main”)
Step #5: IS2 = M2 + M6 (need: Main”)
Step #6: IS3 = M3 + M7 (need: Main”)
Step #7: IS = IS1 + Main
Step #7: IS = IS + IS2
Step #8: IS = IS + IS3
Topic: Software Integration Testing
Jerry Gao Ph.D. 7/2002
Object-Oriented Software Integration
There are a number of proposed integration test strategies for object-oriented
software.
One of them is known as Class Test Order.
What is class test order?
- It is a class test sequence order for a class library or an OO program.
Topic: Software Integration Testing
Jerry Gao Ph.D. 7/2002
A Class Test Order for Object-Oriented Programs
ButtonList
Button
Sensor
TextButton
Subject
InstructorItr
ButtonState
Event Scene
World
Control
ControlState
CanvasRep Canvas
MonoScene
AG
AS
AS
AS
AS
AS
AS
AG
AS
AS
AS
AS
AS
AG
I
I
I
I
I
I
ASAS
AS
AG
AS
Topic: Software Integration Testing
Jerry Gao Ph.D. 7/2002
A Class Test Order for Object-Oriented Programs
ButtonList
Button
Sensor
TextButton
Subject
InstructorItr
ButtonState
Event Scene
World
Control
ControlState
CanvasRep Canvas
MonoScene
AG
AS
AS
AS
AS
AS
AS
AG
AS
AS
AS
AS
AS
AG
I
I
I
I
I
I
ASAS
AS
AG
AS
Topic: Software Integration Testing
Jerry Gao Ph.D. 7/2002
A Class Test Order for Object-Oriented Programs
ButtonList
Button
Sensor
TextButton
Subject
InstructorItr
ButtonState
Event Scene
World
Control
ControlState
CanvasRep Canvas
MonoScene
AG
AS
AS
AS
AS
AS
AS
AG
AS
AS
AS
AS
AS
AG
I
I
I
I
I
I
ASAS
AS
AG
AS
1
4
I
3
2
4
1
2
3
5
4.1
4.2
3.1
3.2
3.3
3.4
1.1
1.2 5.1
5.2

Más contenido relacionado

La actualidad más candente

Software Testing Ni Boni
Software Testing Ni BoniSoftware Testing Ni Boni
Software Testing Ni Boni
Jay Ar
 
Software Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex TrainingSoftware Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex Training
Bryan Len
 
Gl istqb testing fundamentals
Gl istqb testing fundamentalsGl istqb testing fundamentals
Gl istqb testing fundamentals
Pragya Rastogi
 

La actualidad más candente (19)

Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Integration testing
Integration testingIntegration testing
Integration testing
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Software Testing Ni Boni
Software Testing Ni BoniSoftware Testing Ni Boni
Software Testing Ni Boni
 
Integration test
Integration testIntegration test
Integration test
 
SOFTWARE TESTING: ISSUES AND CHALLENGES OF ARTIFICIAL INTELLIGENCE & MACHINE ...
SOFTWARE TESTING: ISSUES AND CHALLENGES OF ARTIFICIAL INTELLIGENCE & MACHINE ...SOFTWARE TESTING: ISSUES AND CHALLENGES OF ARTIFICIAL INTELLIGENCE & MACHINE ...
SOFTWARE TESTING: ISSUES AND CHALLENGES OF ARTIFICIAL INTELLIGENCE & MACHINE ...
 
Software Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex TrainingSoftware Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex Training
 
Ppt 2 testing throughout the software life cycle
Ppt 2 testing throughout the software life cyclePpt 2 testing throughout the software life cycle
Ppt 2 testing throughout the software life cycle
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Software testing
Software testingSoftware testing
Software testing
 
Testing strategies -2
Testing strategies -2Testing strategies -2
Testing strategies -2
 
FUNDAMENTAL TEST PROCESS
FUNDAMENTAL TEST PROCESSFUNDAMENTAL TEST PROCESS
FUNDAMENTAL TEST PROCESS
 
System testing
System testingSystem testing
System testing
 
Software testing
Software testingSoftware testing
Software testing
 
Gl istqb testing fundamentals
Gl istqb testing fundamentalsGl istqb testing fundamentals
Gl istqb testing fundamentals
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
software engineering
software engineeringsoftware engineering
software engineering
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 

Destacado

非常不多的多媒体公司简介
非常不多的多媒体公司简介非常不多的多媒体公司简介
非常不多的多媒体公司简介
Frank Cheung
 
Ha rdware components
Ha rdware componentsHa rdware components
Ha rdware components
EDGAR3333
 
1.2 History
1.2 History1.2 History
1.2 History
choodo
 
1.3.philosophy
1.3.philosophy1.3.philosophy
1.3.philosophy
choodo
 
מתאורולוגיה הרצאה 1
מתאורולוגיה הרצאה 1מתאורולוגיה הרצאה 1
מתאורולוגיה הרצאה 1
choodo
 
Anestesi umum-fk-ur
Anestesi umum-fk-urAnestesi umum-fk-ur
Anestesi umum-fk-ur
Aldi Rauf
 

Destacado (17)

非常不多的多媒体公司简介
非常不多的多媒体公司简介非常不多的多媒体公司简介
非常不多的多媒体公司简介
 
管窥Nodejs的事件——基于观察者模式的事件队列
管窥Nodejs的事件——基于观察者模式的事件队列管窥Nodejs的事件——基于观察者模式的事件队列
管窥Nodejs的事件——基于观察者模式的事件队列
 
Ha rdware components
Ha rdware componentsHa rdware components
Ha rdware components
 
N at
N atN at
N at
 
1.2 History
1.2 History1.2 History
1.2 History
 
Ip
IpIp
Ip
 
图形渲染引擎:Ext.draw源码心得
图形渲染引擎:Ext.draw源码心得图形渲染引擎:Ext.draw源码心得
图形渲染引擎:Ext.draw源码心得
 
1.3.philosophy
1.3.philosophy1.3.philosophy
1.3.philosophy
 
关于职业发展的一点思考
关于职业发展的一点思考关于职业发展的一点思考
关于职业发展的一点思考
 
Sencha SDK Tools简介:IE6上也可以用CSS3?
Sencha SDK Tools简介:IE6上也可以用CSS3?Sencha SDK Tools简介:IE6上也可以用CSS3?
Sencha SDK Tools简介:IE6上也可以用CSS3?
 
Ddh
DdhDdh
Ddh
 
Domino java
Domino javaDomino java
Domino java
 
史前的Ssjs——从js的asp到node js
史前的Ssjs——从js的asp到node js史前的Ssjs——从js的asp到node js
史前的Ssjs——从js的asp到node js
 
Java tut1
Java tut1Java tut1
Java tut1
 
מתאורולוגיה הרצאה 1
מתאורולוגיה הרצאה 1מתאורולוגיה הרצאה 1
מתאורולוגיה הרצאה 1
 
Anestesi umum-fk-ur
Anestesi umum-fk-urAnestesi umum-fk-ur
Anestesi umum-fk-ur
 
何为用户体验设计
何为用户体验设计何为用户体验设计
何为用户体验设计
 

Similar a Integration test

Unit 6 final
Unit 6 finalUnit 6 final
Unit 6 final
sietkcse
 
Learn software testing with tech partnerz 2
Learn software testing with tech partnerz 2Learn software testing with tech partnerz 2
Learn software testing with tech partnerz 2
Techpartnerz
 

Similar a 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.
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
10-Testing-system.pdf
10-Testing-system.pdf10-Testing-system.pdf
10-Testing-system.pdf
 
Unit 6 final
Unit 6 finalUnit 6 final
Unit 6 final
 
Testing strategies
Testing strategiesTesting strategies
Testing strategies
 
Software Engineering unit 4
Software Engineering unit 4Software Engineering unit 4
Software Engineering unit 4
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Testing
TestingTesting
Testing
 
Different Software Testing Levels for Detecting Errors
Different Software Testing Levels for Detecting ErrorsDifferent Software Testing Levels for Detecting Errors
Different Software Testing Levels for Detecting Errors
 
Ch 2 Apraoaches Of Software Testing
Ch 2 Apraoaches Of Software Testing Ch 2 Apraoaches Of Software Testing
Ch 2 Apraoaches Of Software Testing
 
SOFTWARE TESTING STRATEGIES:
SOFTWARE TESTING STRATEGIES:SOFTWARE TESTING STRATEGIES:
SOFTWARE TESTING STRATEGIES:
 
CTFL Module 02
CTFL Module 02CTFL Module 02
CTFL Module 02
 
ST Unit-3.pptx
ST Unit-3.pptxST Unit-3.pptx
ST Unit-3.pptx
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Levels Of Testing.pptx
Levels Of Testing.pptxLevels Of Testing.pptx
Levels Of Testing.pptx
 
Learn software testing with tech partnerz 2
Learn software testing with tech partnerz 2Learn software testing with tech partnerz 2
Learn software testing with tech partnerz 2
 
Testing methodology
Testing methodologyTesting methodology
Testing methodology
 
S.t.
S.t.S.t.
S.t.
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual Testing
 

Último

Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
ssuserdda66b
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 

Último (20)

Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 

Integration test

  • 1. Software Integration Testing Speaker: Jerry Gao Ph.D. San Jose State University email: jerrygao@email.sjsu.edu URL: http://www.engr.sjsu.edu/gaojerry
  • 2. Topic: Software Integration Testing - What is Software Integration Testing? - Non-Incremental Software Integration - Incremental Software Integration - Traditional software Integration Strategies - Software Integration Test Harness -Test Stubs and Test Drivers - Object-Oriented Software Integration Strategies Jerry Gao Ph.D. 7/20002 Presentation Outline All Rights Reserved
  • 3. Topic: Software Integration Testing What is Software Integration Testing? Testing activities that integrate software components together to form a complete system. To perform a cost-effective software integration, integration test strategy, integration test set are needed. Major testing focuses: - Interfaces between modules (or components) - Integrated functional features - Interacting protocols and messages - System architectures Who perform software integration: Developers and test engineers What do you need?: - Integration strategy - Integration test environment and test suite - Module (or component) specifications - Interface and design documents Jerry Gao Ph.D. 7/2002 What is White-Based Software Testing?
  • 4. Topic: Software Integration Testing What is a software integration strategy? Software test strategy provides the basic strategy and guidelines to test engineers to perform software testing activities in a rational way. Software integration strategy usually refers to --> an integration sequence (or order) to integrate different parts (or components) together. A test model is needed to support the definition of software integration test strategies. Typical test models: control flow graph object-oriented class diagram scenario-based model component-based integration model architecture-based integration model Jerry Gao Ph.D. 7/2002 Software Integration Strategy
  • 5. Jerry Gao Ph.D. 7/2002 Topic: Software Integration Testing Traditional Software Integration Strategy There are two groups of software integration strategies: - Non Incremental software integration - Incremental software integration Non Incremental software integration: --> Big band integration approach Incremental software integration: --> Top- down software integration --> Bottom-up software integration --> Sandwich integration
  • 6. Topic: Software Integration Testing Jerry Gao Ph.D. 7/2002 Test Stubs and Test Drivers What are software test stubs? - Software test stubs are programs which simulate the behaviors of software components (or modules) that are the dependent modules of a under test module. Typical stubs relates to a under test module in the following ways: UT Module Dependent Module Stub Functional call without parameters and return values UT Module Dependent Module Stub Functional call with parameters and return values UT Module Dependent Module Stub Functional call with input parameters only
  • 7. Topic: Software Integration Testing Jerry Gao Ph.D. 7/2002 Test Stubs and Test Drivers What are software test drivers? - Software test drivers are programs which simulate the behaviors of software components (or modules) that are the control modules of a under test module. Typical drivers relates to a under test module in the following ways: UT Module Control Module Driver Functional call without parameters and return values UT Module Control Module Driver Functional call with parameters and return values UT Module Control Module Driver Functional call with input parameters only
  • 8. Non-incremental integration: - Big Band - combine (or integrate) all parts at once. Advantages: simple Disadvantages: - hard to debugging, not easy to isolate errors - not easy to validate test results - impossible to form an integrated system Jerry Gao Ph.D. 7/2002 Topic: Software Integration Testing Traditional Software Integration Strategy
  • 9. Top-down Integration Idea:-Modules are integrated by moving downward through the control structure. Modules subordinate to the main control module are incorporated into the system in either a depth-first or breadth-first manner. Integration process (five steps): 1. the main control module is used as a test driver, and the stubs are substituted for all modules directly subordinate to the main control module. 2. subordinate stubs are replaced one at a time with actual modules. 3. tests are conducted as each module is integrated. 4. On completion of each set of tests, another stub is replaced with the real module. 5. regression testing may conducted. Pros and cons top-down integration: - stub construction cost - major control function can be tested early. Jerry Gao Ph.D. 7/2002 Topic: Software Integration Testing
  • 10. Topic: Software Integration Testing Jerry Gao Ph.D. 7/2002 Top-Down Integration Main M1 M3M2 M7M6M5M4 M8 Select the integration sequence: Depth-First Breadth-First - Left --> Right - Right --> Left 1 2 3 4 5 6 7 8
  • 11. Topic: Software Integration Testing Jerry Gao Ph.D. 7/2002 Top-Down Integration Integration Order: Breadth-First (Left Order) IS: Integrated System Mi ’: software stub for Module Mi. Step #1: IS = Main + M1 (need: M2’, M3’, M4’ and M5’) Step #2: IS = IS + M2 (need: M4’, M5’, M6’, and M3’) Step #3: IS = IS + M3 (need: M4’, M5’, M6’, and M7’) Step #4: IS = IS + M4 (need: M5’, M6’,and M7’) Step #5: IS = IS + M5 (need: M8’, M6’, and M7’) Step #6: IS = IS + M6 (need: M7’, and M8’) Step #7: IS = IS + M7 (need: M8’) Step #8: IS = IS + M8
  • 12. Topic: Software Integration Testing Jerry Gao Ph.D. 7/2002 Bottom-Up Software Integration Idea:- Modules at the lowest levels are integrated at first, then by moving upward through the control structure. Integration process (five steps): 1. Low-level modules are combined into clusters that perform a specific software sub-function. 2. A driver is written to coordinate test case input and output. 3. Test cluster is tested. 4. Drivers are removed and clusters are combined moving upward in the program structure. Pros and cons of bottom-up integration: - no stubs cost - need test drivers - no controllable system until the last step
  • 13. Topic: Software Integration Testing Jerry Gao Ph.D. 7/2002 Bottom-Up Integration Main M1 M3M2 M7M6M5M4 M8 1 53 4 97 6 2 8
  • 14. Topic: Software Integration Testing Jerry Gao Ph.D. 7/2002 Bottom-Up Integration Integration Order: Breadth-First (Left Order) IS: Integrated System Mi”: software driver for Module Mi. Step #1: IS1 = M8 + M4 (need: M5” and M1”) Step #2: IS1 = IS1 + M5 (need: M1”) Step #3+4: IS1 = IS1 + M1 (need: Main”) Step #5: IS2 = M2 + M6 (need: Main”) Step #6: IS3 = M3 + M7 (need: Main”) Step #7: IS = IS1 + Main Step #7: IS = IS + IS2 Step #8: IS = IS + IS3
  • 15. Topic: Software Integration Testing Jerry Gao Ph.D. 7/2002 Object-Oriented Software Integration There are a number of proposed integration test strategies for object-oriented software. One of them is known as Class Test Order. What is class test order? - It is a class test sequence order for a class library or an OO program.
  • 16. Topic: Software Integration Testing Jerry Gao Ph.D. 7/2002 A Class Test Order for Object-Oriented Programs ButtonList Button Sensor TextButton Subject InstructorItr ButtonState Event Scene World Control ControlState CanvasRep Canvas MonoScene AG AS AS AS AS AS AS AG AS AS AS AS AS AG I I I I I I ASAS AS AG AS
  • 17. Topic: Software Integration Testing Jerry Gao Ph.D. 7/2002 A Class Test Order for Object-Oriented Programs ButtonList Button Sensor TextButton Subject InstructorItr ButtonState Event Scene World Control ControlState CanvasRep Canvas MonoScene AG AS AS AS AS AS AS AG AS AS AS AS AS AG I I I I I I ASAS AS AG AS
  • 18. Topic: Software Integration Testing Jerry Gao Ph.D. 7/2002 A Class Test Order for Object-Oriented Programs ButtonList Button Sensor TextButton Subject InstructorItr ButtonState Event Scene World Control ControlState CanvasRep Canvas MonoScene AG AS AS AS AS AS AS AG AS AS AS AS AS AG I I I I I I ASAS AS AG AS 1 4 I 3 2 4 1 2 3 5 4.1 4.2 3.1 3.2 3.3 3.4 1.1 1.2 5.1 5.2