= Coverage Analysis Theory = [[TOC(Developer/Coverage/CoverageAnalysisTheory, depth=2)]] The ultimate goal of the coverage analysis testing is to ensure that every line of generated assembly in a particular configuration is executed by the test suite, that the tests exercise both taking and not taking every branch, and that every line of source code is actually tested. [[Image(CoverageCategories.png)]]]] This is beyond statement level coverage in that we have to verify both paths of a C line like the following is executed: {{{ x = (y) ? z : a; }}} That is one statement but includes a branch. That makes it one point to cover when viewed using statement coverage. But it is two points to cover in our object level coverage of generated assembly. = Object Coverage = TBD = Statement Coverage = Statement coverage verifies that each line of source code in a source file is represented by generated assembly and that that assembly code is exercised. = Decision Coverage = TBD = MC/DC = This is also known as [http://en.wikipedia.org/wiki/Modified_Condition/Decision_Coverage Modified Condition/Decision Coverage].