极速手机网
Visual Unit

Visual Unit

版本:4.5

大小:27.33 MB

环境:PC端

日期:2019- 4-24

高速下载PC版下载
  • Visual Unit 图片 01s
  • Visual Unit 图片 02s
  • Visual Unit 图片 03s
  • Visual Unit 图片 04s
  • Visual Unit 图片 05s
  • Visual Unit 图片 06s

Visual Unit介绍

测试代码功能逻辑,实现高效率高质量编程。从前,单元测试很难做,现在,C单元测试与C++单元测试不用写代码了!

如果不做单元测试,编程产能大部分消耗在调试上。一个模块的纯编码时间如果为10,那么,即时调试(编码过程中的调试)时间在10-50之间,后期调试(集成后排除bug的调试)时间也在10-50之间。调试一个bug,一两个小时不知不觉就过去了,一两个小时能够编写一堆代码。

单元测试节约90%的调试,假如单元测试本身不消耗时间,那么,编写合格代码的产能可以提升两到三倍。可惜单元测试太难,太费时间,高成本基本上抵消了效益。虽然如此,还是有不少企业在实施或不断尝试单元测试,说明业界普遍认为,单元测试的效益,与投入相比,至少是持平的。

VU4实现了彻底的表格驱动,不用编写测试驱动代码和桩代码,比现有的任何同类工具测试效率高10倍以上,意味着单元测试的时间成本降低90%,同时,只收服务费,使采购工具的成本也降低90%。如果在以前的时间成本和工具成本下,效益和成本是平衡的,那么,这两项成本双降90%意味着什么?大量的钱!如果程序员人手一套VU4,边开发边测试,对于一个效益还过得去的企业,一位中级程序员一年可以产生20万的效益!

10倍效率从何而来?

VU4完全表格驱动,不用写测试代码。请看下面的测试示例,测试涉及到:底层输入(调用底层函数产生的数据)、局部输出(执行过程中判断变量)、对象指针链表、对象指针映射表。使用VU4,点几下鼠标,在表格填几行数据就OK了,别的工具要写多少代码?且哪个能判断局部输出?岂止是十倍效率。这个示例未涉及到局部输入(中断输入、界面输入、静态输入等),其设置也一样。有些工具宣称自动生成用例完成测试,那不是高效率,那是高忽悠,工具不可能自动了解代码功能,因此不可能生成有意义的用例。VU4任意设置逻辑块的输入输出,一个函数多个逻辑块可以对应多个表格,天下没有难测的代码!

快速完成高标准覆盖

欧美航空标准MC/DC覆盖很强很科学,可是广受质疑,因为太难了,但使用VU4,则一点也不难。VU4针对未覆盖的逻辑单位,自动计算出近似用例及修改提示,根据提示修改近似用例,就可以找出隐藏很深的用例实现覆盖。完成高标准覆盖又是一个效率瓶颈,不过对VU4来说,却是一项拿手好戏,进一步拉大测试效率的领先距离。

舒服地高效地编写代码

逻辑块可视编程,提交前完成覆盖,只进行粗线条调试。这就是Easy TDD,舒服而高效的编程模式。

VU4自动示出程序行为:什么输入执行什么代码产生什么输出。写几行代码就观察程序行为,看程序所做的跟你所想的是否一致、思路是否有偏差、录入是否有错误,这样编写代码尤其是复杂的逻辑计算代码,舒服而高效。

编写逻辑块应该用可视编程,其他代码可以先不测试,以保持原来的习惯以及专注。VU4自动统计近期编写或修改的函数,提交代码到版本管理工具前,或模块的编写告一段落时,再把没测的跑一下看一下,并完成覆盖,相当于代码的复查。
平常的调试,可以只用来跟踪大的流程,不必调试逻辑块。后期发现了bug,调试只用来粗略定位,例如判断是哪个函数的问题,然后补充用例数据,修改代码并使单元测试通过,问题就解决了。

下图示出代码编写过程中对程序行为的观察。本来以为功能都实现了,可是结果不对,为什么呢?如果代码是你写的,一下子就看出原因来了:指针偏移后没有恢复。图中,黑色代码是当前输入下执行的代码。写几行代码就可以观察程序行为,这就是可视编程。

下图是提交前完成覆盖的界面,对于图示的没有逻辑计算的代码,不用做任何工作,直接执行一下就可以完成覆盖。也可以把近期更新的函数一次性执行,然后查看黄灯和红灯函数。

小编总结

大道至简,使用VU4,单元测试很简单。

人手一套VU4,编写合格代码的产能立刻提升到原来的二到三倍,而且开发过程很舒服。节约一张纸很有意义,但节约程序员的一分钟,意义要大很多很多,人才,才是比较昂贵的。

从前,单元测试谁都做不了或成本太高,如今,平衡已被打破。如果做外包,投标时承诺单元测试将秒杀对手(哪个发包方不重视项目质量?);如果做产品,快速的开发过程,将帮你抢占市场先机,抢占几次先机,就把对手远远甩掉了。

凯乐软件竭诚希望为您提供服务,谢谢!

更新日志

1、增加了调试功能
2、增加了对集成覆盖的统计功能。
3、对于函数指针,增加了自动生成实现和在表格中直接设值的功能,参见函数指针赋值。
4、针对部分嵌入式项目将数字作为指针使用的场景,增加了自动生成代码和自动替换的功能,不再需要手工添加代码和添加替换,参见数字转为指针。
5、改进了对数组参数的处理,将一维数组设为NULL,或对未指定数量的一维数组修改类型,均可在表格中直接操作,不再需要修改用例代码。同时改进了对数组出参数的底层输入支持。 参见数组及序列赋值。
6、增加了“数据深度”选项,用于提升测试和调试的运行速度,如果测试速度较慢,或调试功能不正常,可在“设定”的“功能”页设置数据深度(推荐设为3或2)。参见数据窗口。
7、一些小缺陷的修复或优化。

查看更多

相关文章

大家都在找