Posts Tagged ‘Integration testing’

Difference between System Testing and System Integration Testing:

1. Integration testing is a testing in which individual software modules are combined and tested as a group while System testing is a testing conducted on a complete, integrated system to evaluate the system’s compliance with its specified requirements.

2. Integration testing is testing the interface between the modules; it can be top down, bottom up, big bang while System testing is testing the end to end business scenarios in the environment which is similar to production environment.

3. System testing will be conducting at final level while Integration testing will be done at each time of module binding or a new module need to bind with the system.

4. System testing is a high level testing while Integration testing is low level testing. In simple words on completion of integration testing, system testing started not vice versa.

5. Test cases Integration testing are created with the express purpose of exercising the interfaces between the components or modules while test cases for System testing are developed to simulated the real life scenarios.

6. For Example if an application has 8 modules. Testing the entire application with all 8 modules combined, we call it System testing and if application interacts with some other applications (External systems) to retrieve or send data, to test with other application and external system or any other module we call it Integration testing or system integration testing.

V-Model for Testing:

V-Model evolved from waterfall Model.  Each phase must be completed before the next phase begins.  Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. Testing is emphasized in this model more than in the waterfall model.  It is a structured approach to testing. It brings high quality into the development of our products. The V-model is also called as Verification and Validation model.

Typical V-model shows Software Development activities on the Left hand side of model and the Right hand side of the model actual Testing Phases can be performed.

There are variants of V-Model however we will take a common type of V-model example. The V-model generally has four test levels.

1. Unit Testing:

  • The most ‘micro’ scale of Testing.
  • Performed by Programmer.
  • Requires detailed knowledge of the internal program design and code.
  • Ensures the component is working according to the detailed design/build specifications of the module.
  • Also known as component, module, or program testing.

2.Integration Testing:

  • Testing of more than one (tested) unit together to determine if they function correctly.
  • Focus on interfaces
  • It is done using the integration test design prepared during the architecture design phase.
  • Done by developers/designers and testers in collaboration
  • Also called Interface Testing or Assembly Testing

3. System Testing:

  •  After the software has been integrated (constructed), sets of high order tests shall be conducted.
  • System testing verifies that all elements mesh properly and the overall system function/performance is achieved.
  • The purpose of system testing is to fully exercise the computer-based system. The aim is to verify that all system elements and validate conformance against SRS.

  4.  Acceptance Testing:

  •  To determine whether a system satisfies its acceptance criteria and business requirements or not.
  • Done by real business users.
  • It enables the customer to determine whether to accept the system or not.
  • Acceptance Testing also called as Beta Testing, Application Testing or End User Testing.
  • Acceptance Testing should be performed in real operating environment.
  • Customer should be able to perform any test based on their business processes.

Benefits of V-Model:

  • Faults are prevented and it stops fault multiplication.
  •  Avoids the downward flow of defect.
  •  Lower defect Resolution cost due to earlier detection.
  •  Improved quality and reliability.
  •  Reduction in the amount of Re-work.
  •  Improved Risk Management
  •  Validation and Verification at each level of stage containment
  •  Allows testers to be active in the project early in the project’s lifecycle. They develop critical knowledge about the system.

 

If you like this post ,Don’t forget to write comments…………………