一、测试目的
1.掌握覆盖率测试、回归测试的方法。
2.掌握使用Parasoft C++ Test进行覆盖率测试、回归测试。
二、测试环境
Windows XP, Parasoft C++ Test 9.2
三、测试内容
使用Parasoft C++ Test进行覆盖率分析,并手动添加测试用例提高测试覆盖率,以及回归测试。
四、测试步骤及结果
5.1 C++Test的覆盖率分析概述
1.1.测试覆盖率介绍
行覆盖率(Line Coverage–LC)
指出多少源码的可执行受控制流影响至少一次。如果所有可执行代码107受到影响至少一次,将会获得完全的 100% 行覆盖率。
块覆盖率(Block Coverage–BC)
与行覆盖率类似,除了带有块覆盖率的测量代码单元是一个基本块(见前面表格中这一术语的定义)表示源码中有多少基本块受到控制流影响至少一次。
路径覆盖率(Path Coverage–PC)
表明是否一个给定的函数中每条可能的路径随后有控制流。用于挑选路径的分开点(见前面表格中这个术语的解释)与在判断(分支)覆盖率中相同。因为循环引入极多数量的路径,这个测量只考虑有限循环的可能性。
判断(分支)覆盖率(Design/Condition Coverage—DC/CC)
表明源码中有多少分支控制流通过。当每一个判决在所有的分支点取得所有可能的结果至少一次时,可获取完整的,100% 覆盖。C++test 考虑源码中下列语句类型分支点:if-else, for,while, do-while和switch.。C++test 没有将这样的动态分支点当作为异常操作 (throw-catch 语句)。如果在一个