什么才是一个好的测试用例?
上一篇 /
下一篇 2008-11-02 22:31:41
/ 个人分类:测试理论
原文:What Is a GoodTestCase
原文作者:Cem Kaner
查看原文:http://bbs.51testing.com/thread-89151-1-1.html
摘要
设计好的测试用例是一门复杂的艺术。这种复杂性来自三方面:
- 测试用例帮助我们发现信息,不同类型的测试用例对不同种类的信息产生更好的效果。
- 好的测试用例可能好在很多方面,但不是在所有方面都是一个好的用例。
- 人们趋向于根据一定的测试风格创建测试用例,例如域测试或者基于风险的测试,好的域测试是不同于好的风险测试的。
什么是测试用例?
让我们从基础开始,什么才是一个测试用例呢?
IEEE标准610(1990)这样定义:
1)测试用例是为某个特殊对象开发的一套输入数据,执行条件和期望结果集合,例如为了使用一个特殊的程序路径或者为了验证符合一个特定的需求。
2)(IEEE Std 829-1983)为了测试一个目标,指定输入,预期结果和一组执行条件的文档。
Ron Patton(2001,p65)
测试用例是你在测试软件时要尝试的特定输入和要遵循的方法。
Boris Beizer(1995,p3)
一个或多个子用例作为一个序列顺序执行,因为一个子用例结果和/或状态是另一个的输入和/或初始状态。单词"测试"包含子测试,专用测试和组测试。
Bob Binder(1999,p47)
一个测试用例说明IUT和环境在测试之前的状态,测试输入数据或者条件,并且给出期望结果。期望结果说明在输入特定测试数据时IUT产生什么结果。这个说明包括由IUT产生的消息,异常,返回值和IUT和环境最终状态。测试用例也说明其他构成IUT和环境的那些对象的初始和结果条件。
在实践中,许多事情被称作测试用例,尽管他们没有完整的纪录。
Brian Marick使用了一个相关的短语来描述轻量级的测试用例,测试点子;
一个测试点子是对被测试事情的概要描述。例如,假如你在测试一个平方根的功能,一个好的点子就是“测试一个小于零的数字”。这个点子是要检查代码是否处理了一个错误情况。
我个人认为,一个测试用例是你对程序提出的一个问题。执行这个测试是为了获得信息,例如会知道在这个测试中程序是通过还是失败。
无论这个测试用例说明是否详细,只要它清楚测试点是什么,并且知道如何应用那个测试点在产品的某个特定方面(feature,例如)。因此当一个测试用例的说明是一个最基本的描述时,在你的词汇表里,请用“测试点子”替换“测试用例”。
定义一个测试用例为一个提问的隐身含义是一个测试用例必须是能合理的暴露信息。
相关阅读:
- 关于评审 (lan_7366, 2008-9-16)
- 软件测试和软件质量的关系 (lan_7366, 2008-9-16)
- BUG的管理流程(转) (pl80601983, 2008-9-21)
- “并发用户数”、“系统用户数”和“同时在线用户数”之间的差别! (belie, 2008-10-06)
- 如何发现更深次的bug(转) (belie, 2008-10-15)
- 转载《从外行到专业的软件测试工程师的经历》 (belie, 2008-10-15)
- 测试web程序的几大要点(转) (belie, 2008-10-15)
- web 应用程序测试方法和测试技术详解!(转) (belie, 2008-10-15)
- 软件测试基础知识 (紫色梦幻, 2008-10-29)
- 测试种类和测试阶段 (suntomoon, 2008-11-02)
收藏
举报
TAG:
测试理论