Software Testing Integration and Bottom Up Approach

How to perform Integration Testing:for Bottom-up approach:
This integration testing is performed mainly in two1. Identify the methods, which are to be called by
waysa method in higher level module.
· Non-Incremental method and2. Identify the parameters to be passed from the
· Incremental methodlower level module or same level.
In Non-incremental method, we integrate all the3. Identify the domain values of each parameter
modules at a time. This method is basically apassed from the lower level module or same
"big-bang" approach. This method, while common,level.
is not recommended because it makes it almost4. Identify the order in which the parameters
impossible to determine the cause of any errorspassed between the components/modules from
or problems.the lower level module or same level.
In Incremental method, we integrate small5. By considering the above parameters a driver
segments of the system slowly in order to easilyis written
isolate the problems. This method is preferred andWhere and why drivers are required Bottom-up
is highly encouraged because it enforces a moretesting requires the writing of drivers. Drivers
systematic approach to software developmentsimulate both its environment (how it is called) in
and will improve reliability.the system we are building, and all other
This incremental method can be done in threeenvironments in which it may be called according
ways.to its specification. A driver is required in order to
1. Top-downperform complete testing.
2. Bottom-upDriver:
3. Critical Section.Driver is a simple and short program written to
2.Bottom-uptest a function. The driver should be simple
Steps to perform Integration Testing usingenough that we can confirm its correctness by
Bottom-up approachinspection.
· First the lower level modules areThe Developing Stub-Driver Vs Test Execution
combined to form builds or clusters.and Regression testing analysis:
· A special, simple and short program isWell Designed Drivers/Stubs gives the following
written to test the cluster is called as Driver.output
· Replace the driver with module higher in· High Effort in Development
hierarchy.· Low effort in test execution and
· Use regression testing (conducting all orregression testing
some of the previous tests) to ensure newPoorly Designed Drivers/Stubs gives the following
errors are not introduced.output
Advantages:· Low Effort in development
· Easier to create test cases and observe· High effort in test execution and
output.regression testing
· No stubs are required.How to Design Test Cases from Sequence
· Errors in critical modules are found earlyDiagramsBefore writing the testcases we have to
· It supports reuse of low-level unitsidentify the following things.
· Interface faults can be more easily1. Study the sequence diagram that shows the
found: when the developers substitute a testintegration of different components/modules.
driver by a higher level component, they have a2. Verify the object lifetime as per the sequence
clear model of how the lower level componentdiagram.
works and of the assumptions embedded in its3. Identify the components/modules to be
interface.integrated from the sequence diagrams
Disadvantages:4. Identify the main (start) method name, which
· Major drawback is absence of workingcalls a method in other module.
system until integration complete.5. Identify the parameters passed
· Test drivers are must.6. Identify the domain values of each parameter
· High-level errors may cause changes inpassed
lower modules.7. Identify the order in which the parameters
· It tests the most importantpassed between the components/modules
subsystems lastly.From these parameters derive the test cases byi.
Prerequisites for Bottom-up ApproachDivide the input domain into equivalent classes,
· Test Plansuch that all valid, invalid values which falls under
· HLDD-High Level Design Documentclassesii. Identify boundary values of each
· LLDD-Low Level Design Documentequivalent class as input dataiii.
Identify the Exact Procedure for writing Drivers