1、第 5 章 测试用例设计,5.1 测试用例的基本概念5.2 测试用例的设计5.3 测试用例设计实例5.4 测试用例的执行与跟踪5.5 测试用例管理,5.1 测试用例的基本概念,测试用例是测试执行的最小实体,是为特定的目的而设计的一组测试输入、执行条件和预期的结果。 简单地说,测试用例就是一个文档,描述输入、动作、或者时间和一个期望的结果,其目的是确定应用程序的某个特性是否正常的工作,并且达到程序所设计的结果。,测试用例的作用1. 有效性2. 避免测试的盲目性3. 可维护性4. 可复用性5. 可评估性6. 可管理性,5.2 测试用例的设计,对于一个测试人员来说测试用例的设计编写是一项必须掌握的能
2、力。但有效的设计和熟练的编写测试用例却是一个十分复杂的技术,测试用例编写者不仅要掌握软件测试的技术和流程,而且还要对整个软件不管从业务上,还是对被测软件的设计、功能规格说明、用户试用场景以及程序/模块的结构方面,都有比较透彻的理解和明晰的把握,稍有不慎就会顾此失彼,造成疏漏。,5.2.1 测试设计说明 测试设计说明就是在测试计划中提炼测试方法,要明确指出设计包含的特性以及相关的测试方法,并指定判断特性通过/失败的规则。 测试设计说明的目的是组织和描述针对具体特性需要进行的测试,但是它并不给出具体的测试用例或者执行测试的步骤。以下内容来自于ANSI/IEEE 829标准,可作为测试设计说明的部分
3、参考:标识符、被测试的特性、方法、测试用例信息、通过/失败规则。,5.2.2 测试用例的编写标准一个优秀的测试用例应该包含以下要素:用例的编号 测试输入说明测试标题 操作步骤测试项 预期结果测试环境要求 测试用例之间的关联特殊要求 测试用例设计和测试人员测试技术 测试日期,测试用例,编号:,5.2.3 测试用例设计考虑的因素 1. 编写测试用例所依据和参考的文档和资料 软件“需求说明”及相关文档; 相关的设计说明(概要设计,详细设计等); 与开发组交流对需求理解的记录; 已经基本成型的、成熟的测试用例等。,2. 测试用例设计的基本原则.(1) 用成熟测试用例设计方法指导设计(2) 测试用例的正
4、确性(3) 测试用例的代表性(4) 测试结果的可判定性(5) 测试结果的可再现性(6) 足够详细、准确和清晰的步骤,3. 设计测试用例应注意避免的问题(1)把测试用例设计等同于测试输入数据的设计 在设计测试用例时,需要综合考虑被测软件的功能、特性、组成元素、开发阶段、测试用例组织方法等内容。 具体到每个测试用例,可以根据被测模块的最小目标,确定测试用例的测试目标;根据用户环境确定测试环境;根据被测软件的复杂程度和测试用例执行人员的技能确定测试用例的步骤;根据软件需求文档设计规格说明确定期望的测试用例执行结果。,(2) 强调测试用例设计得越详细越好 在用例设计时耗费太多时间和资源,那么留给实际执
5、行测试的时间就会太少,没办法发更多的软件缺陷。 应分析被测软件的特征,运用有效的设计方法,尽量使用较少的测试用例,同时满足合理的测试覆盖。(3) 追求测试用例设计“一步到位” 这种认识使设计出的测试用例缺乏实用性。用户可能对软件的功能提出新需求,设计需要更新,软件代码不断细化,测试用例需要逐渐完善,进一步删除、增加或修改。,(4) 将多个测试用例混在一个用例中 一个测试用例包括很多内容,容易引起混淆,可能有的测试用例通过了,而其它的没有通过,测试结果很难记录。(5) 让没有测试经验的人员设计测试用例 它带来的不利后果是:设计出的测试用例对软件功能和特性的测试覆盖率不高,编写效率低,审查和修改时
6、间长,可重用性差。 因此,通常安排经验丰富的测试人员进行测试用例设计,没有经验的人员可以从执行测试用例开始。,5.2.4 测试用例的分类. 可以把测试用例归为5大类: (1)白盒测试用例 (2)软件各项功能的测试用例 (3)用户界面测试用例 (4)软件的各项非功能测试用例 (5)对软件缺陷修正所确认的测试用例 测试种类、阶段和用例关系如表5-2所示,测试工作和开发通常一同进行,所以在完成测试计划编写后,就可以进行用例的编写工作了。测试和开发的对应关系如表5-3所示。,5.3 测试用例设计实例,例5-1:下面是计算实数平方根的函数的设计说明,试由软件设计说明导出的测试用例。输入:实数输出:实数处
7、理:当输入0或大于0时,返回输入数的平方根;当输入小于0时,显示:“Square root error - illegal negative input,并返回0;库函数Print_Line用于显示出错信息。,解:针对设计说明中的3个陈述,可以设计2个测试用例与之对应。测试用例1:输入4,返回2。/执行第一个陈述测试用例2:输入10,返回0,显示“Square root error - illegal negative input”/对应第二个和第三个陈述。,例5-2 有一个处理单价为1元5角的盒装饮料的自动售货机软件,若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出
8、来。若投入的是2元硬币,在送出饮料的同时退换5角硬币,试应用因果图法设计测试用例。,原因:投入1元5角硬币;投入2元硬币;按“可乐”按钮;按“雪碧”按钮;按“红茶”按钮。中间状态:已投币;已按钮。结果:退还5角硬币;送出“可乐”饮料;送出“雪碧”饮料;送出“红茶”饮料。,例5-3 应用场景发对ATM进行测试的实例,ATM实例的操作流程如下所示。,基本流- 提取预设金额;备选流2- ATM内没有现金;备选流3- ATM内现金不足;备选流4- PIN有误;备选流5- 账户不存在或账户类型有误;备选流6- 账面金额不足。,场景6 账户不存在 4987 808 500 2000 警告消息,银行 或账户
9、类型有误 卡退出,场景7账户余额不足 4987 809 100 50 2000 警告消息,提示 重新输入金额,5.4 测试用例的执行与跟踪,执行与跟踪测试用例前,首先要好搭建测试环境,并定义测试用例的执行顺序,然后就可以执行与跟踪测试用例了。 测试用例执行过程中,搭建测试环境是第一步。测试环境搭建之后,根据定义的测试用例执行顺序,可逐个执行测试用例。,测试用例执行中应该注意以下几个问题:(1) 全方位的观察测试用例执行结果(2) 加强测试过程记录(3) 及时确认发现的问题(4) 与开发人员良好的沟通(5) 及时更新测试用例(6) 提交一份优秀的问题报告单(7) 测试结果分析,5.5 测试用例管
10、理,与软件本身的生命周期一样,测试用例也需经过 “设计”、“评审”、“修改”、“执行”、“版本管理”、“发布”、“维护”等一系列阶段。,在对测试用例进行管理过程中,建议采用工具,参照图5-4对用例进行控制和管理。 编写用例:测试工程师根据需求规约、概要设计、 详细设计等文档编写测试用例; 用例评审 用例修改 使用用例 用例升级/维护,图5-4 用例管理示意图,1.编写测试用例 在一个软件的测试过程中,可能涉及许多测试用例,为了方便测试工作的进行和提高测试工作的效率,需要将这些测试用例有效地组织起来。 通常情况下,使用以下几种方法组织测试用例: (1) 按照程序的功能块组织 查询、打印模块的测试
11、用例 (2) 按照测试用例的类型组织 功能、兼容性测试用例 (3) 按照测试用例的优先级组织,2.测试用例的评审 有效的用例评审通常由下面两种形式组成:测试部门外部评审:主要是由开发部、项目实施部、甚至销售人员参加的评审,目的主要是查找测试工程师编写的用例是否缺少内容等。测试部门内部评审:是部门内部同行对测试策略的评审,中心是测试策略和用例编制思路是否正确,以此保证测试用例的有效性。,3.测试用例的修改更新 测试用例需要的原因主要有以下几个方面:(1)在测试过程中发现设计测试用例时考虑不周,设计不全面或者不准确,需要完善;(2)在软件交付使用后反馈的软件缺陷,部分软件缺陷未在测试中涵盖,这些缺
12、陷是因测试用例存在漏洞造成的;(3)软件自身的新增功能以及软件版本的更新,测试用例也必须配套修改更新。,4. 测试用例的管理软件 测试用例的管理是测试文件管理的一部分,为了有效地进行管理,需配备测试用例管理软件对测试用例进行管理。 现在Internet上可以下载一些用来进行测试管理的软件,其中一些是免费的,如TCM(Test Case Manager)就可以用做测试用例的管理。,TCM的主要功能:(1)能将测试用例文档的关键内容(编号、名称等),自动导入管理数据库,形成与测试用例文档完全对应的记录;(2)可供测试实施时及时输入测试情况;(3)最终实现自动生成测试结果文档,包括各测试度量值。测试覆盖率表和测试通过或失败的测试用例清单列表。,
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。