Levels of Testing - Testing Tools

During the design stage, the software is divided into modules and each module is divided into units. This divide-and-conquer strategy is to make life simple (remember the old riddle: how do ybu eat an elephant? One bite at a time!).

Similarly, while testing, it is no good if one combines all the units into modules and all the modules into the system and then starts testing the entire system. A practical approach is to divide the testing process into different levels. To start with, each unit has to be tested separately, and then the modules have to be built from the units and the modules are tested. Then the modules are combined together and the system is built and tested.

As shown in Figure, each level of testing is for testing a specific entity. Unit testing is done to test the source code. Integration testing is done to test the design. System testing is done to test the SRS. And, finally, the acceptance testing is done to test the client/user requirements.

Levels of Testing

Levels of Testing

Unit Testing

A unit is the smallest entity in the software. Every unit has to be tested separately to check whether it is as per the specifications. As it is not possible to test a unit individually, additional piece of code may need to be written to test the units. Unit testing is normally done by the development engineers themselves.

Module Testing

A module is an independent entity in the software. The tested units are integrated into a module and each module is tested separately for the specifications.

For instance, if $ie software is a database management system, the modules can be database (back-end) and the user interface (front-end). The database can be tested separately using the Structured Query Language (SQL) commands to check correct data retrieval. However, validation of the front-end (forms) requires a database. So, after testing the back-end module, the front-end can be tested, after integration.

After completion of testing a module, a module-level test report has to be prepared. Once every module is working as per requirements, the next phase of testing will start i.e., integration and system testing.

Integration and System Testing

After the modules are tested, the modules can be integrated together. It is very difficult to integrate all the modules together and start testing, as it would be very difficult to do the debugging. The integration has to be done systematically by incremental building and testing in steps. Once all the modules are integrated together, system testing is carried out for functional and non-functional requirements. For system testing, there are various approaches, which are discussed in the next section.

Acceptance Testing

After the system testing is completed, the software is tested by the client/user. This is known as acceptance testing. Acceptance testing can be done either at the developer's premises or client premises.

Stages of Testing

Stages of Testing

The various stages of testing are shown in Figures, describes pictorially the complete testing process as discussed in this section.

Testing Process

Testing Process

All rights reserved © 2020 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

Testing Tools Topics