Oracle Solaris Studio 12.2 Discover 和 Uncover 用户指南

"Uncoverage"(未覆盖率)计数器

"Uncoverage"(未覆盖率)度量是一项极其强大的 Uncover 功能。如果使用此列作为排序键,降序排列时,显示在最上面的函数是最有可能提高覆盖率的函数。在本例中,main() 函数位于列表的顶端,因为它在 "Uncoverage"(未覆盖率)列中的数目最多。(sigprof()sigprofh() 函数的数目相同,因此它们按字母顺序排列。)

main() 函数的未覆盖率数目是指,向导致调用该函数的套件添加一个测试时可能覆盖的代码的字节数。根据函数的结构,覆盖率实际增加的量会有所不同。如果该函数没有分支,并且它调用的所有函数也是直线型函数,则覆盖率确实只会增加指定的字节数。但一般而言,覆盖率增长会小于潜在值,也许会小很多。

"Uncoverage"(未覆盖率)列中使用非零值的未覆盖函数称为根未覆盖函数,表示它们都由覆盖函数调用。仅由非根未覆盖函数调用的函数没有自己的未覆盖率数目。假定在后续的运行中,随着测试套件的改善而覆盖了潜力较大的未覆盖函数,这些函数将被覆盖,或者揭开以成为未覆盖函数。

覆盖率数目是非排他性的。