Thursday, November 10, 2011

Integration Testing

  • Integration Testing is carried out by Testers. Data transfer between the modules is tested thoroughly.
  • Consider this Integration Testing Scenario. Customer is currently in Current Balance Module. His balance is 1000. He navigates to the Transfer Module. And transfers 500 to a 3rd part account
  • Customer navigates back to the Current Balance Module & now his latest balance should be 500.
  • The Modules in the project are assigned to 5 different developers to reduce coding time
  • Coder 2 is ready with Current Balance module. Coder 5 is not ready with Transfer module required to test your integration scenario. What do you do in such a situation?
  • On approach is to use Big - Bang Integration Testing - where you wait for all modules to be developed before you begin integration testing. The major disadvantage is that it increases project execution time, since testers will be sitting idle unless all modules are developed .Also it becomes difficult to trace the root cause of defects.
  • Alternatively, you can use Incremental approach were modules are checked for integration as and when they are available.
  • Consider that the Transfer module is yet to be developed  but Current Balance module is ready .You will create a Stub which will accept and give back data to the current balance module.
  • Note that , this is not a complete implementation of the Transfer module which will have lots of check like  3rd party account # entered is correct, amount to transfer should not be more than amount to available in account and so on. But it will just simulate the data transfer that takes place between the two modules to facilitate testing
  • On the contrary, if transfer module is ready  but current balance module is not  developed you will create a Driver to stimulate data transfer between the modules
  • To increase the effectiveness of the integration testing you may use -
  • Top to down approach where higher level modules are tested first .This technique will require creation of stubs
  • Bottom Up approach -where lower level modules are tested first. This technique will require creation of drivers
  • Other approaches, would be functional increment & Sandwich - which is combination of top to down and bottom to up.
  • The choice of approach chosen depends on the system architecture and location of high risk modules.

0 comments:

Post a Comment