Prerequisite : Software Testing
Every Software Developer followsSoftware Development Life Cycle (SDLC) for the development of any software application. In which testing is one of the important phase which is performed to check whether the developed software application is fulfilling the requirements or not. Different types of software testing are there which are performed based on various metrics/testing parameters.
Code Coverage :
Code coverage is a software testing metric or also termed as a Code Coverage Testing which helps in determining how much code of the source is tested which helps in accessing quality of test suite and analyzing how comprehensively a software is verified. Actually in simple code coverage refers to the degree of which the source code of the software code has been tested. This Code Coverage is considered as one of the form of white box testing.
As we know at last of the development each client wants a quality software product as well as the developer team is also responsible for delivering a quality software product to the customer/client. Where this quality refers to the product’s performance, functionalities, behavior, correctness, reliability, effectiveness, security, and maintainability. Where Code Coverage metric helps in determining the performance and quality aspects of any software.
The formula to calculate code coverage is
Code Coverage = (Number of lines of code executed)/(Total Number of lines of code in a system component) * 100
Code Coverage Criteria :
To perform code coverage analysis various criteria are taken into consideration. These are the major methods/criteria which are considered.
1. Statement Coverage/Block coverage :
The number of statements that have been successfully executed in the program source code.
Statement Coverage = (Number of statements executed)/(Total Number of statements)*100.
2. Decision Coverage/Branch Coverage :
The number of decision control structures that have been successfully executed in the program source code.
Decision Coverage = (Number of decision/branch outcomes exercised)/(Total number of decision outcomes in the source code)*100.
3. Function coverage :
The number of functions that are called and executed at least once in the source code.
Function Coverage = (Number of functions called)/(Total number of function)*100.
4. Condition Coverage/Expression Coverage :
The number of Boolean condition/expression statements executed in the conditional statement.
Condition Coverage =(Number of executed operands)/(Total Number of Operands)*100.
Tools For Code Coverage :
Below are the few important code coverage tools
Advantages of Using Code Coverage :
- It helps in determining the performance and quality aspects of any software.
- It helps in evaluating quantitative measure of code coverage.
- It helps in easy maintenance of code base.
- It helps in accessing quality of test suite and analyzing how comprehensively a software is verified.
- It helps in exposure of bad, dead, and unused code.
- It helps in creating extra test cases to increase coverage.
- It helps in developing the software product faster by increasing its productivity and efficiency.
- It helps in measuring the efficiency of test implementation.
- It helps in finding new test cases which are uncovered.
Disadvantages of Using Code Coverage :
- Some times it fails to cover code completely and correctly.
- It can not guarantee that all possible values of a feature is tested with the help of code coverage.
- It fails in ensuring how perfectly the code has been covered.