DEV Community

Saumya Agnihotri
Saumya Agnihotri

Posted on • Edited on

Levels and Methods In Software Testing

Testing Software is a very crucial phase of the whole software development cycle. It is generally done in 4 levels :

  1. Unit Testing
  2. Integration Testing
  3. System Testing
  4. Acceptance Testing

Let's discuss each one of them briefly.

Unit Testing -

First level of testing which is done right after coding any module by the developer. It ensures that a module is working fine independently.

Integration Testing -

Integration Testing is done after unit testing where it is checked whether all modules are working as intended when they are integrated. But sometimes we don't have all the modules completed and integration testing keeps on happening along with the development. So now the question arises what do we do in that case? Well, for that case we have dummy programs which are known as stubs and drivers. Stubs are the called function and drivers are the calling function.

System Testing -

System Testing is also called an end to end testing. It is performed to ensure whether the integrated code is working fine with the perspective of the user.

Acceptance Testing -

Acceptance Testing is the final stage of the whole testing process and it is done by the end-user where it is ensured that the software is ready for production.

Now let's look at the various methods of testing.

  1. Black box testing
  2. White box testing
  3. Gray box testing

Black box testing -

In this, you don't need to have any prior knowledge about the internal structure or implementation of the system. It can be applied to every level of testing (Unit, Integration, System & Acceptance). It is very useful in enhancing the end-user experience.

White box testing -

For white box testing, the tester needs to know about the internal structure of the system being tested. It can be done at unit, integration & system levels of testing.

Simply put, in white box testing we test the actual code while in case of the black box testing, we test the software from a user's point of view.

Gray box testing -

Gray box testing is also known as translucent testing. In this, only limited knowledge about the internal structure is known. The objective here is to find out the defects resulted from the bad structure of code.

Top comments (0)