Visual Unit:单元测试原来可以如此简单




“闯过了也就不当回事了”凯乐软件的架构师王彤说。回顾Visual Unit长达五六年的开发过程,缺乏资金、 技术 难关、大量功能通不过应用检验推倒重来等困难接踵而至,但王彤乐观地认为这些是原创 产品 必然要面对的。

Visual Unit是一款可视化、 自动化 的C/C++单元 测试 工具 ,具有自动打桩(包括补齐、隔离、控制)、自动生成测试代码和用例框架、可视化编辑测试用例等特性。

有趣的是,这样一款使得“单元测试原来如此简单”的软件,最初的开发原因竟是自我需要。当时王彤所在的团队是一个用业余时间承接外包 项目 的开发小组,为了保证项目质量及明确各成员的质量责任,决定推行单元测试,但未找到合用的工具,所以决定自己开发。

                                    Visual Unit的操作界面之一

最早的版本应用后感觉不错,所以一直使用,期间不断发现新需求,基本上每完成一个外包项目就升级一次,持续了两年左右。这个工具(当时还没有命名为Visual Unit)解决了测试效率低下和测试效果不佳的问题。测试效率方面,自动生成测试代码,节省了编写测试代码的时间;同时,通过自动打印输入输出数据和标示某种输入时所执行的代码,使程序行为一目了然,帮助我们整理编程思路和快速排查错误源,提高编程效率,此外还通过增强调试器功能来提高调试效率。测试效果方面,它开创了基于现有用例找出遗漏用例的技术,可以比较轻松地实现高覆盖,并自动生成大量边界测试用例来捕捉遗漏的可能导致错误的输入。

“单元测试的好处是谁做谁知道,那段时间我们的外包项目基本上都很顺利,切实体验到了单元测试的价值。”因此他们产生了把这个工具做成通用产品的想法。就这样在原来的基础上又经过一年多的研发,他们突破了一些比较高级的技术,例如逻辑结构图的自动绘制、路径及路径覆盖的自动统计、白盒用例的设计等,在05年八月份推出了1.0 Beta版,十月份发布正式版也即Visual Unit 1.0。

Visual Unit 1.0的第一套商业版在发布的当月就卖了出去,是客户主动联系的,“当时我们还没有注册公司,连发票都是由朋友公司开的。”但由于1.0版的研发是基于自我需要,所以优点和缺点都很突出:优点是功能实用、测试效率高,因此引起了不少大企业的关注;缺点是不够大气,比较适用于小团队小项目的边开发边测试,缺少解耦合、底层模拟等功能,无法对付大型企业的大型项目。

去年十二月一日正式发布的2.0是完全重新设计的版本,解决了阻碍单元测试实施的主要难题:一是自动解耦合,可以对大型特大型高耦合的项目实施分割测试;二是自动建立并行开发过程中的个体开发调试测试环境,使大型特大型项目,也能从编码开始就实现边开发边测试;三是完善的底层模拟功能,解决了因打桩造成的失真难题,不需要编写代码就可以在用例中控制底层代码的行为,包括设定返回值、输出参数、全局变量、成员变量。另外,增加了自动生成WEB格式的测试报告功能,重新设计了界面,易用性也有很大改进。

“从2.0推出的当月就开始拿签单”王彤说。有了产品性能上的保证,产品的运营也便渐渐顺利畅通了起来。虽然目前Visual Unit还谈不上盈利,但它的原创团队已经可以为此感到兴奋和更加有信心了。接下来,他们将进一步完善产品,在半年到一年内大概会开发五个中级版本(2.1至2.5),这些中级版本主要解决两方面问题:一是进一步提高用户体验,尽可能满足用户提出来的中小型需求;二是拓展产品的适应范围,包括直接支持嵌入式开发环境。至于市场推广,从今年上半年开始,他们会举行一些巡回讲座,主题是“如何推行单元测试”,下半年将开始拓展国外市场。

 
对于软件企业,不增加人力投入,不改变开发流程,不延长项目时间,不提高管理成本,要想较大幅度地提高软件产品的质量、降低开发测试及后期维护的成本,那么,单元测试可能是最好的选择。   对于程序员,在这个软件质量越来越被重视的时代,要想短期内提升你的竞争力,那么,掌握单元测试技能,养成单元测试习惯可能是最好的选择。   单元测试难不难?单元测试烦不烦?关键在于工具好不好!   Visual Unit,简称VU,是新一代单元测试工具,功能强大,使用简单,目前版本适用于C++语言。   VU自动生成测试代码,不需花费时间、中断思路去编写测试代码;VU全方位地示出代码的行为:显示各种数据的输入输出值,显示不同输入时程序所执行的代码;画出逻辑结构图及不同输入时程序的执行路径,程序员可以随时“欣赏”自己的劳动成果;VU还帮助程序员快速地排除错误和高效地调试,尽可能减少程序员查找某种错误的时间,使程序员的思维始终集中在程序逻辑上。使用VU,测试工作费时极少,同时又提高了编程的效率,总体来说,边编码边用VU进行测试,在达到完整测试的同时,还能大幅度减少开发时间。   使用VU,能轻松完成100%语句、条件、分支、路径覆盖,提供详尽的测试报告和待测试文件列表,随时可以检验测试效果、找出遗漏代码或未完成覆盖的代码,保证测试的完整性。   安装包中包含了企业版和个人版,以及单元测试教程。个人版是完全免费的版本,企业版可通过网络验证的方式,经过简单的免费注册后免费试用一段时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值