在了解测试用例要素之前,我们首先需要对”软件测试“和”测试用例“两个概念进行理解。《软件测试的艺术》关于”测试“的定义如下:
”测试是为发现错误而执行程序的过程“
而测试用例的本质其实就是特定的数据集合,程序必须对数据进行正确处理以证明自身的成功。通过一个测试用例我们发现了测试程序的错误我们会认为这次测试是成功的,通过另一个测试用例我们如果最终确定了没有错误,我们也会认为这次测试是成功的。”不成功的“测试用例,会看到程序输出正确的结果而没发现任何错误。
既然测试用例是一组特定的数据集合,那么测试用例要素就是某种具体的规定,规定了测试用例的具体结构是怎样的。 通常来说,我们会认为测试用例有如下八大要素
1、用例编号;
2、测试项目;
3、测试标题;
4、重要级别;
5、预置条件;
6、测试输入;
7、操作步骤;
8、预期输出;
然而具体到我编写和摸索测试用例的过程中,我认为一个测试用例的要素可以分为以下几点
- 功能模块--说明了测试需求的模块,便于归类
- 编号--编排唯一序号,方便定位和查看
- 测试点--给测试内容划分一个个测试点(有的可以合并)
- 前提条件--部分的测试点需要的前置条件,没有的话可以不填
- 测试步骤--一般是针对功能测试(没有数据的测试)
- 测试数据--对程序输入数据的描述,一般是针对有数据的测试(比如说数据库的测试)
- 预期结果--对程序在输入数据下(如果有)的正确输出结果的精确描述
- 实际结果是否符合预期(一般给出Pass和Fail的结果)
- 实际结果(如果Fail的话,写下Fail实际结果,否则可以不写)
以下为我的Excel部分截图
以下为通过Excel按照上述测试用例要素编写测试用例的一些注意点:
- Excel的第一行和第二行可以先给出测试需求以及链接、测试的数据的关键信息
- Excel可以冻结第一行或者前三行,方便上下滑动查看,并且表头行可以设置背景颜色
- Excel的如果多个测试点的某些列(字段)相同,善用合并单元格
- 如果测试用例没有某些字段的值(eg测试前提)可以不写
- 对于测试步骤和测试数据一般是二选一,涉及到数据的输入和输出一般填写测试数据,如果只是单纯的功能测试可以只填写测试步骤
- 在进行测试的时候对不多的数据要进行枚举覆盖全,如果找不到一条覆盖完的数据(实际上比较难),就要去找别的数据
- 对于功能测试,要找出不同的功能点,比如说筛选功能,其实就分单筛选和多筛选,这两个是不同的功能点
- 每次的测试用例需要进行保存,原因在于,在之后的回归测试用例还会回来用到这些测试用例,而这些测试用例编写时花费了自己的大量时间的
- 在工作中发挥自己的创造性思维,有时间可以拓展测试用例和步骤的场景,从用户的角度出发,比如说,很多用户在用筛选功能的时候,往往是多选取消几个选项成了单选筛选出了问题,这类问题有时间可以进行细致地测试