VU是新一代单元测试工具Word格式文档下载.docx
- 文档编号:15887660
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:12
- 大小:720.83KB
VU是新一代单元测试工具Word格式文档下载.docx
《VU是新一代单元测试工具Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《VU是新一代单元测试工具Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
选择了一个待测试文件时,VU会检测是否存在对应的测试文件,如果不存在,弹出下面的对话框,点击“确定”即可生成对应的测试文件。
选择了一个待测试函数时,VU会检测是否存在对应的测试函数,如果不存在,弹出下面的对话框,点击“确定”即可生成对应的测试函数。
生成测试函数后,会自动弹出测试用例编辑器。
一般不需要手工编辑测试文件,建立、编辑测试用例主要在测试用例编辑器中进行。
在极特殊的情况下,也可以修改测试文件。
快速建立功能测试用例
生成测试函数后,会弹出测试用例编辑器,也可以从控制窗口或主窗口快捷菜单启动它。
下面是生成测试函数后弹出的测试用例编辑器窗口,已生成初始的测试用例,填写输入数据和预期输出即可构成完整的测试用例。
选中一个测试用例,点击“新建”按钮,VU就会生成当前选中用例的拷贝,并选中新生成的用例,这时即可进行修改以获得新的测试用例。
由于不同的测试用例之间,往往变化很小,例如只有一个输入数据和一个预期输出不同,所以,在现有的测试用例的基础上进行修改是新建更多测试用例的最高效的方法。
输入数据和预期输出可用点操作符访问成员变量,还可以用同样的语法调用成员函数。
VU生成的初始测试用例,其输入数据只包括参数,预期输出只包括返回值。
特殊情况下可以在代码模式下直接编辑测试代码,例如,下图的测试用例用于测试连续删除同一个用户两次。
快速排错
在80%情况下,浏览分析数据输出、代码执行、路径图,即可发现错误位置和错误原因。
下图演示了快速排错技术,对比预期输出与实际输出,阅读执行代码,很容易找到错误原因。
对某些关键数据,还可以使用TEST_TRACE宏输出中间结果。
在很多时候,预期输出本身是错的。
下例中把result=0;
改为result=1;
后,测试仍然是失败的,因为预期输出不是625而是3125。
高效调试
在VU的支持下调试程序是非常有趣的。
无须下断点,点击“调试”开关,用调试方式运行测试工程,即可开始调试,如下图(VC60)。
自动断点
程序自动中断时,执行调试器的“StepInto”(VC)或“TraceInto”(C++Builder)命令两三次即可进入被调试的代码。
后退与重复
使用调试器的“RuntoCursor”功能,可以实现真正的后退。
跟踪时过了头或到了函数结束还没有找到错误所在,可以回到任何位置重新跟踪,进退、反复多少次都可以,一直到调试结束才退出调试。
用例切换
VU会自动选择当前用例作为输入数据,并可以切换用例,以比较不同输入时代码的行为或变量的值。
在VU的主窗口中切换当前用例,然后执行调试器的“RuntoCursor”回到函数的入口,即可切换用例。
灵活运用VU提供的调试增强功能,可以大幅提高调试效率。
详尽的测试报告
测试报告记录函数测试的详细结果,含有十多项数据,不过常用的只有失败断言、各种覆盖率、速度等几项。
逻辑覆盖率是测试是否充分的重要指标,如果程序集成后发现不明错误,测试不充分的函数包含错误的可能比较大。
如果程序性能不理想,可以将函数耗时由大到小排列,速度比较慢的函数可能就是性能瓶颈。
程序行为一目了然
一边写代码一边测试,必要时用TEST_TRACE()宏输出中间变量,结合数据窗口、代码窗口和路径窗口,程序的行为将一目了然,对整理思路、正确编码极有帮助,大幅提高编码效率。
下图代码窗口中黑色代码为当前用例所执行的代码,带背景色的代码为未覆盖的代码;
路径窗口中分支标注的背景为淡蓝色的为未覆盖分支。
极高的测试完整性
在此之前,如果要求所有代码均达到100%语句覆盖、100%条件覆盖、100%分支覆盖,大部分代码达到100%路径覆盖,其成本是难于想象的。
VU改变了这一切,使用测试用例设计器可以快速完成这些覆盖。
不可达的分支可以轻易分辩出来并予剔除,对于逻辑结构很复杂的代码,可以屏蔽安全的部分,只关注易出错的部分,同样可以达到100%路径覆盖。
下面的逻辑结构图有点复杂,但代码的作者或对代码有所理解的程序员,依据代码提示可以轻易看出,加了虚线的分支是无法覆盖的,可以选中它并用快捷菜单的删除命令剔除它。
高效完成白盒覆盖
在代码窗口选择未覆盖语句或未覆盖条件,或在路径窗口选择未覆盖分支或未覆盖路径,用快捷菜单打开测试用例设计器,即可设计覆盖测试用例。
VU计算出一个近似用例,并生成修改提示。
下图中,待满足条件是A==2||X>
1,两个条件的关系是逻辑或,即任选一个都可以。
如果选择条件A==2,A==2与已满足条件A>
1并不冲突,因此,只需把输入数据中的A的值改为2,即可得到可覆盖预期逻辑目标的测试用例。
修改后点击“新建用例”按钮,新用例就会保存到测试文件中,重新运行测试,就会看到逻辑目标已被覆盖。
如果选择X>
1作为修改条件,请看下下图。
选择上图X>
1作为修改条件,由于依赖关系中出现了变量X,这时应点击“代码”按钮查看代码的依赖关系,如下图。
从下图可看出,由于X被语句X=X/A重新赋值,且A的值为3,要使待满足条件X>
1成立,X的输入值必须大于等于6。
因此,把近似用例中X的值改为6或大于6的数,就可以得到符合预期的测试用例。
使用测试用例设计器设计白盒覆盖的测试用例,不需要象传统的方法一样分析程序的逻辑结构,但有时需要对程序代码的基本的理解。
例如下图,如果对所测试的程序有基本的理解,那么很容易看到,在strlen(head)!
=false,即head不是空串的前提下,不进入循环是不可能的,因此逻辑目标(分支或路径)是不可覆盖的,应在路径图中删除。
visualunit2.5当然比1.4好用多了:
隔离:
自动将测试任务隔离,自动打桩,测试大型复杂项目就容易多了;
内部输入:
底层模拟可以随意设置内部输入;
还有很多其他改进。
试用一下就知道了,可以免费试用的。
价格我无法在这里提供,不过关键是好不好用,如果不好用不适用,免费也没有意义。
visualunit1.4测试小型的比较底层的代码还是相当不错的,比CppUnit强多了,也比很多商业软件强,但对复杂大项目和界面复杂的项目就比较麻烦。
VisualUnit
∙国产的单元测试工具,据说申请了多项专利,拥有一批创新的技术。
∙VU目前版本适用于C++语言。
∙黑盒方面,可以轻松完成功能测试、边界测试、速度测试,
∙白盒方面,可以轻松完成语句覆盖、条件覆盖、分支覆盖、路径覆盖。
这种空前的测试完整性,使代码中的缺陷无所循形。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VU 新一代 单元测试 工具
![提示](https://static.bdocx.com/images/bang_tan.gif)