51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3717|回复: 3
打印 上一主题 下一主题

[转贴] 请斑竹解答。。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-7-4 11:14:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么这个帖子没有高手指点啊。

实际中很多这种情况的,怎么在单元测试中验证这种操作啊。


QUOTE:
原帖由 shuzhongbo 于 2004-12-20 13:34 发表
如:Bool CreateUser()
{
     insert into user(name,age)
    values ("test",25);

   return true;
}
例子比较简单,说明意思

如果返回的结果是True,则如何验证数据真的写入到数据库中?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-7-4 14:21:55 | 只看该作者

我来答一下吧

先转贴一段文章:
单元测试测试哪些代码?
单元测试通常不测试很简单的代码,一般也不测试“边界代码”。很简单的代码容易理解,例如Get/Set函数,这里解释一下“边界代码”。“边界代码”是指用于与外部系统交互的代码,例如用于处理用户界面的代码。数据库、文件、网络都可以看作是外部系统,用于读写数据库或文件、或访问网络的代码也可以看作是“边界代码”,这类代码应该独立出来,可以进行单元测试,但对这些代码的单元测试通常不能自动验证预期输出,而是需要人工察看。编程时,不要把普通代码与“边界代码”混在一起,例如,不要把各种运算直接写在界面类中,做到了这一点,绝大多数代码都可以进行单元测试。

你这个例子就是所说的测试边界代码。这种情况下,一般就是人工查看。如果把操作数据库的代码独立出来,人工查看的工作量并不多。另一种方法就是另外写代码,在执行了被测试程序后,读取数据库中相应的数据,然后判断是否正确。不过,还不如人工查看简单。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-7-4 15:46:02 | 只看该作者

谢谢,我一直被这个问题缠绕。

但是从目前的单元测试工具来看,都是根据输入然后把输出值跟预期结果作比较。
所以很多地方讲到单元测试的适合就自然讲到的单元测试工具,实际上很多单元测试是没有办法使用单元测试工具来进行的,必须自己构造驱动和桩函数。或者结合人工的方法来进行了。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-7-5 21:32:03 | 只看该作者
本来就是,工具只是工具而已,迷信工具的测试人员决不是好的测试。何况白盒测试单元测试本来就是投入大的活,没有必要什么都要求用白盒来解决,毕竟我追求的是代码或者应用程序的质量而不是单元测试本身不是吗。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-5-17 22:15 , Processed in 0.072297 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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