
1.6 测试用例
测试用例(Test Case):指对一项特定的软件产品测试任务的描述,体现测试方案、测试方法、测试策略和技术。其目的是将软件测试的行为转化为可管理的模式,同时测试用例也是将测试具体量化的方法之一。
测试用例是软件测试的核心,也是软件测试质量稳定的根本保障。不同的测试类型,测试用例也是不同的。
1.6.1 测试用例的重要性
软件测试的重要性是毋庸置疑的,测试用例在整个测试活动中也是非常重要的,主要表现在以下几个方面:
1.避免程序漏测
现如今软件产品的功能越来越多,如何保证产品的质量可以满足用户的需求。主要是通把用户的每一个需求都通过测试用例来覆盖。如果需求发生变更,测试用例也要及时更新,这样可以避免在测试过程中将用户需求遗漏。
2.测试进度的把控
人们需求在不断地变化,市场也在不断变化。大多数公司的项目进度也会跟着用户的需求在变化,测试用例可以很好地把控项目测试进度。
3.一个度量指标
在项目结束后,还可以通过测试用来度量测试覆盖率是多少,测试合格率是多少等,它也是测试结束标准的一个度量指标。
4.分析缺陷的依据
通常在编写用例时,要规划好测试环境、所属模块以及测试数据等。当发现缺陷后,开发人员可以通过测试用例准确的定位和分析缺陷。
5.项目的管理成本
现在大多软件公司面临的一个严重的问题测试人员的流失。简单说,就是项目中测试人员流失,此时可以通过测试用例来辅助新员工进行测试,提高了新员工的测试效率,使新员工更快的去熟悉项目,降低了新员工的培训的成本。
1.6.2 测试用例写作思路
测试用例作为测试工作的一个指导,那么测试人员如何编写一个好的测试用例呢?编写测试用例需要遵守5C原则(Correct准确、Clear清晰、Concise简洁、Complete完整、Con-sistent一致)。大多公司的测试用例通常包含用例编号、所属模块、用例标题、用例优先级、前提条件、测试数据、操作步骤、预期结果、用例状态等。
1.用例编号
用例编号是测试用例的唯一标识,主要用来识别该测试用例的目的。用例编号需要具有指引性和维护性,格式一般由字母、数字、下划线组成,具体格式如下:
产品名称_需求编号_用例类型_测试子项_数字编号
1)产品名称通常是指产品的简称:如客户管理系统简称CRM。
2)需求编号通常记录需求规格说明书中需求的编号。
3)用例类型描述测试所属的测试阶段:如单元测试UT、集成测试IT、系统测试ST、验收测试UAT等。
4)测试子项一般具体指被测试的需求点。
5)数字编号根据测试预估用例数来定,通常规则由001或0001开始。
2.所属模块
所属模块是指被测试需求具体属于哪个模块,主要是为了更好识别以及维护用例。
3.用例标题
用例标题用简洁明了的一句话来描述测试用例的关注点,原则上测试标题也是具有唯一性。简单说就是每一条用例对应一个测试目的。
4.用例优先级
用例优先级一般划分为三个级别:高、中、低,根据需求的优先级级别来定义。通常来说,高优先级别用例是指软件的核心业务、基本功能、重要特性以及使用频率比较高的部分,但是在定义时针对一个需求点我们会定义2~3个优先级高的测试用例。
5.前提条件
前提条件是指测试用例在执行前需要满足的一些的条件,否则测试用例无法执行。前提条件指被测功能的先决条件以及测试环境,简单说就是跟测试用例存在因果关系的条件。
6.测试数据
在执行测试时,需要输入一些外部数据来完成测试,这些数据根据测试用例的具体情况来定,有参数、文件以及数据库记录等。
7.操作步骤
执行测试用例的步骤描述,测试用例执行人员可以根据该操作步骤完成测试执行。在编写操作步骤时要注意一点就是避免冗余。
8.预期结果
预期结果是测试用例中最重要的部分,主要用来判断被测对象是否正常。根据需求规格说明书来描述用户的期望。通常在编写预期结果可以从以下两个方面考虑:
1)操作界面的提示:也就是说在执行操作步骤后,界面会有什么提示信息。
2)数据库的变化:也就是说在执行操作步骤后,数据库会发生什么变化。
9.用例状态
用例状态一般分三种:PASS通过、FAIL失败、N/A未执行。此项在编写用例时为空,当执行完测试用例后再填写。