11305_lect 33(integration testing)

Upload: sainimandy

Post on 08-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 11305_Lect 33(Integration Testing)

    1/10

  • 8/7/2019 11305_Lect 33(Integration Testing)

    2/10

    Integration testingy Tests complete systems or subsystems composed of integrated

    components

    y Integration testing should be black-box testing with tests

    derived from the specification

    y Main difficulty is localising errors

    y Incremental integration testing reduces this problem

  • 8/7/2019 11305_Lect 33(Integration Testing)

    3/10

    Incrementa integration testing

    T3

    T2

    T1

    T4

    T5

    A

    B

    C

    D

    T2

    T1

    T3

    T4

    A

    B

    C

    T1

    T2

    T3

    A

    B

    Test sequence1

    Test sequence2

    Test sequence3

  • 8/7/2019 11305_Lect 33(Integration Testing)

    4/10

  • 8/7/2019 11305_Lect 33(Integration Testing)

    5/10

    Top-down testing

    Level 2Level 2Level 2Level 2

    Level 1 Level 1Testing

    sequence

    Level 2stubs

    Level 3stubs

    . . .

  • 8/7/2019 11305_Lect 33(Integration Testing)

    6/10

    Bottom-up testing

    Level NLevel NLevel NLevel NLevel N

    Level N1 Level N1Level N1

    Testing

    sequence

    Testdrivers

    Testdrivers

  • 8/7/2019 11305_Lect 33(Integration Testing)

    7/10

    Testing approachesy Architectural validation

    y Top-down integration testing is better at discovering errors in the system

    architecture

    y System demonstration

    y Top-down integration testing allows a limited demonstration at an early

    stage in the development

    y Test implementation

    y Often easier with bottom-up integration testing

    y Test observation

    y Problems with both approaches. Extra code may be required to observe

    tests

  • 8/7/2019 11305_Lect 33(Integration Testing)

    8/10

    Regression Testingy Each time a new module is added as part of integration testing, the software

    changes.

    y New data flow paths are established, new I/O may occur, and new control

    logic is invoked.

    y regression testing is the re-execution of some subset of tests that have already

    been conducted to ensure that changes have not propagated unintended side

    effects.

    y Regression testing may be conducted manually, by re-executing a subset of all

    test cases or using automated capture/playback tools

  • 8/7/2019 11305_Lect 33(Integration Testing)

    9/10

    Smoke Testingy Smoke testing is an integration testing approach that is commonly used when

    shrinkwrapped software products are being developed. the smoke testing

    approach encompasses the following activities:

    y 1. Software components that have been translated into code are integrated

    into a build. A build includes all data files, libraries, reusable modules, and

    engineered components that are required to implement one or more product

    functions.

    y 2. A series of tests is designed to expose errors that will keep the build from

    properly performing its function. The intent should be to uncover show stopper

    errors that have the highest likelihood of throwing the software project behind

    schedule.

    y 3. The build is integrated with other builds and the entire product (in its

    current form) is smoke tested daily. The integration approach may be top down or

    bottom up.

  • 8/7/2019 11305_Lect 33(Integration Testing)

    10/10

    Smoke Testingy Smoke testing provides a number of benefits when it is applied on complex,

    time critical software engineering projects:

    y Integration risk is minimized. Because smoke tests are conducted daily.

    y The quality of the end-product is improved. Because the approach is

    construction (integration) oriented, smoke testing is likely to uncover both

    functional errors and architectural and component-level design defects.

    y Progress is easier to assess. With each passing day,more of the software has

    been integrated and more has been demonstrated to work.