51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4387|回复: 2
打印 上一主题 下一主题

[求助] testbed作单元测试的疑问?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-11-17 23:22:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有个函数的入口参数是一个指针,我想生成多个测试用例,包括NULL,"","132","ABC"...就是像c++test那样可以生成很多特殊值和随机值进行测试,不知道如何实现,请高手指点一下。另外整数我只能指定步长,也不能生成随机数进行测试,也不能进行特殊值测试。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-11-18 09:19:18 | 只看该作者

还是用人工定义测试用例吧

使用任何测试工具都不要指望主要依靠自动生成的测试用例,例如,下面的最简单代码的最简单错误:
int Add(int i, int j)
{
    return i-j;  //错误是把+写成-
}
即使是这种最简单代码中的最简单错误,完全依靠自动生成的测试用例,不论你用什么工具,就算生成并运行一亿个测试用例,也发现不了,原因很简单,测试工具不会自动了解代码的功能。自动测试用例一般只能发现有行为特征的错误,例如某个测试用例下,程序崩溃了,但这种错误所占的比例很少。

自动生成的测试用例相当于“三步法”中的第三步,只是一个补充,下面把“三步法”贴出来供参考。

    对于一段程序来说,“等价类”通常是有限的,因此,从理论上来说,“现实的彻底测试”是完全可能的,但如何把所有的等价类都找出来呢?经过长时间摸索和改进,我们提出了“三步法”:
    1. 根据代码的功能,人工设计测试用例进行基本功能测试;
    2. 统计白盒覆盖率,为未覆盖的逻辑单位设计测试用例,实现完整的白盒覆盖,比较理想的覆盖率是实现100%语句、条件、分支、路径覆盖;
    3. 自动生成大量的测试用例,捕捉可能的漏网之鱼。

    第1步的测试用例通常是现成的,因为详细设计文档会规定程序的基本功能,没有文档的,程序员在编程时也要想清楚程序的功能,这些基本功能就是基本测试用例;
    第2步是在第1步的基础上,检查未覆盖的逻辑单位,由于未覆盖的逻辑单位通常对应未测试的等价类,因此第2步可以找出第1步所遗漏的测试用例;
    第3步由工具自动生成测试用例进行测试,捕捉某些特殊输入未处理而产生的错误,一些特殊输入需要进行判断和处理,如果程序员忘了,由于相关代码不存在,所以白盒覆盖不能发现,这些特殊输入通常会产生有特征错误,例如程序崩溃或产生异常或运行超时,这正好是自动测试可以发现的。

[ 本帖最后由 VisualUnit 于 2006-11-18 09:21 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-11-19 12:44:27 | 只看该作者
自己顶一下
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-23 17:14 , Processed in 0.065919 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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