CIS 4932 Special Topics Software Testing Fall 2001
CIS 4932 Special Topics Software Testing Fall 2001
Purpose
This course prepares a developer to practice unit testing on a project by applying the concepts covered in the Software Unit Test Concepts course.
11/2001
Integration Testing
Purpose
This course prepares the development team to plan and carry out an orderly process of assembling the system from tested units, and certifying the system ready for formal system test. Use of a controlled test environment ensures the validity of test results and facilitates transition to formal test.
11/2001 Integration Testing 3
Agenda
What is Integration? An Example of Integration
What is Integration?
The process of combining individually developed components into a system.
C
System A AB
ABC
11/2001 Integration Testing 5
What is A Component?
A component is a system building block. The smallest component is a (composite) unit A component may be formed by combining other components Top level components are identified in the software architecture
11/2001
Integration Testing
11/2001
Integration Testing
Software Architecture
Building blocks and their connections
System Interface
Shared component
11/2001
Integration Testing
What is An Interface?
An interface is a set of connections between components
Activated by a software call Involves the flow of data in either direction Connection may be transient or persistent A connection is called an interface operation
Interface Operations
One interface may have many operations.
ftp System
email
NetComm
D
11/2001
telnet
Integration Testing
10
Agenda
What is Integration? An Example of Integration
Form X
Bus Logic
SoftLogin
Applic DB Global DB
GDBAccess
11/2001
Integration Testing
13
Business Logic
Form SoftLogin AppDB NetComm
SoftLogin
BusinessLogic GDB GDBAccess
11/2001
GDBAccess
SoftLogin GDB
Integration Testing 14
Click to Order
Form (Survey) BusinessLogic SoftLogin AppDB GDBAccess GDB
11/2001
Refer a Friend
Form (Refer) SoftLogin BusinessLogic AppDB NetComm
Integration Testing
15
NetComm
Survey Data
Survey Form
Submit
BusLogic
Survey Data
Applic DB
click
Info page
SoftLogin
N/E
N/E
Global DB
GDBAccess N/E
11/2001 Integration Testing 16
11/2001
BETTER: Incrementally integrate and test, progressively expanding the number of interfaces that have been tested.
11/2001 Integration Testing 18
An orderly, managed approach avoids chaos and reduces the overall effort Integration Testing approach should be based on the architecture.
11/2001 Integration Testing 19
Agenda
What is Integration? An Example of Integration
Disadvantages
Difficult with unreliable components
11/2001 Integration Testing 25
11/2001
Integration Testing
26
Agenda
What is Integration? An Example of Integration
System
B Curly
Joe
Larry
Moe
11/2001
D
Integration Testing 28
Business Logic
11/2001
Integration Testing
30
Agenda
What is Integration? An Example of Integration
Rationale
Integration testing is driven by project size and architecture. Simple projects can be tested using a subset of the end-to-end tests used for system testing. More complex systems may require a combination of topdown, bottom-up and sandwich integration, tested by selected unit tests.
11/2001
Integration Testing
34
Integration Strategy
form tests button tests
User-Visible Components
Calls to business logic ...
Services Components
11/2001
Integration Testing
35
Define system architecture Define the integration test environment Associate components with layers Identify interfaces to layer components Bottom-up test services layer interfaces Top-down test user layer components Sandwich test business logic components
Integration Testing 36
11/2001
Integration Testing
39
11/2001
Integration Testing
40
Agenda
What is Integration? An Example of Integration
RECOMMENDED PRACTICE
Architecture Diagram
Analysis
IT Strategy Interface List
Design
IT Test Cases
Implementation Execution
Test Worksheet
Evaluation
11/2001
Integration Testing
46
Agenda
What is Integration? An Example of Integration
Summary
The key to integration testing is the use of unit tested components. The architecture of the system drives the sequence of integration and test activities. With proper planning, integration testing leverages unit testing, resulting in a smooth and efficient integration test effort.
11/2001 Integration Testing 52
SOLUTIONS TO EXERCISES