初尝单元测试(JAVA),如何制定切实可行的计划?

发表于:2009-12-24 14:33

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:dellfox(CSDNBlog)    来源:51Testing软件测试网采编

  问题一:测试新手,根据自己理解写的单元测试用例模板,但是开发人员(JAVA语言)反映难以实施,不知道到底应该如何改正,我原本的想法是以类为单位,为确保测试覆盖率,先画控制流图,依据独立路径确定输入输出,有了输入输出就算一个用例了,但大家反映,一类为单位画控制流图不好画,类中可能涉及很多函数,每个函数复杂度都不同都有独自的控制流图,无从下手。迷茫啊,跪求高手指点,到底应该怎样计划,我完全困惑了~

  答:一、以类为单位实施测试,是脱离实际的。一个函数的测试就可能很复杂,以类为单位是不可行的,建议改为以函数为单位,并且只测试算法密集的函数,功能简单的函数没必要测试。

  二、用例设计以基路径法为主也是不实用的。原因:

  1)效率太低,太麻烦,五十行以上的函数,你画个流程图看看,保证晕掉。

  2)覆盖强度太低,只是语句覆盖;

  3)这是脱离程序功能的用例设计方法,如果用例没有根据功能设定正确的预期输出,测试将失去意义,而且,纯白盒方法不能发现代码缺失错误,所以,用例应首先从功能的角度设计。

  三、模板和测试过程建议改为:

  a. 列出函数的功能点;

  b. 每个功能点设计一个用例;

  c. 找个覆盖率工具,统计覆盖率,然后为未覆盖的逻辑单位设计用例。

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

  五、建议看看这篇文章,这是C++的,但道理一样:白盒方法在用例设计中的正确应用

  问题二:

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

  看了你的帖子我还有点问题,这样看来借助工具完全可以省去写驱动模块、桩模块的工作了吧,

  如果是针对JAVA语言用JUnit包就能在EClipse实现自动生成用例数据以及覆盖率统计了吗?还是有其他的配合使用的工具呢?

  这是有输入输出的情况,假如是没有输入输出的或者是执行其他操作的要怎么测呢?恳求再次指点迷津~

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号