You are on page 1of 29

IT2032 SOFTWARE TESTING

 
Integration Testing
What is integration testing?
o Integration is defined as the set of
interaction among components.
o Testing the interaction between the modules
and interaction with other systems
externally is called Integration Testing.
Integration test for procedural code has two
major goals:

(i) to detect defects that occur on the


interfaces of units;
(ii) to assemble the individual units into
working subsystems and finally a complete
system that is ready for system test.
Cont.…
 The completed system is then ready for system testing.
 Integration testing works best as an iterative process in

procedural oriented system.


 One unit at a time is integrated into a set of previously
integrated modules which have passed a set of integration
tests.
 The interfaces and functionally of the new unit in
combination with the previously integrated units is tested.
Integration Testing as a type
of Testing
 Integration Testing means testing of
interface.
 Two type of interface
o Internal interface
o External interface ( or ) Exported
interface
Internal interface testing
Internal interface testing are those
that provide communication across
two modules within in the project or
product , internal to the product and
exposed to the customer or external
developer.
External interface testing
 Exported interface are those that are
visible outside the product to third party
developers and solution providers.
 Integration testing types focus on
testing interfaces that are “implicit and
explicit” and “internal and external”
Explicit & Implicit Interface
 Explicit interface are documented
interface.
 Implicit interface are those which
are internally to the software
engineers but are not documented.
A set of modules and
interfaces
Component1

Component2 Component3 Component4

Component5 Component7 Component9

Component6 Component8
Integration Testing
Methodologies
 Top – down integration
 Bottom – up integration
 Bi – directional integration
 System integration
Top – Down Integration
approach
 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 component is replaced with the
real module.
5. regression testing may conducted.
Top – Down Integration
approach
Component1

Component2 Component3 Component4

Component5 Component8

Component6 Component7
Order of testing interface
( Breath first & depth first approach )
Step Interface Tested
1 1–2
2 1–3
3 1–4
4 1–2–5
5 1–3–6
6 1 – 3 – 6 – (3 – 7)
7 ( 1 – 2 – 5 ) – ( 1 – 3 – 6 ( 3 – 7)
8 1–4–8
9 ( 1 – 2 – 5 ) – ( 1 – 3 – 6 ( 3 – 7) – ( 1 – 4 – 8)
Incremental Product
development
 If a component at a higher level requires a
modification every time a module gets added to
the bottom , then for each component addition
to integration testing needs to be repeated
starting from step1.
 Hence whatever may be the software
development model , top – down integration
can be still applied with appropriate repetitions
in integration testing.
Bottom – up Integration
approach
Idea:-
o 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.
5. regression testing may conducted
Bottom – up Integration
Component8

Component5 Component6 Component7

Component1 Component4

Component2 Component3
Order of testing interface using bottom up
integration
Step Interface Tested

1 1–5

2 2–6,3–6

3 2–6 -(3–6)

4 4–7

5 1–5–8

6 2 – 6 – (3 – 6) – 8

7 4–7–8

8 ( 1 – 5 – 8 ) – ( 2 – 6 ( 3 – 6) – ( 4 – 7 – 8)
Bi – Directional Integration
 It is a combination of top – down and bottom
– up integration approaches work together to
derive integration steps.
Sandwich integration
Component1

Component6 Component7 Component8

Component2 Component5

Component3 Component4
Steps for integration using sandwich testing
Step Interface Tested

1 6–2

2 7–3–4

3 8–5

4 (1–6–2)–(1–7–3–4)–(1–8–5)
System Integration Testing
 System integration means that all the
components of the system are integrated and
tested as a single unit.
 Two types:-
o Components or sub – system integration
o Final integration testing or system integration
Big – Bang Integration
Testing
 The salient point this testing methodology raises,
is that of optimization.
 Instead of integrating component by component
and testing, this approach waits till all components
arrive and one round of integration testing is done.
 This approach is also called Big – Bang
integration.
 It reduce testing effort and removes duplication in
testing.
Choose Integration Method

S.no Factors Suggested


integration
method
1 Clear requirements and design Top – down

2 Dynamically changing the Bottom – up


requirements, design , architecture
3 Changing architecture , stable design Bi – directional

4 Limited changes to existing Big - Bank


architecture with less impact
5 Combination of show Select one of the above
after careful analysis
Integration testing as a phase
of testing
 All testing activities that are contacted from
the point where two components are
integrated to the point where all system
components work together, are considered a
part of the integration testing phase.
Scenario Testing
 It is defined as a “set of realistic user activities that
are used for evaluating the product”.
 There are two methods
o System scenarios
o Use – case scenarios

 System scenarios
o Story line
o Life cycle / state transition
o Deployment / implementation stories from customer
o Business verticals
o Battle ground
Cont.…
 Use – case scenarios
o It is stepwise procedure on how a user intends to employ a
system with different user roles and associated parameters.
 It also holds
o Stories
o Picture
o Deployment details

Use case scenarios terms the users with different roles as actors
Agents
 User with a particular role to interact between the actors and
the system are called agents.
 Example:
o Actor and system response for ATM system

S.No Actor System Reponse

1 User likes to withdraw Request for password


cash and inserts
2 User fills in the password Validate the password

3 User select an account Ask the user for amount to


type witdraw
Defect Bash Elimination
 Defect bash is an ad-hoc testing where people does the
different role in an organization test the product together
at the same time
 Defect bash brings together plenty of good practices
which are popular in the testing field.
 They are
o Enable people “cross boundaries and test beyond assigned
areas”.
o Bringing fresh pairs of eyes to uncover new defects – “fresh
eyes have less bias”
Defect Bash Elimination
 All activities in the defect bash are planned activities
except what to the tested.
 It’s steps are
o Choosing the frequency and duration of defect bash
o Choosing the right build.
o Communicating the objective of each defect bash to
employee
o Setting up and monitoring the lab for defect bash
o Tacking actions and fixing issues
o Optimizing the effort involved in defect bash.

You might also like