51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 9307|回复: 6
打印 上一主题 下一主题

[讨论] 比较Visual Unit和CppUnit的优缺点

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-1-4 17:33:29 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
C++的两个单元测试工具Visual Unit和CppUnit,大家用过的谈谈他们在应用中的优点和不足。看你们更看重哪个工具,说说你理由。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

7#
发表于 2007-10-8 02:56:19 | 只看该作者
不错的总结~
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-2-7 11:09:50 | 只看该作者
看了VU的文档,可是还是不会用sdlkfj9
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-1-16 23:29:31 | 只看该作者
我并不生气,当然也没后果,~_~,还是要谢谢老兄。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-1-13 11:13:47 | 只看该作者
to VisualUnit:
老兄很生气,后果很严重......

我的名字是czo,不是ceo,ceo是老大,我是老小。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-1-7 23:20:11 | 只看该作者

to ceo:

老大辛苦了!比较得很详细。
不明白的是,老大既然知道没有D版开发商才能生存,能生存才能提供长期服务,为什么会认为没有D版“极恶心”?
另外,我看到老大在求破解的贴子中回复建议人家去看雪找高手破解VU,够狠。就是这个帖子:http://bbs.51testing.com/thread-54125-1-1.html
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2007-1-5 15:59:23 | 只看该作者
没人回答,我来回答一下吧,说得不对欢迎拍砖。

只拿Visual Unit个人版(以下称VU)来比较,因为个人版是免费的,同时企业版的大多数功能都是CPPUNIT没有的。

概况
CPPUNIT是老牌的、经典的单元测试框架,有很多同族兄弟,统称xUnit,Visual Unit是新兴的可视化单元测试工具,发展势头似乎很猛。

基本功能
都是通过“人工建立测试用例,设定输入和预期的输出,运行程序,自动判断输出是否符合预期”这一方法来测试,这也是基本的测试方法。
不同之处:
VU是自动生成测试代码,测试用例也会生成框架,CPPUNIT完全人工编写。

调试支持
VU提供调试支持,好像从1.3开始,调试功能完全向个人版开放。支持后退和重复,可以从测试用例编辑器中选择调试输入,也可以自动将出错的用例作为输入,调试过程中还可以切换输入。这些听起来并不轰轰烈烈的功能,对于边开发边测试来说,是很好用的。
CPPUNIT好像没有这些功能。

适应性与灵活性
这是最重要的特性,总体上来说,VU的适应性和灵活性要好些。很多人都会有种感觉:自己编写测试代码当然最灵活了,这一点本没错,但使用CPPUNIT也并不是完全自由的,也要在它的框架下进行,另一方面,VU生成的测试代码也是可以修改的,还提供了自定义测试功能(即由用户自己写测试代码,不过好像只在测试COM接口之类的特殊情形下才用得上)。由于VU的测试工程只完成很单纯的工作(执行测试,把数据发给VU),不需要在测试代码中进行测试组织和数据处理,所以测试工程简单得多,因为简单,也就更灵活和具有更好的适应性。
用例的预期输出VU也要灵活得多,CPPUNIT使用一套宏,比较复杂,VU可以用任何布尔表达式,像这样都是可以的:
strcmp(str, "12345") == 0
i > 0 || ret <= 0
pStr->IsEmpty()
var.GetLength() == 0
.m_strName == "AAA"
最后一个是对成员变量进行判断,一个用例可以有任意多个预期输出。


授权方式与服务
CPPUNIT 开源,免费,好像没什么来自官方的服务吧。
VU 免费(个人版)
VU个人版虽然是免费的,但提供服务,官方的技术支持是不问用户身份的。
VU的服务意识是不错的,有在线技术支持,有问题时用户不会到各个论坛上讨论,这对宣传是很不利的,官方不可能不了解这一点,因此,可以说明他们还是把用户利益看得比较重的。

文档
VU有详细的文档,包括帮助,理论教程,视频实操教程。
CPPUNIT的文档比较少,主要是一些入门介绍。

扩展性
CPPUNIT是开源框架,有一些插件可以使用,你自己有能力的话也可以开发一些新功能。
VU是商业产品,官方一直不断升级,另一方面,个人版和企业版是兼容的,如果公司愿意出一些银子升级到企业版,那还是蛮爽的,比如平常很难做到的高要求白盒覆盖,企业版都可以做到。

心理感觉
用开源产品可能更有自由感。
VU有一点非常恶心:企业版没有D版。我搜了一下,有不少找破解版或破解方法的贴子,但都没有结果。有好得多的企业版,又被迫用个人版的话,可能很多人心理感觉很不好。不过另一方面,没有D版也有好处,因为开发商能生存和发展,也就能提供长期的服务和开发更好的产品。

[ 本帖最后由 czo 于 2007-1-6 11:03 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-23 04:09 , Processed in 0.069418 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表