Software Testing and Their Hierarchy

Software Testing

Software testing is a process of executing a program or application with the intent of finding the software bugs.

It can also be stated as the process of validating and verifying that a software program or application or product:

  • Meets the business and technical requirements that guided it’s design and development.
  • Works as expected.

Software Testing has different goals and objectives. The major objectives of software testing are as follows:

  • To find defects that may be created by the programmer while developing the software.
  • To gain confidence in and providing information about the level of quality.
  • To prevent defects.
  • To make sure that the end result meets the business and user requirements.
  • To ensure that it satisfies the BRS that is Business Requirement Specification and SRS that is System Requirement Specifications.
  • To gain the confidence of the customers by providing them a quality product.


Software Testing Hierarchy

As with almost any technical process, software testing has a prescribed order in which things should be done. Different levels of testing are used in the testing process; each level of testing aims to test different aspects of the system. The following is lists of software testing categories arranged in sequentially organize.levels of software testing hierarchy

Fig: levels of software testing hierarchy

  1. Unit testing:

    Testing is done in the development process while developer completes the unit development. The object of this testing is to verify correctness of the module. The purpose of unit testing is to check that as individual parts are functioning as expected. Basically Unit testing is typically carried out by the developer.

  2. Integration testing:

    System Integration Testingis started after the individual software modules are integrated as a group. A typical software project consists of multiple modules & these are developed by different developers. So in integration testing is focuses to check that after integrating modules Is two modules are communicating with each other or not. It is critical to test every module’s effect on the entire program model. Most of the issues are observed in this type of testing.

  3. System testing:

    This is the first time end to end testing of application on the complete and fully integrated software product before it is launch to the market.

  4. Acceptance testing:

    User acceptance is a type of testing performed by the Client to certify the system with respect to the requirements that was agreed upon.  This is beta testing of the product & evaluated by the actual end users. The main purpose of this testing is to validate the end to end business flow.

  model of the software testing process

Fig: A model of the software testing process

270 total views, 3 views today

A Soon-to-be Computer Engineer by profession, he has profound devotion to add Data Scientist as a prefix to his name. He’s been to the nooks of the web (at least of the surface web) and planning to add some real figures in his pocket!

Leave a Reply