本文摘自《测试架构师修炼之道》

1、测试用例模板

一个通用的模板:

  1. 测试用例编号 :测试用例的唯一标记
  2. 用力标题 :概述测试用例的主要内容,明确该测试用例的意图
  3. 预置条件 :测试用例顺利执行的前提条件,如一些基本的配置
  4. 测试数据 :测试时使用的测试数据
  5. 测试步骤 :如何执行这个测试用例,每步的操作是什么
  6. 预期结果 :和测试步骤对应起来,操作后希望系统的返回

  测试用例没有必要写得面面俱到,非常细致,而应该简洁无歧义,突出测试用例的目的,描述清楚关键的步骤和检查点即可。好的测试用例,通过阅读标题,就能清楚地知道这个用例的测试目的。和测试目的密切相关的步骤才会放在测试步骤中,那些基础的操作步骤则是简洁地放在预置条件中,使得执行者能够快速抓住测试的重点,并且预期结果应该是清楚准确、没有歧义的。
  除此之外,我们还需要控制用例的粒度(即一个用例包含的测试内容),建议参考如下:

  • 测试用例标题不要超过30个汉字。
  • 测试步骤不要多于7步,不要少于2步。
  • 预期结果不要多于5个,不要少于1个。

2、测试用例标题要是一个完整的句子

在怎样的条件下   做了   怎样的事情得到了怎样的结果
     状语       主语  谓语     宾语        补语(可选)

3、用条件而不是参数来描述测试用例标题

  在描述测试用力标题时,更适合用条件,而不是参数。参数更适合在测试用例模板中的测试数据部分体现,不要把它们罗列在测试用例标题中。

4、如果一个用例中包含有多个参数,用例中应该是每个参数的取值

  一个测试条件,可能会有多个参数,这些参数又可能会取不同的值。我们在写测试用例的时候,应该对涉及的每个参数给出确定的值。
  假设一个测试条件包含3个参数,参数1有三个参数值(A1、A2、A3),参数2有两个参数值(B1、B2),参数3有四个参数值(C1、C2、C3、C4)。写测试用例的时候,测试数据应该是参数1、参数2、参数3分别取一个确定的值来构成的参数组。
  正确示范:

测试用例

测试数据

测试用例1

A1、B1、C1

测试用例2

A2、B2、C2

测试用例3

A3、B2、C3

测试用例4

A3、B2、C4

  而不应该将每个参数作为一个测试用例,将这个参数中的参数值作为测试数据中的参数组。
  错误示范:

测试用例

测试数据

测试用例1

A1、A2、A3

测试用例2

B1、B2

测试用例3

C1、C2、C3、C4

  一个栗子

代码测试 python 代码测试用例怎么写_测试用例

5、不要在测试用例中引用别的测试用例

  在编写测试用例时,不宜在测试步骤中又引用别的测试用例。

  • 解决方法1:把测试用例1和测试用例2合并成一个大的测试用例
  • 解决方法2:把测试用例1的主要内容总结概述,放到测试用例2的预置条件中
  • 方法1比较适合测试用例1和测试用例2都比较简单的情况,相对来说方法2更通用一些。

6、避免测试用例中包含过多的用户接口细节

  执行用例者应该是专业人士,测试用例不必写得面面俱到。过多的细节使得测试执行者无法抓住用例执行步骤的重点,而且一旦产品在细节的设计上有所变化,测试用例也需要修改,不利于测试用例的后期维护。所以用例步骤最好是对系统操作的概括描述,无须叙述所有细节。

对比下面两个用例,例子1中过多细节,例子2为改造后的版本:

代码测试 python 代码测试用例怎么写_用例_02


代码测试 python 代码测试用例怎么写_解决方法_03

7、明确测试步骤和预期结果的对应关系

  一个测试用例通常会包含好几个测试步骤和多个预期结果。有时候不同的测试步骤可能会有相同的预期结果,为了描述简便,很多测试用例作者会省略相同的预期结果。另外,也不是所有的测试步骤都有预期结果,一般是重要、关键的测试步骤才会有预期结果。这时我们可以在测试用例中,增加简单的标记(如[check n])来明确测试步骤和预期结果之间的对应关系,让测试执行人员一目了然。

8、避免在测试步骤中使用笼统的词

  笼统的词如反复、长时间、大量等。因为这样的描述,不同的测试执行者的理解会有所不同。
  那么,在测试用力中该如何进行描述呢?

1. 测试用例中需要反复、多次操作的描述方法

问题1:反复执行接口up/down的操作
解决方法1:在测试用例中确定反复的具体次数。
修改1:反复执行接口up/down操作100次
解决方法2:也可以为测试用例确定一个反复的范围。
修改2:反复执行接口up/down操作至少100次
解决方法3:如果反复多次执行某个操作多次后,会出现某种特定的效果(例如内存会升高或某个特别值),但是需要反复执行多少次这样的操作并不确定,可以这样描述。
修改3:反复执行接口up/down操作,直至系统内存值达到最大值的45%。

2.测试用例中需要长时间测试的描述方法

问题2:系统长时间转发HTTP业务
解决方法1:在测试用例中确定长时间的测试时长。
修改1:系统持续转发HTTP业务24小时
解决方法2:也可以为测试用例确定一个长时间的测试时间范围。
修改2:系统持续转发HTTP业务至少24小时

3.测试用例中需要大量操作的描述方法

问题3:大量用户同时连接服务器
解决方法1:需要确定大量的具体数量,如100、2000。
修改1:2000个用户同时连接服务器。
解决方法2:可以以产品规格作为大量的参照值,如满规格、系统支持数的50%。
修改2:满规格用户同时连接服务器。