1Σ(Merge Runs )
对多次测试的路径的分析与统计,可以看到当前案例覆盖代码的情况,有那些代码没有覆盖到;有时候你对测试案例跑过多少代码并没有记录,这时需要对所有的跑过的测试进行统计,看看还有那一些代码没有覆盖到,这时这个功能就非常有用,可以对你所有的已经测试的案例进行代码覆盖统计,从而发现没有测试到的代码。
2Δ(Compare Runs)
对两次代码的测度,进行路径比较,由于测试案例比较多,这时我无法判断,两个案例的代码覆盖路径上有什么差别,这时需要对两样者进行比较,从而发现区别。
FunctionList
用来显示函数中的总行数,执行的代码行数,没有执行的代码行数,执行代码的百分比,相关的模块,与原代码的所在的文件。如图:
从这里你可详细的看到各个函数的运行情况。如果想了解函数中有那些代码没有命中到,则需要Annotated Source,或是双击函数。
Annotated Source
当我们选中main时,我们进入代码分析界面,我们可以看到main()函数的代码的详细执行情况,如图:
前面我们执行的案例,输入了4与5,这时你可以看到,代码的执行覆盖情况,m_choice=4与5的路径都执行了,但对于 m_choice=1,2,3 或6……等等,你则必需设计测试案例进行补充,从而保证代码覆盖率,呵呵。下面我执行补充的案例后,你们可以看到,代码的覆盖情况:
你可以看到代码只有4没有执行,呵呵,由于退出必需选取5,所以Count<<”Bye!\n”;
return 0;也执行了,如果把这两个测试过程通过上面的合成,就可以看到,我已经完成了代码的100%覆盖。
使用技巧
Pause/Recording: 当你发觉测试过程中必需跳过一些不需要的测试流程时,你可以使用此功能进行测试的控制,你可停止纪录让程序走到你要测试的function,再启动记录,对你需要的过程进行记录。
Cleardata: 当你发现前面的测试案例,已经走过或是属于重复案例时,是否需要重新重做,这完全是不必要的,你可以使用cleardata对之前的测试结果进行清除,再继续进行你有效的测试案例,这样可以不用中断测试。
Snaphot data:对测试进行中数据的快照,你可以对测试案例的执行的不同阶段点进行数据的快照,这样你就可以得到每一个案例执行后的情况而不需要多次重启测试,呵呵