About Me

Total Pageviews

Followers

Text Widget

Powered by Blogger.

Monday 11 May 2015


Unit Testing :

Unit - Smallest testable piece of software .
Unit testing is process of testing the smallest / individual component of program.
Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. Unit testing is often automated but it can also be done manually. 
Test the functionality of units.
It is typically used to verify control flow , data flow and memory leak problems.

Integration Testing :
In Integration Testing, individual software modules are integrated logically and tested as a group.
A typical software project consists of multiple software modules, coded by different programmers.  Integration testing focuses on checking data communication amongst these modules.
Hence it is also termed as 'I & T'(Integration and Testing), 'String Testing'and sometimes 'Thread Testing'.

Approaches/Methodologies/Strategies of Integration Testing:

The Software Industry uses variety of strategies to execute Integration testing , viz.
  •  Big Bang Approach :
  •  Incremental Approach: which is further divided into following
    •  Top Down Approach
    •  Bottom Up Approach
    •  Sandwich Approach - Combination of Top Down and Bottom Up
Below are the different strategies, the way they are executed and their limitations as well advantages.

Big Bang Approach:

Here all component are integrated together at once, and then tested.

Advantages:

  • Convenient for small systems.

Disadvantages:

  • Fault Localization is difficult.
  • Given the sheer number of interfaces that need to be tested in this approach, some interfaces links to be tested could be missed easily.
  • Since the integration testing can commence only after "all" the modules are designed, testing team will have less time for execution in the testing phase.
  • Since all modules are tested at once, high risk critical modules are not isolated and tested on priority. Peripheral modules which deal with user interfaces are also not isolated and tested on priority.

Incremental Approach:

In this approach, testing is done by joining two or more modules that are logically related. Then the other related modules are added and tested for the proper functioning. Process continues until all of the modules are joined and tested successfully.
This process is carried out by using dummy programs called Stubs and Drivers. Stubs and Drivers do not implement the entire programming logic of the software module but just simulate data communication with the calling module.
Stub: Is called by the Module under Test.
Driver: Calls the Module to be tested.
Incremental Approach in turn is carried out by two different Methods:
  • Bottom Up
  • Top Down

Bottom up Integration

In the bottom up strategy, each module at lower levels is tested with higher modules until all modules are tested. It takes help of Drivers for testing
Diagrammatic Representation:

Advantages:

  • Fault localization is easier.
  • No time  is wasted waiting for all modules to be developed unlike Big-bang approach

Disadvantages:

  • Critical modules (at the top level of software architecture) which control the flow of application are tested last and may be prone to defects.
  • Early prototype is not possible

Top down Integration:

In Top to down approach, testing takes place from top to down following the control flow of the software system.
Takes help of stubs for testing.
Diagrammatic Representation:

Advantages:

  • Fault Localization is easier.
  • Possibility to obtain an early prototype.
  • Critical Modules are tested on priority; major design flaws could be found and fixed first.

Disadvantages:

  • Needs many Stubs.
  • Modules at lower level are tested inadequately. 

Integration Testing Procedure

The integration test procedure irrespective of the test strategies (discussed above):
  1. Prepare the Integration Test Plan
  2. Design the Test Scenarios, Cases, and Scripts.
  3. Executing the test Cases followed by reporting the defects.
  4. Tracking & re-testing the defects.
  5. Steps 3 and 4 are repeated until the completion of Integration is successfully.

Brief Description of Integration Test Plans:

It includes following attributes:
  • Methods/Approaches to test (as discussed above).
  • Scopes and Out of Scopes Items of Integration Testing.
  • Roles and Responsibilities.
  • Pre-requisites for Integration testing.
  • Testing environment.
  • Risk and Mitigation Plans.

Entry and Exit Criteria.

Entry and Exit Criteria to Integration testing phase in any software development model
Entry Criteria:
  • Unit Tested Components/Modules
  • All High prioritized bugs fixed and closed
  • All Modules to be code completed and integrated successfully.
  • Integration test Plan, test case, scenarios to be signed off and documented.
  • Required Test Environment to be set up for Integration testing
Exit Criteria:
  • Successful Testing of Integrated Application.
  • Executed Test Cases are documented
  • All High prioritized bugs fixed and closed
  • Technical documents to be submitted followed by release Notes.

0 comments:

Post a Comment

Popular Posts

Copyright © Manual Testing | Powered by Blogger
Design by Duan Zhiyan | Blogger Theme by NewBloggerThemes.com