C/C++单元测试工具Visual Unit 4在线帮助


自动用例与边界测试

    V4.6完善了自动用例生成功能,具备前置、中置、后置三种自动生成用例的方式。

    前置生成:未添加人工用例前自动生成用例;
    中置生成:在添加了人工用例或数据后,生成补充用例;
    后置生成:完成覆盖后再生成自动用例。

    后置生成基于数据类型,用于检测边界输出造成的极端错误(如崩溃),用例数可能很多,不加入数据表格。

    前置和中置生成基于代码逻辑,生成的用例自动加入数据表格,用例的输入部分的数据质量人与工设置的用例几乎是一样的,但需要人工依据被测代码的功能检查和确认预期输出,否则会影响测试效果。
 

前置和中置生成
    前置和中置生成的目的是减少用例设计工作量。使用上无须区分前置生成和中置生成,也就是说,无论是否已手工添加用例,都可以使用自动用例生成功能。

    与后置生成不同,前置和中置生成基于代码逻辑,VU在分析代码逻辑的基础上生成用例。为避免生成无效用例,生成后自动验证并删除未增加覆盖率的用例,因此,生成命令不一定会增加新用例。如果使用生成命令未增加新用例,可以人工设置一些数据,或跳过引起崩溃的函数调用,然后再继续生成。

    为当前函数或选中函数生成用例:
    1)数据表格界面,非编辑状态下,右键菜单选择“自动生成用例”。
    2)左边函数列表窗口,选中一个函数,右键菜单选择“自动生成用例”。
   
    为当前文件或类的所有函数生成用例:
    左边函数列表窗口,选中文件或类,右键菜单选择“自动生成用例”。
    点击主工具栏的,可以停止生成。 

    为整个工程的所有函数生成用例:
    左边函数列表窗口,选中“All”,右键菜单选择“自动生成用例”。
    点击主工具栏的,可以停止生成。 

后置生成(边界测试)
    后置生成是VU最早版本就具有的功能,其生成的依据是数据类型:使用各数据类型预先定义的特殊值,如最大值、最小值、空字符串、空指针等作为输入数据,自动生成的测试用例。 这种生成方式不考虑代码的逻辑,只考虑数据类型,适用于功能逻辑的测试完成后检查极端错误,例如,未检查空指针引起的崩溃。后置生成的自动用例使用的特殊值一般是边界值,所以使用这些自动用例进行的测试,称为边界测试。

    即使是最高级别的白盒覆盖,也对“未处理某些特殊输入”形成的错误无能为力,因为白盒覆盖是以代码为基础的,如果开发人员忘了处理某些特殊输入,由于相关代码不存在,白盒覆盖当然不会报告“某某代码或分支未覆盖”,这是白盒覆盖的主要缺陷,边界测试正是为了弥补这一缺陷而设计的。 请参考示例解释边界测试的意义

    打开“边界测试开关”,并执行测试,就会同时运行普通测试和边界测试。请参考运行边界测试