Monday, 3 November 2014

Test Levels

Testing levels are basically to identify missing areas and prevent overlap and repetition between the development life cycle phases. In software development life cycle models there are defined phases like requirement gathering and analysis, design, coding or implementation, testing and deployment.  Each phase goes through the testing. Hence there are various levels of testing.

The various levels of testing are:

1. Unit testing: It is basically done by the developers to make sure that their code is working fine and meet the user specifications. They test their smallest piece of code which they have written like classes, functions, interfaces and procedures. The input for the Unit Testing is from design document. It follows White box testing technique.

2. Component testing: It is also called as module testing. The basic difference between the unit testing and component testing is in unit testing the developers test their piece of code but in component testing the whole component is tested. A small functionality may have few units combining them forms a component.

For example, in a student record application there are two modules one which will save the records of the students and other module is to upload the results of the students. The modules are developed separately and when they are tested one by one then we call this as a component or module testing.

3. Integration testing: Integration testing is done when two modules are integrated, in order to test the behavior and functionality of both the modules after integration. Below are few types of integration testing:

  • Big bang integration testing – All the functionalities are integrated once and the interfaces are tested. It’s a failure model since the failures cannot be exactly pointed out
  • Top down – The main module is created and the sub system or sub modules are placed with the dummy modules called Stubs. The Stubs are the called modules.
  • Bottom up – The sub modules are created first and the main module is placed with the dummy module called Drivers. The Drivers are the calling module.
  • Functional incremental –The modules are functionally incremented and tested.

a. Component integration testing: In the example above when both the modules and components are integrated then the testing done is called as Component integration testing. This testing is basically done to ensure that the code should not break after integrating the two modules.

b. System integration testing: System integration testing (SIT) is a testing where testers basically test that in the same environment all the related systems should maintain data integrity and can operate in coordination with other systems.

4. System testing: In system testing the testers basically test the compatibility of the application with the system. The end to end or whole functionality is tested to verify that it meets all the requirements.

5. Acceptance testing: Acceptance testing is basically done to ensure that the requirements of the specification are met. This is done by the end users, follows the black box testing and the inputs are from the requirement document.

  • Alpha testing: Alpha testing is done at the developer’s site but not by the developers who have developed. It is done at the end of the development process.
  • Beta testing: Beta testing is also called as Field testing which is done at the customer’s site. It is done just before the launch of the product.

No comments:

Post a Comment