Decision coverage is one of the structural testing techniques in software engineering, which ensures that all branches of decisions of the source codes are exercised during testing. This technique is important since it validates all the results of the decisions made, which provides full validation for the capability of the code.
According to the coverage metric the efficiency of test cases should be measured as of potential errors within the conditional statements. Whereas statement coverage guarantees that all lines of code are executed, with no need that all paths are tested, decision coverage tests all paths in decision points, making it possible to capture bugs left by statement coverage.
This approach is very helpful in critical systems, where the program must work fine no matter what inputs are given to it because inaccuracy in such can lead to serious damages.