Loading

Test Coverage


What is meant by the term "Test Coverage"?

It's a technique or method of measuring the efficacy of a testing process. Test coverage may be seen as a metric tool, used in the testing process, to assess the coverage of the tests execution, in the software product.

During the testing phase, test coverage plays an important role, in meeting the testing objectives, which were planned, prior to the testing process, thereby ensures the achievement of quality attribute in the software product.

Test Coverage, is measured in terms of the test cases. Each test case may cover one or more than one functionality or attribute, as specified in the business or user requirement or in the SRS. As such, the sets of test cases, ensures the reach of the testing process influence, to each functionality or aspect of the software product.

Why it is needed?

Basically, the primary purpose of test coverage, is to gather the data, pertaining to the quantity of testing, carried out or needs to be executed. This data or information, enables tester, to ensure the completeness of the testing process, and nothing has been left out, to be tested.

It is the one stop solution to various queries, put up by the project/test manager or client or the stakeholders, and by the testing team, itself, for their own use. Some of the them are:

  • Whether the developed test cases, are sufficient, to consider each functionality and requirement of the software product, under the test?
  • Whether, all functionalities and requirements, have been covered or not?
  • Amount of testing that has been performed.
  • How much more testing, needs to be carried out?
  • When to stop the testing process?
  • Need of additional test cases.
  • Which test cases are baseless, and does not covers any of the functionality or requirement?

Whether, code coverage and test coverage, are similar terms?

No, these terms are completely different, to each other. Although, both of them are the tools of measurement, used for the quality achievement purposes, but the code coverage deals with the percentage/ amount of code, covered, during the execution of software applications, whereas test coverage looks after the test cases, against the specified functionality and requirements, to ensure the complete coverage of the software product, under the test.

How to perform it?

Test coverage, usually, requires mapping of the requirement with the test cases. The activities to carry out the task of test coverage, may comprise of the following methods:

  • Through static techniques, such as inspection, walkthroughs, reviews, etc.
  • Making use of the defects that were surprisingly, revealed during the testing process, such as adhoc defects, in designing and creating the executable test cases.
  • Implementation of the traceability matrix, in order to map the requirements with the test cases.
  • Going through the test status, to study and analyze the risks, associated, with the product, in order to mould the on-going testing methodology, for the risk coverage.
  • Usage of test management tools, to ensure the functional test coverage.
  • Code level and automation tools, to ensure coverage at unit level.

Apart from the above stated methods, daily update and regular maintenance, along with the usage of test management tool, may ensure the complete test coverage.