1 / 18

Software Integration Testing

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. Presentation Outline.

wheatley
Télécharger la présentation

Software Integration Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Integration Testing Speaker: Jerry Gao Ph.D.San Jose State Universityemail: jerrygao@email.sjsu.eduURL: http://www.engr.sjsu.edu/gaojerry

  2. Topic: Software Integration Testing Presentation Outline - 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 All Rights Reserved

  3. Topic: Software Integration Testing What is White-Based Software 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 architecturesWho perform software integration: Developers and test engineersWhat 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

  4. Topic: Software Integration Testing Software Integration Strategy 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

  5. Topic: Software Integration Testing Traditional Software Integration Strategy There are two groups of software integration strategies: - Non Incremental software integration - Incremental software integrationNon Incremental software integration: --> Big band integration approachIncremental software integration: --> Top- down software integration --> Bottom-up software integration --> Sandwich integration Jerry Gao Ph.D. 7/2002

  6. Topic: Software Integration Testing 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 UT Module UT Module Functional call with input parameters only Functional call without parameters and return values Functional call with parameters and return values Stub Stub Stub Dependent Module Dependent Module Dependent Module Jerry Gao Ph.D. 7/2002

  7. Topic: Software Integration Testing 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 UT Module UT Module Functional call with input parameters only Functional call without parameters and return values Functional call with parameters and return values Driver Driver Driver Control Module Control Module Control Module Jerry Gao Ph.D. 7/2002

  8. Topic: Software Integration Testing Traditional Software Integration Strategy 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

  9. Topic: Software Integration Testing 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

  10. Topic: Software Integration Testing Top-Down Integration Main 1 3 2 M1 M2 M3 5 7 4 6 M4 M5 M6 M7 8 Select the integration sequence: Depth-First Breadth-First - Left --> Right - Right --> Left M8 Jerry Gao Ph.D. 7/2002

  11. Topic: Software Integration Testing 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 Jerry Gao Ph.D. 7/2002

  12. Topic: Software Integration Testing 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 Jerry Gao Ph.D. 7/2002

  13. Topic: Software Integration Testing Bottom-Up Integration Main 7 9 8 M1 M2 M3 6 4 5 3 M4 M5 M6 M7 2 1 M8 Jerry Gao Ph.D. 7/2002

  14. Topic: Software Integration Testing 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 + MainStep #7: IS = IS + IS2Step #8: IS = IS + IS3 Jerry Gao Ph.D. 7/2002

  15. Topic: Software Integration Testing 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. Jerry Gao Ph.D. 7/2002

  16. Topic: Software Integration Testing A Class Test Order for Object-Oriented Programs ButtonList Sensor AG AS AS AG AS AS AS Event Scene Button AS I AS I TextButton ButtonState World AG I AS AS AS I Subject Control I CanvasRep Canvas AS I AS AS AS AS MonoScene InstructorItr ControlState AG Jerry Gao Ph.D. 7/2002

  17. Topic: Software Integration Testing A Class Test Order for Object-Oriented Programs ButtonList Sensor AG AS AS AG AS AS AS Event Scene Button AS I AS I TextButton ButtonState World AG I AS AS AS I Subject Control I CanvasRep Canvas AS I AS AS AS AS MonoScene InstructorItr ControlState AG Jerry Gao Ph.D. 7/2002

  18. Topic: Software Integration Testing A Class Test Order for Object-Oriented Programs 3 4 4.1 ButtonList Sensor AG 3.4 AS AS AG 3.3 AS AS AS Event Scene Button 4.2 AS I 3.1 AS 2 I TextButton ButtonState World AG 3 3.2 I AS AS AS I 1 I 2 1 1.1 Subject 5.2 Control I CanvasRep Canvas AS I AS AS AS AS MonoScene 4 1.2 InstructorItr ControlState 5.1 5 AG Jerry Gao Ph.D. 7/2002

More Related