没有合适的资源?快使用搜索试试~ 我知道了~
如何编写更有效的测试用例,网上经典资料,与大家分享
资源详情
资源评论
资源推荐
投资于测试用例
为了改进测试用例什么是值得做的?什么风险会促使你投资于更好地测
试用例?在他们覆盖软件需求时,还不是足够的好吗?对这些问题的答案是,
粗劣的测试用例的确会将你暴露于相当大的风险之下。他们在理论上可能覆盖
了需要,但很难用来执行测试,并会获得含糊不清的结果。好的测试会获得更
可靠的结果,而且会在以下三个范畴降低成本:
1. 生产率- 更短的时间撰写和维护用例
2. 可测试性- 更短的时间来执行他们
3. 计划的可靠性– 估算时有更好的可靠性
本文介绍如何避免因为粗劣的测试案例必然带来的损失。将让我们看到罩
盖下各种不同的测试用例,并展示在控制风险的质量中,在何处以及如何建立
测试用例。对如何提高生产率、可用性、计划的可靠性和资产管理,将给出切
实可行的建议。一旦你了解测试用例是什么和为什么的问题,您可以使用一个
标准的核查表,像附录A一样的一个附件,来确定风险领域并改善您当前的和
未来的测试用例。
在准备测试软件的过程中,最繁杂的工作是编写测试用例。建立健壮的测
试用例的动机是由可能性来激励的,测试用例将被重用于维护版本。超过所有
软件开发工作的半数的工作是维护项目。你怎么才能编写良好的测试用例,它
将提供经济的测试,首次测试后,在回归测试时将再次使用?让我们通过掀起
测试用例的罩盖,看看里面是什么,来开始我们的答案吧。
看测试用例内部
测试用例的内容(element)
针对我们的目标,一个测试用例是一套基于系统需求的,带有预期结果的
99
活动。用例包括这些内容:
测试的目标或将被测试的需求的描述
它将被如何测试的方法
测试的设置:接受测试的应用程序的版本、硬件、软件、操作系统、数据文
件、安全访问、时间、逻辑的或物理的起止日期、先决条件(如其他测试),
以及对于被测需求(一个或多个)的任何其他有关的设置信息
活动和预期的结果,或输入和输出
任何校样或附件(可选)
这些同样的内容必需被用在每一级测试——单元、集成、系统、或验收测
试的测试用例中。对于功能、性能和可用性测试,它们同样有效。“预期结果”
的标准并不适用于一个探索性质的诊断测试或其他测试。实际上诊断测试在其
用例中需要其他内容。然而,如果测试是测量性能,那性能应属于一个范围,
这个范围就是一个预期结果。
测试用例的另一种描述是,说明、目标和组织安排是用例或规格说明。完
成它的步骤被称为脚本。而另一种观点认为目标或说明是一个场景
(scenario)
或功能用例(use case)。这些观点都符合本文提议的质量评估和改进。
测试用例的质量
有一种误解,以为编写质量是主观的,就像看一幅画,哪里美丽只在观看
者的眼睛里。事实上,编写质量是客观的和可测量的。就像附录A一样,建立
一个测试用例的构成内容(目标、方法、组织安排、输入和输出等)的客观核
查表,这是很简单的。然后走查每个用例。内容是有或者没有?除了其构成,
用例也必须符合这些质量标准:
精确的。它们只测试它们描述中所说的它们将测试的内容。
经济的。它们只有对于它们的目标所需要的步骤或信息。它们不给出软件
导航。
可重用的,自立的。一个测试用例是一个对照试验。每一次不管是谁测试
它,它都应当得到相同的结果。如果只有作者可以测试它并获得结果,或如果
100
不同的测试者测试,得到不同的结果,那该测试用例就需要在组织或活动上做
更多的工作。
适合的。一个测试用例必须适合测试者和环境。如果它在理论上是合理的,
但需要所有的测试者都没有的技能,那它将会被束之高阁。即使你知道谁在测
试第一次,你也需要考虑维护和回归时的情况。
可追溯的。你必须知道此用例测试的是什么需求。它可能满足所有的其他
标准,但如果其结果是,通过或失败都无关紧要,那为什么还要费心做它呢?
可自我清理的。运行后自动收起。它返回测试环境到预测试状态。例如,
它不会留下测试系统设置在错误的日期。自动脚本可调用其他脚本来做到这一
点。不要把这一标准与破坏性混淆。测试应该是破坏性的,包括试图通过可控
制和可重复的方式打破一个模拟生产环境。
这些标准也是客观的和可测量的。它们也可以被添加到您的核查表。如果
谁知道需求和受测应用程序,那他应该填写该核查表作为一个同行审查的一部
分。遵循多少标准只有测试后才能知道,但它们都是可测量的。对于新的测试
编写者,这是一种特别有用练习,看看他们在哪块始终没有达到某一要素,或
不符合某一标准。
测试用例的格式
一个测试用例看起来像什么呢?它们似乎分为三个主要群组:分步、矩阵
和自动化脚本。当然自动化脚本将作为一个在线文件来运行,毫无疑问,其他
两个必须是基于纸张的。他们也可以是在线的。让我们来看看每一个的格式:
分步。图1显示了这个基本的格式模样。这个格式的一个完整的视图,在一
个带有其他测试内容的模板中,作为附录B来显示。
步骤活动预期结果
1 输入新的名称和地址。按<OK> 。显示屏幕008 新名称的详细信息。
2 用自然的数据填充所有空格。抓屏。按
<OK> 。
显示屏幕005维护。
3 点击<Inquiry>按钮。显示屏幕009 查询的详细信息。
101
图1 - 分步测试用例详细
信息
矩阵或表格。图2显示了这个格式的基本模样。这个格式的一个完整的视图,
在一个带有其他测试内容的模板中,作为附录C来显示。
图2 - 矩阵测试用
例详细信息
自动化脚本。图3显示了这种格式的模样。
# Open the Fax Form
menu_select_item ("File;Fax Order...");
set_window("Fax Order");
# Retrieve the Fax Order information and compare it to data from the main
window edit_get_text("Arrival:", text);
if(main_data["arr_time"] != text)
{
failure_msg = arrival_fr_mismatch;
result = FAIL;
图3 - 自动化脚本测试用例详细信息
4 从抓屏上输入名字。按<OK> 。显示屏幕010 记录详细信息。
5 比较记录细节和抓屏。所有详细信息完全匹配。
日期1/96 后受雇401K 生命险付款数
10/25/99 Y 1 3 $24.50
1/4/98 Y 3 1 $34.00
3/6/96 N 2 5 $48.00
8/15/96 Y 2 5 $86.25
8/15/96 N 2 5 $105.00
102
使用测试类型
每种类型用例的最佳用途
分步用例多用于:
分步
一次性测试用例,每一个都不同
从一屏到另一屏展开的业务场景
许多处理规则
GUI 界面
在矩阵中难以表示的输入与输出
分步用例不一定需要如图1所示的有一个按键水平的详述。活动步骤可以
在一个更高的水平,如:打开“my account”页面,寻找一个日期范围内的事
务,注意该范围:______,打印报告,转送报告,等等。
矩阵。矩阵用例多用于:
填写表格有许多变化,同一字段,不同的值、输入文件
相同的输入,不同的平台、浏览器、配置
基于显屏的字符
用矩阵表示出来最好的输入与输出
几乎任何测试都可以表示成一个矩阵,但要裁定的问题是,对于测试,是
否矩阵是最好的方式。最重要的是,矩阵要辅之以测试的一个描述、组织安排,
以及如何记录结果。如何测试矩阵,对于编写者可能是显而易见的,但没有更
剩余11页未读,继续阅读
liuqixun
- 粉丝: 2
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0