51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 11670|回复: 24
打印 上一主题 下一主题

[求助] 求大侠帮小女看看这单元测试用例模板~(十万火急)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-12-21 09:44:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
测试新手,根据自己理解写的单元测试用例模板,但是开发人员(JAVA语言)反映难以实施,不知道到底应该如何改正,我原本的想法是以类为单位,为确保测试覆盖率,先画控制流图,依据独立路径确定输入输出,有了输入输出就算一个用例了,但大家反映,一类为单位画控制流图不好画,类中可能涉及很多函数,每个函数复杂度都不同都有独自的控制流图,无从下手。
    迷茫啊,跪求高手指点,到底应该怎样计划,我完全困惑了~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-12-21 10:42:30 | 只看该作者
一,以类为单位实施测试,是脱离实际的。一个函数的测试就可能很复杂,以类为单位是不可行的,建议改为以函数为单位,并且只测试算法密集的函数,功能简单的函数没必要测试。

二,用例设计以基路径法为主也是不实用的。原因:
    1)效率太低,太麻烦,五十行以上的函数,你画个流程图看看,保证晕掉。
    2)覆盖强度太低,只是语句覆盖;
    3)这是脱离程序功能的用例设计方法,如果用例没有根据功能设定正确的预期输出,测试将失去意义,而且,纯白盒方法不能发现代码缺失错误,所以,用例应首先从功能的角度设计。

三,模板和测试过程建议改为:
    a. 列出函数的功能点;
    b. 每个功能点设计一个用例;
    c. 找个覆盖率工具,统计覆盖率,然后为未覆盖的逻辑单位设计用例。

四,书本往往脱离实际,单元测试领域是重灾区,尽信书不如无书。

五,建议看看我对这个贴子的回复,这是C++的,但道理一样。http://bbs.51testing.com/thread-177757-1-1.html
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-12-21 11:33:05 | 只看该作者

回复 2# 的帖子

谢谢你VisualUnit~~~~恍然大悟,之前也看过有人说先依功能点黑盒测;再统计覆盖率;最后再补充用例覆盖未测单位。当时没在意,现在听你一说还真是这么回事,太感谢了~
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-12-21 12:04:32 | 只看该作者

回复 2# 的帖子

VisualUnit看了你的帖子我还有点问题,这样看来借助工具完全可以省去写驱动模块、桩模块的工作了吧,
如果是针对JAVA语言用JUnit包就能在EClipse实现自动生成用例数据以及覆盖率统计了吗?还是有其他的配合使用的工具呢?
     这是有输入输出的情况,假如是没有输入输出的或者是执行其他操作的要怎么测呢?恳求再次指点迷津~
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-12-21 17:02:58 | 只看该作者

回复 4# 的帖子

抱歉,我主要搞C/C++的单元测试,没做过JAVA的单元测试,不熟悉相关工具。
总的来说,JAVA的单元测试容易一些,因为这种比较新的语言,在设计时就考虑了对单元测试的支持。相关的工具也挺多的,自己找一下吧。
JUnit好像不能生成桩和驱动吧?我没用过。生成桩和驱动是重复劳动,最适合工具来做,这种工具应该有吧。覆盖率统计应该有专门的工具,好像有开源的。

输入输出不仅仅是参数和返回值。输入还包括:成员变量、全局变量,内部输入。内部输入就是调用子函数获得的输入,以及局部静态变量。输出还包括:输出参数、成员变量、全局变量、内部输出。内部输出就是中间结果,例如程序计算好一个数据直接发出去了,没有返回,但是也要判断它对不对。

如果以上输入输出全都没有,这种函数通常只是起一个集成作用,没有什么计算,例如:
void func()
{
    func1();
    func2();
    func3();
}
这种函数没必要单元测试,读一下代码就可以了。单元测试适用于算法密集的函数。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-12-21 17:07:36 | 只看该作者

回复 4# 的帖子

另外,给你提个建议:
单元测试并不是容易的工作,不要一下子推广,要自己找些代码测一下,把工具和流程磨合好,去掉不必要的环节,可能的话先找一两个程序员一起探讨和尝试,成熟了才能推广。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-12-21 17:25:34 | 只看该作者

回复 5# 的帖子

恩啊,我找找看。说点题外话啊,我觉得你好适合当老师啊,讲的浅显易懂,逻辑清晰,赞~
我们公司没有成型的测试方案,我编码基础很差,想要制定测试方案还真是感觉很吃力呢,看来要恶补啦~~
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-12-21 21:28:50 | 只看该作者

回复 7# 的帖子

呵呵,谢谢夸奖。我有空时偶尔也客串一下当老师。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-12-22 17:50:12 | 只看该作者
VisualUnit讲的很好,条理很清楚.赞一个.
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-12-24 14:27:08 | 只看该作者
飘过~::balei:::
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-12-27 12:50:25 | 只看该作者
打酱油的,不错啊
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2010-2-22 17:10:05 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2010-3-4 10:38:45 | 只看该作者

回复 6# 的帖子

楼上说的挺好的,我也是弄c测试的 但是一般都是功能测试,现在也想搞点单元测试和白盒测试,但是不知道怎么下手,请多指点 谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2010-3-6 15:47:35 | 只看该作者
好帖好帖!
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2010-3-8 14:02:58 | 只看该作者
JAVA还是通过框架来做单元测试比较节约时间.
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2010-3-15 15:52:22 | 只看该作者
路过
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2023-9-19 19:52
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]测试连长

    17#
    发表于 2010-4-21 21:46:44 | 只看该作者
    原帖由 lt510934900 于 2010-3-15 15:52 发表
    路过


    看来单位不小,我们只做集成和系统测试
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2010-4-29 16:12:30 | 只看该作者

    VisualUnit讲的很好,条理很清楚.赞一个.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2011-7-23 16:54:11 | 只看该作者
    好贴,顶
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2011-7-23 17:12:32 | 只看该作者
    到公司拿testbed试试
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-22 21:48 , Processed in 0.093618 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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