Software System Integration - - Get a Free Blog Here

20
Software System Integration Chapter 8 Software testing 1

Transcript of Software System Integration - - Get a Free Blog Here

Page 1: Software System Integration -   - Get a Free Blog Here

Software System Integration

Chapter 8 Software testing 1

Page 2: Software System Integration -   - Get a Free Blog Here

Overview

What is system integration?

Integration process description

Integration testing

System Integration Checklist

Chapter 8 Software testing 2

Page 3: Software System Integration -   - Get a Free Blog Here

By the end of this session, you will..

Understand the importance and role of system

integration

Understand the system integration process

Understand what is top-down and bottom-up integration

Understand what should be done before and during

system integration

Chapter 8 Software testing 3

Page 4: Software System Integration -   - Get a Free Blog Here

What is system integration?

System integration is the successful putting together of

the various components, assemblies, and

subsystems of a system and having them work together

to perform what the system was intended to do.

Successful system integration results from the proper

implementation of project activities

Chapter 8 Software testing 4

DeploymentRequirements DesignCoding and unit

TestingIntegration &

testAcceptance

Page 5: Software System Integration -   - Get a Free Blog Here

Integration process planning

Chapter 8 Software testing 5

Page 6: Software System Integration -   - Get a Free Blog Here

System integration process (1)

Integration is iterative and progressive, with each level of

integration building from and on top of the previous level

of integration

Integration and testing are part of the development

process and are used to ensure all the various pieces

work together in performing their higher-level functions.

Chapter 8 Software testing 6

Page 7: Software System Integration -   - Get a Free Blog Here

System integration process (2)

Chapter 8 Software testing 7

Page 8: Software System Integration -   - Get a Free Blog Here

Interfaces (1)

Complete Knowledge of all interfaces is essential to any

integration effort.

This includes interfaces between :

components,

assemblies,

subsystems,

and also the system and other systems it needs to work with.

Chapter 8 Software testing 8

Page 9: Software System Integration -   - Get a Free Blog Here

Interfaces (2)

Chapter 8 Software testing 9

Page 10: Software System Integration -   - Get a Free Blog Here

Complete system integration(1)

Most systems consist of both hardware and software.

These two are sometimes looked at as complete

systems in and of themselves, but they cannot function

independently of each other

There are two other system elements: people and

support systems that are also part of the complete

system.

For a system to be successfully implemented and used,

all these elements must be in place and functioning

correctly

Chapter 8 Software testing 10

Page 11: Software System Integration -   - Get a Free Blog Here

Complete system integration(2)

Chapter 8 Software testing 11

Page 12: Software System Integration -   - Get a Free Blog Here

Integration testing

Integration testing involves building a system from its

components and testing it for problems that arise

from component interactions.

Initial approach: “Big Bang”

Incremental integration

Top-down integration

Bottom-up integration

Sandwich integration

Chapter 8 Software testing 12

Page 13: Software System Integration -   - Get a Free Blog Here

Top-down Integration AlgorithmDevelops the skeleton of the system and populate it with components.

1. Use Main control module as a test driver and substitute

all modules that are directly subordinate to it by stubs.

2. Depending on the integration approach selected (depth

first or breadth first), choose a stub and replace it by a

real module.

3. Tests are conducted after replacement of a stub by a

real module.

4. While there exist stubs in the system, go to step 2(loop)

5. Stop when the whole system structure is built and no

stubs remain.

Chapter 8 Software testing 13

Page 14: Software System Integration -   - Get a Free Blog Here

Top-down IntegrationWhat is a stub?

It is a test module that replaces a called module and that

has exactly the same interface.

Chapter 8 Software testing 14

Stub A Stub B Stub C Stub D

- Display a trace message

- Display passedperameter

- Return a value from a table (or external file)

- Combine B and C

Page 15: Software System Integration -   - Get a Free Blog Here

Bottom-up Integration Algorithm Integrates components at the lowest levels then adds

functional components when going to the upper levels.

1. Construct drivers for low level modules.

2. Execute and test each driver separately.

3. Remove drivers and combine modules moving upward

into clusters that perform a specific software sub-

function. When the main module is reached go to 5)

4. Construct a driver per cluster. Go to 2)

5. Stop when the whole system structure is built and no

drivers remain.

Chapter 8 Software testing 15

Page 16: Software System Integration -   - Get a Free Blog Here

Bottom-up integrationWhat is a driver?

A driver is a test module that replaces a real calling

module and that has exactly the same interface.

Chapter 8 Software testing 16

Driver A Driver B Driver C Driver D

- Invoke subordinate

- Send known parameter

- Call real module

-Call real module

-Display parameter

- Send known parameter

-Call real module

- display parameter

Page 17: Software System Integration -   - Get a Free Blog Here

System integration checklistBefore starting

1. Do your test plans include and support integration efforts?

2. Does your development plan allocate adequate time and resources

for system integration efforts, including rework time?

3. Are the interfaces between components, assemblies, subsystems,

and systems defined in adequate detail?

4. Will hardware be available for testing software during integration?

5. Is there a contingency plan if the schedule slips and if the

integration schedule is compressed?

6. Are all elements of the system included in the integration plan?

7. Is all documentation current and available for reference?

Chapter 8 Software testing 17

Page 18: Software System Integration -   - Get a Free Blog Here

System integration checklist

During integration (1)

1. Is there an efficient rework cycle in place to fix problems found during integration testing?

2. Are “fixed” modules or components integrated and retested at all levels of integration up to the level where the problem was found?

3. Is the people element (operators, maintainers, logisticians, trainers, etc.) being prepared to work with the system when it is deployed?

4. Is the support systems element (logistics, maintenance, training, etc.) being prepared to support the new system when it is deployed?

5. Are you following an iterative, progressive integration process?

6. Are experienced integrators involved with the integration?

Chapter 8 Software testing 18

Page 19: Software System Integration -   - Get a Free Blog Here

System integration checklist

During integration (2)

7. Are area/subject matter experts involved with the integration?

8. Is adequate time being allowed for integration, testing, rework, reintegration, and retesting?

9. Are all necessary resources being made available for integration?

10. Is adequate testing being performed on integrated units (assemblies, subsystems, elements, system) to ensure that there are no surprises during acceptance testing?

11. Are you updating documentation during rework?

12. Are integration and system test errors being traced back to requirements and design? And if so, are the requirements and design being updated?

Chapter 8 Software testing 19

Page 20: Software System Integration -   - Get a Free Blog Here

References

http://www.stsc.hill.af.mil/resources/tech_docs/gsam4/chap14.pdf

Guide to Software Engineering Body of Knowledge, especially

Appendix D: http://www.swebok.org

NASA Systems Engineering Handbook:

http://ldcm.gsfc.nasa.gov/library/library.htm

Software Engineering Institute: www.sei.cmu.edu

System Engineering Fundamentals, 2001, Defense Acquisition

University, download at: www.dau.mil/pubs/gdbks/sys_eng_fund.asp

Chapter 8 Software testing 20