本章主要讲解“软件测试用例设计及管理”的内容,测试方案完成后,测试流程到测试实现阶段,而测试用例的设计是测试实现阶段的核心工作,也是指导如何执行测试的基础。执行测试时主要依靠测试用例来进行,所以测试用例设计的优劣直接影响测试的质量。所以如何设计出高质量的测试用例是本章主要解决的问题。
测试用例设计完成后,还需要对测试用例进行管理,如通过测试用例来检查测试的覆盖情况,因此,管理测试用例是很重要的工作。对于测试用例的管理过程,不仅仅表现在用例设计方面,还包括测试用例编写和管理的过程。测试用例管理主要表现在测试用例评审和测试用例变更控制两个方面。
测试用例(Test Case)是将软件测试的行为活动进行一个科学化的组织归纳。软件测试是有组织性、步骤性和计划性的,而设计软件测试用例的目的就是将软件测试的行为转换为可管理的模式。
为什么需要写测试用例?什么样的测试用例是一个好的测试用例?
1、写测试用例的优势
写测试用例主要是规范化、科学化测试过程,写测试用例有以下几方面优点:
(1)测试用例使测试更全面,避免测试过程中出现遗漏的现象。
(2)测试用例可以突出测试重点,提高测试效率。
(3)测试用例有利于制定测试计划、控制测试进度。
(4)测试用例可以减少测试过程中对人的依赖。
(5)当时间紧迫时可以确定测试的优先级。
(6)随着版本的升级,测试用例可以不断地升级完善,使测试越来越全面。
(7)测试用例可以成为考核工作量的一个指标。
2、测试用例项
对于测试用例目前并没有经典的定义,一般一个测试用例需要包括以下几部分内容:测试用例编号、测试标题、重要级别、预置条件、输入、执行步骤和预期结果。
测试用例编号一般是由字符和数字组成的字符串,并且用例编号应具有唯一性、易识别性和自解释性。
测试过程中用例定义的规则如下:
(1)系统测试用例:产品编号-ST-系统测试项名-系统测试子项名-×××,如N3310-STCALL-URGENTCALL-001 表示测试手机在没有SIM 卡的情况下可以拨打紧急号码。
(2)集成测试用例:产品编号-IT-集成测试项名-集成测试子项名-×××,如N3310-ITFILEITF-READFILE-001 表示测试模块A 提供的文件接口。
(3)单元测试用例:产品编号-UT-单元测试项名-单元测试子项名-×××,N3310-UTFILEITF-READFILE-001 表示测试函数int ReadFile(char *pszFileName)。
测试标题是测试用例的简单描述,需要用概括的语言描述该用例的出发点和关注点,原则上每个用例的标题不能重复。
重要级别主要是用例描述测试规格和测试特性的优先级别,一般分高、中、低三个级别。从业务的角度上来说,任何一个业务都包括基本流和备选流,如图8-1 所示。
图8-1 业务的基本流和备选流
(1)优先级别最高的业务是核心业务+基本流。
(2)优先级别高的业务是核心业务+备选流和基本业务+基本流。
(3)优先级别中的业务是基本业务+备选流和一般业务+基本流。
(4)优先级别低的业务是一般业务+备选流。
排除业务的影响,单纯地分析一个用例的优先级别,那么主要从功能的使用频率、失效时的影响程度和失效可能性三个方面进行评估。其权值分别为0.4、0.2 和0.4,将评估等级分为高、中、低三级,假设高为5 分,中为3 分,低为1 分。将使用频率、失效时的影响程度和失效可能性三者所得分值相加,如果所得分值在3.5 到5 分之间,那么将测试用例的优先级定为高;如果所得分值在1.5 到3.5 分之间,那么将测试用例的优先级定为中;如果所得分值在0 到1.5 分之间,那么将测试用例的优先级定为低,如图8-2 所示。
图8-2 评估项权值和优先级
使用频率、失效时的影响程度、失效可能性、综合评估权值、关键字和优先级的综合估值表见表8-1。
表8-1 综合估值表
预置条件是指执行当前测试用例需要的前提条件,如果这些前提条件不满足,则后面的测试步骤无法进行或者无法得到预期结果,预置条件表现执行测试用例前系统应该达到的状态。如注册邮箱功能,预置条件为用户能正常进入用户注册界面,用户名、密码、确认密码、安全提问、回答、E-mail 地址等输入框可以输入信息。
输入是指用例执行过程中需要加工的外部信息。根据软件测试用例的具体情况,有手工输入、文件、数据库记录等,输入强调的是数据内容。
如注册邮箱功能,输入的数据如下:
用户名:lililiu,密码:123456,确认密码:123456,安全提问:你喜欢软件测试吗?回答:喜欢,E-mail 地址:lililiu@testingba.com,其他项取默认值。在输入数据时,应该注意输入的各项内容不能写成固定值,且具有引导性。如用户名不能直接写为“lililiu”,应该写成“输入用户名如lililiu”,这样执行测试的工程师可以自己思考扩展这一类数据中的其他测试用例。
执行当前测试用例需要经过的每一个操作步骤,需要给出明确的描述,测试用例执行人员可以根据该操作步骤完成测试用例执行。执行步骤强调的是执行过程,很容易与输入混淆。
如邮箱注册功能的执行步骤如下:
(1)选择用户类型:普通会员。
(2)输入用户名:lililiu。
(3)输入密码:123456。
(4)输入电子邮件地址:lililiu@ testingba.com。
(5)发送邮件选项:发送。
(6)单击“添加用户”按钮。
(7)单击“完成”按钮。
预期结果是指当前测试用例的预期输出结果,通常需要从返回值的内容、界面的响应结果、数据库、日志文件等几个方面来检查。
如邮箱注册功能的预期结果:
(1)提示:用户被添加成功。
(2)登录论坛后用户类型为普通用户。
(3)从邮箱收到确认邮件。
(4)在数据库相关表中能检索新增用户的信息:select * from 用户信息表 where name = ' lililiu '。
除了上面几部分内容外,还可以根据工作中的实际情况适当地添加一些其他项,如测试项名称、是否为自动化测试用例、是否为新增、作者、日期、设计用例方法、用例版本等。
本章节关于“软件测试用例设计及管理”的内容就学习到这里,大家觉得文章有用的话记得每天来这里和小编一起学习涨薪技能哦。