测试用例(TestCase)是为特定的测试目的而设计的一组测试输入、执行条件和预期结果的文档。它的作用是为了测试系统功能是否满足用户某个特定需求。测试用例是指导测试人员工作的依据。

1.测试用例的组成

标准的测试用例通常由以下几个模块组成。

测试用例编号:测试用例的唯一标识。

模块:标明被测需求具体属于系统中哪个模块,这是为了更好地识别及维护测试用例。

测试用例标题:又称为测试点,就是用一句话描述测试用例的关注点,每一条测试用例对应一个测试目的。

优先级:根据需求的优先级别来定义,高优先级的测试用例要覆盖核心业务、重要特性,以及使用频率比较高的系统功能部分。

前提条件:测试用例在执行之前需要满足的一些条件,否则测试用例无法执行,例如,一些测试环境或者需要提前执行的操作。

测试数据:在执行测试用例时,需要输入一些外部数据来完成测试,这些数据根据测试用例的统计情况来确定,有参数、文件或者数据库记录等数据。

测试步骤:测试用例执行的步骤描述,测试用例的使用人员可以根据测试步骤完成测试的执行。

期望结果:是测试用例中最重要的部分,主要用来判断被测对象是否运行正常。

实际结果:结果一般有通过、失败和未执行。

2.测试用例优先级

在实际工作中,测试人员根据系统需求会把测试用例划分成不同的等级。

P0:核心功能测试用例(冒烟测试),确定此系统版本是否可测的测试用例,此部分测试用例的结果如果是FAIL(失败),其他测试用例就可以不用执行了,需要把程序退回去给开发人员修改,然后再重新提测。

P1:高优先级测试用例,最常执行的测试用例,测试系统功能是否稳定,它包含基本功能测试和重要的错误、边界测试。

P2:中优先级测试用例,用以更全面地验证系统功能的各个方面,包含异常、边界、中断、网络、容错、UI等的测试用例。

P3:低优先级测试用例,不常被执行,一般包含性能、压力、兼容性、安全、可用性等的测试用例。不同的公司可能对测试用例的等级划分有所差异,但基本上大同小异。

3.测试用例的作用

写测试用例能带来哪些好处呢?

首先,测试用例可以帮助测试人员做到心中有数,在测试用例的指导下,测试人员不会在一个测试点上重复测好多次,同时也避免漏掉测试点。而且测试人员在测试用例中可以将测试数据提前准备好,这样就不会漏掉一些重要的数据了。

其次,测试用例的执行结果也是评估测试结果的度量基准。如果设计全面覆盖需求的测试用例都执行通过了,发现的系统问题全部修改了,程序员即可放心地把应用程序交付给客户使用。

再次,测试用例也是分析缺陷的标准。因为测试用例中会详细描述期望结果,这个期望结果其实就是分析系统中是不是有Bug的一个标准。测试用例执行后反向的结果和预期结果一致的,就说明系统没有Bug;反之,和预期结果不一致,就是系统存在Bug,需要开发人员对Bug进行修复。

4.测试用例设计工具

在写测试用例的时候,测试人员可以使用思维导图把待测的系统模块和测试用例的设计思路理清楚。思维导图完成之后就可以对测试用例进行评审,评审完毕后,测试用例有需要修改的地方可以在思维导图上直接修改。

如果团队要求测试人员用表格的方式去写测试用例,可以再把思维导图中的测试思路转化成为表格形式。测试用例的具体设计方法,请参考后面的章节。