测试用例如何设计

2018-04-28  本文已影响79人  缘觉如来

测试用例的定义

测试用例是在软件项目测试中,为了某个特殊目标而编写的,具有测试输入,执行步骤,预期输出的,可以指导测试实施的测试文档。主要用于项目的需求验证。

编写测试用例的好处

设计和编写测试用例文档有下面几大好处:

测试用例设计的来源

测试用例的几要素

#测试用例设计的原则

+ 测试用例设计之前详细理解产品需求,对每个需求做详细的用例设计,覆盖每个需求的输入和输出测试;

  • 不直接复制产品需求为测试用例的标题,从可测试的角度进行标题定义;
  • 对产品需求中没有明确的需求,但是符合业界标准的功能需求也需要进行测试用例设计;
  • 对需求中未明确的异常情况,也需要设计异常测试用例;
  • 对需求中未明确的兼容性和性能方面的要求,也需要设计兼容性和性能测试用例,预期结果可以通过集体评审的方式给出;

+ 唯一性,每个测试用例的测试目的是唯一的,不能一条测试用例测试系统的好几个功能点。

测试用例的设计方法

测试过程可以分为白盒测试和黑盒测试,白盒测试是清楚系统的内部运行机制和代码运行逻辑的情况下进行,主要对系统结构模块代码的接口和模块内部处理逻辑进行测试。黑盒测试意味着测试人员不需要考虑代码内部结构实现的逻辑,只依据程序的需求说明书进行测试用例设计,检查是否满足需求说明书上的内容。

白盒测试用例设计方法

白盒用例设计的方法有代码检查法,静态结构分析法,逻辑覆盖法。其中逻辑覆盖法可以从以下几个角度进行覆盖:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖。

黑盒测试用例设计方法

具体的黑盒用例设计方法有等价类划分法,边界值分析法,场景分析法,因果图法,功能图法,错误推测法。

等价类划分

利用物以类聚的思想进行测试用例设计的方法。可以针对系统的输入/输出/执行场景等角度,在可以明确划分界限的地方进行等价类划分,总体上可以分为有效等价类和无效等价类。设计用例时,可以根据下面的总结的几个常识进行用例设计:

边界值分析法

边界值分析法一般会跟等价类划分法结合起来使用,但是它不是从等价类中任意选择一个子类作为输入,而是将边界值作为重点测试目标。选择刚好等于,刚好小于,刚好大于的几个情况作为测试输入。

场景分析法

场景法是路径覆盖法的一种延伸,根据系统的处理流程中不同处理场景进行场景覆盖的用例设计方法。举例如下:


image.png

按照上图中每个经过用例的路径,可以确定以下不同的用例场景:

场景 1 基本流

场景 2 基本流 备选流 1

场景 3 基本流 备选流 1 备选流 2

场景 4 基本流 备选流 3

场景 5 基本流 备选流 3 备选流 1

场景 6 基本流 备选流 3 备选流 1 备选流 2

场景 7 基本流 备选流 4

场景 8 基本流 备选流 3 备选流 4

注:为方便起见,场景 5、6 和 8 只考虑了备选流 3循环执行一次的情况。

因果图法

因果图法是利对系统的输入进行各种组合的手段得到的测试用例设计方法,等价类划分和边界值分析都是考虑输入条件,但是没有考虑输入条件的各种组合的情况,以及各种输入之间相互制约的情况,由此就导致各种输入单独正确或者出错的情况都验证到了,但是输入之间相互组合的情况没有验证到。如果输入之间的各种组合全部进行用例设计,那么造成的测试用例数量是巨大的,由此就需要借助因果图进行用例精简设计,其因果图就是白盒测试中使用的因果图。

错误推测法

基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法,基本方法是列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。

测试方法选择的综合策略

在实际测试中,往往是综合使用各种方法才能有效提高测试效率和测试覆盖度,这就需要认真掌握这些方法的原理,积累更多的测试经验,以有效提高测试水平,以下是各种测试方法选择的综合策略,可在实际应用过程中参考。

里面内容部分参考:《测试用例设计》 https://www.jianshu.com/p/9dd69fbe2df5

上一篇 下一篇

猜你喜欢

热点阅读