Integration Testing CS 4311

Slides:



Advertisements
Similar presentations
Software Testing Strategies
Advertisements

1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
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 Integration Testing Speaker: Jerry Gao Ph.D. San Jose State University URL:
Integration testing Satish Mishra
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.
Chapter Eighteen Software Testing Strategies
 Introduction Introduction  Characteristics of Strategic Testing Characteristics of Strategic Testing  Verification and Validation Verification and.
Software Testing & Strategies
Software Engineering Lecture 13 Software Testing Strategies 1.
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
Software System Integration
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Overview Integration Testing Decomposition Based Integration
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Testing, Testing & Testing - By M.D.ACHARYA QA doesn't make software but makes it better.
Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation.
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)
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
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.
Software Engineering Zhang Shuang
ANOOP GANGWAR 5 TH SEM SOFTWARE TESTING MASTER OF COMPUTER APPLICATION-V Sem.
Testing i. explain the importance of system testing and installation planning;
Software Testing Strategies for building test group
Software Testing.
Group mambers: Maira Naseer (BCS ).
Chapter-5 (Testing Strategy)
Integration Testing.
Rekayasa Perangkat Lunak Part-13
Software Testing Strategies
Software Testing Techniques
Integration Testing This is the step after the individual pieces of code or modules (programs) are tested. A set of programs do not exist in vacuum. They.
Chapter 18 Software Testing Strategies
Levels Of Testing and Special Tests
Chapter 13 & 14 Software Testing Strategies and Techniques
Definition of Integration Testing
Software System Integration
Higher-Level Testing and Integration Testing
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Chapter 17 Software Testing Strategies
Different Levels of Testing
Chapter 10 – Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Chapter 17 Software Testing Strategies
Integration Testing.
Chapter 17 Software Testing Strategies
Chapter 17 Software Testing Strategies.
Software Testing “If you can’t test it, you can’t design it”
Chapter 17 Software Testing Strategies
Software System Integration
Chapter 11: Integration- and System Testing
Chapter 11: Integration and System Testing
Chapter 17 Software Testing Strategies
CS410 – Software Engineering Lecture #11: Testing II
Integration Testing.
Software Testing Strategies
Implementation Plan system integration required for each iteration
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003. 1

Outline Big bang Top-down Bottom-up Sandwich Regression 2 2

In Class Suppose you have constructed and tested all of the units. What are the possible things you can do next?

Review: Test Procedures Driver Module to be tested Results Test cases Stub Stub

Integration Testing Assumes the units have been tested individually Tests units working together Identifies errors in the interfaces between units Approaches Big bang Top-down Bottom-up Sandwich

Big-bang Integration Test all components in isolation, then mix them all together and see how it works. As all components are merged at once, it is difficult to identify the cause of a failure. Q: Need test drivers and stubs for big-bang testing?

Top-Down Integration Testing Modules are integrated by moving downward through control hierarchy. Modules subordinate to main control module are incorporated Depth-first Breadth-first M1 M2 M3 M4 M5 M6 M7 M8 Pairs: What get’s tested first in breadth first?

Steps in Top-Down Integration Testing The main module is used as a test driver Stubs are substituted for all components directly subordinate to the main control module Stubs are replaced one at a time with actual components Tests are conducted as each component is integrated.

Evaluation of Top-Down Strategy Verifies major control or decision early in the test process Allows early recognition of major problems Depth first strategy allows a complete function of the software to be implemented Stubs replace lower-level modules so no significant data can flow upward Delay some tests until have actual modules Add code to simulate module

Bottom-Up Integration Low-level components are combined into clusters A driver is written to coordinate test case input and output Cluster is tested Drivers are removed and clusters are combined moving upward in program structure.

Bottom Up Integration Testing In Bottom Up: M1 M2 M3 M4 M5 M6 M7 M8 Pairs: What get’s tested first?

Evaluation of Bottom-Up Strategy Need for stubs is eliminated Operational modules tested thoroughly Begins construction and testing with atomic modules

Sandwich Integration Combination of bottom-up and top-down integrations System is viewed as layers Approach 1: Top-down approach is used for the top layer A bottom-up approach is used for the bottom layer Allows integration to begin early in the testing phase Does not test individual components thoroughly before integration

Sandwich integration (Cont.) Approach 2: Start with a layer in the middle Use drivers to and stubs to check Work out from middle Allows integration to begin early in the testing phase Does not test individual components thoroughly before integration

Regression Testing Adding new or changing module impacts the system New data flow paths established New I/O may occur New control logic invoked Regression testing is re-execution of subset of tests that have already been conducted Ensures changes have not propagated unintended side effects

Regression Test (Cont.) Approaches Manual testing Capture/Playback tools: capture test cases and results for subsequent playback and comparison Test suite contains following classes of test cases: Representative sample of tests that exercises all software functions Focus on functions likely affected by change Focus on components that have been changed