Software Integration Testing Speaker: Jerry Gao Ph.D. San Jose State University URL:

Slides:



Advertisements
Similar presentations
Defect testing Objectives
Advertisements

1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Software Regression Testing Speaker: Jerry Gao Ph.D. San Jose State University URL:
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Integration testing Satish Mishra
Software Configuration Management Speaker: Jerry Gao Ph.D. San Jose State University URL:
CHAPTER 18 SOFTWARE TESTING STRATEGIES
Integration and System Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 29, 2007.
Software Metrics II Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
Integration Testing Presented By Nesreen Ahmad. *Main Points:-  Definition Of Integration Testing.  Procedure Of Integration Testing.  Integration.
Illinois Institute of Technology
INTEGRATION TESTING ● After or during Unit Testing ● Putting modules together in a controlled way to incrementally build up the final system. ● Start with.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Testing Name: Madam Currie Course: Swen5431 Semester: Summer 2K.
Program unit A Program unit B Program unit T Function 1 Function 2 Function Component 1 Whole System (e.g. regression testing) Component 3....
 Introduction Introduction  Characteristics of Strategic Testing Characteristics of Strategic Testing  Verification and Validation Verification and.
Introduction to Software Testing
Software Testing & Strategies
Software Test Automation and Tools Speaker: Jerry Gao Ph.D. San Jose State University URL:
Software System Integration
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Chapter 13 & 14 Software Testing Strategies and Techniques
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
ECE 355: Software Engineering
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 CHAPTER 17 SOFTWARE TESTING STRATEGIES. December 28, 1997 R. A. Volz -- Assistance - Nirmal Patil 2 TOPICS u A strategic approach to software testing.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Integration testing l Tests complete systems or subsystems composed of integrated.
Overview Integration Testing Decomposition Based Integration
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
Software Testing.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Software Testing. 2 CMSC 345, Version 4/12 Topics The testing process  unit testing  integration and system testing  acceptance testing Test case planning.
Chapter 13: Regression Testing Omar Meqdadi SE 3860 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
CSC 480 Software Engineering Lecture 15 Oct 21, 2002.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Defect testing l Testing programs to establish the presence of system defects.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Integration Testing Beyond unit testing. 2 Testing in the V-Model Requirements Detailed Design Module implementation Unit test Integration test System.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
Dillon: CSE470: SYSTEM INTEGRATION 1 Build Plan l Development or integration strategies l Decide the order in which components of the system will be developed.
1 Software Testing & Quality Assurance Lecture 15 Created by: Paulo Alencar Modified by: Frank Xu.
CS 325: Software Engineering February 16, 2016 Designing a Design Class Diagram Design Class Diagrams DCD: Restaurant Example DCD: ATM Example Software.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Software Engineering Zhang Shuang
Defect testing Testing programs to establish the presence of system defects.
Software Testing Strategies for building test group
Software Configuration Management
Software Testing Ashima Wadhwa.
Group mambers: Maira Naseer (BCS ).
Integration Testing.
Chapter 18 Software Testing Strategies
Levels Of Testing and Special Tests
Definition of Integration Testing
Introduction to Software Testing
Software System Integration
Software Test Automation and Tools
Integration Testing CS 4311
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software System Integration
Software Testing Strategies
Presentation transcript:

Software Integration Testing Speaker: Jerry Gao Ph.D. San Jose State University URL:

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

Jerry Gao Ph.D.7/2002 Top-Down Integration Main M1M3M2 M7M6M5M4 M8 Select the integration sequence: Depth-First Breadth-First - Left --> Right - Right --> Left

Topic: Software Integration Testing Jerry Gao Ph.D.7/2002 Top-Down Integration Integration Order:Breadth-First (Left Order) IS: Integrated SystemMi ’: 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 M1M3M2 M7M6M5M4 M

Topic: Software Integration Testing Jerry Gao Ph.D.7/2002 Bottom-Up Integration Integration Order:Breadth-First (Left Order) IS: Integrated SystemMi”: 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 EventScene World Control ControlState CanvasRepCanvas MonoScene AG AS AG AS AG I I I I I I 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 EventScene World Control ControlState CanvasRepCanvas MonoScene AG AS AG AS AG I I I I I I 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 EventScene World Control ControlState CanvasRepCanvas MonoScene AG AS AG AS AG I I I I I I AS AG AS 1 4 I