软件测试基础回顾(二十一)-决策表测试:通过示例学习

什么是决策表测试?

决策表测试是一种测试技术,用于测试不同输入组合的系统行为。这是一种系统方法,其中以表格形式捕获不同的输入组合及其相应的系统行为(输出)。这就是为什么它也被称为因果效应表,其中捕获原因和效果以获得更好的测试覆盖率。

决策表是输入与规则/案例/测试条件的表格表示。让我们以一个例子来学习。

示例1:登录屏幕的决策基表

让我们为登录屏幕创建一个决策表。

如果用户提供正确的用户名和密码,则用户将被重定向到主页,条件很简单。如果任何输入错误,将显示错误消息。

条件 规则1 规则2 规则3 规则4
用户名(T / F) F Ť F Ť
密码(T / F) F F Ť Ť
输出(E / H) Ë Ë Ë H

传说:

  • T - 正确的用户名/密码
  • F - 用户名/密码错误
  • E - 显示错误信息
  • H - 显示主屏幕

解释:

  • 案例1 - 用户名和密码都错了。将向用户显示错误消息。
  • 案例2 - 用户名是正确的,但密码错误。将向用户显示错误消息。
  • 案例3 - 用户名错误,但密码正确。将向用户显示错误消息。
  • 案例4 - 用户名和密码都是正确的,用户导航到主页

将此转换为测试用例时,我们可以创建2个场景,

  • 输入正确的用户名和正确的密码,然后单击登录,预期结果将是用户应导航到主页

还有一个来自下面的场景

  • 输入错误的用户名和错误的密码并单击登录,预期的结果将是用户应该收到错误消息
  • 输入正确的用户名和错误的密码,然后单击登录,预期的结果将是用户应该收到错误消息
  • 输入错误的用户名和正确的密码,然后单击登录,预期的结果将是用户应该收到错误消息

因为他们基本上测试相同的规则。

示例2:上载屏幕的决策基表

现在考虑一个对话框,要求用户上传具有某些条件的照片,例如 -

  1. 您只能上传“.jpg”格式的图片
  2. 文件大小小于32kb
  3. 第137 * 177号决议。

如果任何条件失败,系统将抛出相应的错误消息,说明问题,如果满足所有条件,照片将成功更新

 

让我们为这种情况创建决策表。

条件 情况1 案例2 案例3 案例4 案例5 案例6 案例7 案例8
格式 .JPG .JPG .JPG .JPG 不是.jpg 不是.jpg 不是.jpg 不是.jpg
尺寸 小于32kb 小于32kb > = 32kb > = 32kb 小于32kb 小于32kb > = 32kb > = 32kb
解析度 137 * 177 不是137 * 177 137 * 177 不是137 * 177 137 * 177 不是137 * 177 137 * 177 不是137 * 177
产量 照片已上传 错误消息解析不匹配 错误消息大小不匹配 错误消息大小和分辨率不匹配 格式不匹配的错误消息 错误消息格式和分辨率不匹配 格式和大小不匹配的错误消息 格式,大小和分辨率不匹配的错误消息

对于这种情况,我们可以创建8个不同的测试用例,并根据上表确保完全覆盖。

  1. 上传格式为'.jpg',尺寸小于32kb,分辨率为137 * 177的照片,然后点击上传。预计结果是Photo应该成功上传
  2. 上传格式为'.jpg',尺寸小于32kb且分辨率不是137 * 177的照片,然后点击上传。预期结果是应显示错误消息解决方案不匹配
  3. 上传格式为'.jpg',尺寸超过32kb,分辨率为137 * 177的照片,然后点击上传。预期结果是应显示错误消息大小不匹配
  4. 上传格式为'.jpg',尺寸小于32kb且分辨率不是137 * 177的照片,然后点击上传。预期结果是错误消息大小,应显示分辨率不匹配
  5. 上传“.jpg”以外的格式,尺寸小于32kb,分辨率为137 * 177的照片,然后点击上传。预期结果是应显示格式不匹配的错误消息
  6. 上传“.jpg”以外格式的照片,尺寸小于32kb,分辨率不是137 * 177,然后点击上传。预期结果是错误消息格式,应显示分辨率不匹配
  7. 上传“.jpg”以外格式的照片,尺寸超过32kb,分辨率为137 * 177,然后点击上传。预期结果是格式错误消息,应显示大小不匹配
  8. 上传“.jpg”以外格式的照片,尺寸超过32kb,分辨率不是137 * 177,然后点击上传。预期结果是应显示格式,大小和分辨率不匹配的错误消息

为什么决策表测试很重要?

当需要测试不同的组合时,该测试技术变得重要。它还有助于更好地测试复杂业务逻辑的测试范围。

边界值和等效分区是用于确保更好覆盖的其他类似技术。如果系统对大量输入显示相同的行为,则使用它们然而,在对于每组输入值系统行为不同的系统中,边界值和等效分区技术在确保良好的测试覆盖率方面无效。

在这种情况下,决策表测试是一个不错的选择。这种技术可以确保良好的覆盖范围,并且表示很简单,因此易于解释和使用。

该表可用作需求和功能开发的参考,因为它易于理解并涵盖所有组合。

随着输入数量的增加,这种技术重要性立即变得清晰可能的组合数由2 ^ n给出,其中n是输入的数量。 对于n = 10,这在基于Web的测试中非常常见,具有较大的输入形式,组合的数量将为1024.显然,您无法测试所有,但您将使用基于决策的可能组合选择丰富的子集测试技术

决策表测试的优点

当不同输入的系统行为不同而输入范围不同时,等效分区和边界值分析都无济于事,但可以使用决策表。

表示很简单,因此可以很容易地解释并用于开发和业务。

该表有助于实现有效组合,并可确保更好地覆盖测试

任何复杂的业务条件都可以轻松转换为决策表

在我们通常在输入组合较低时进行100%覆盖的情况下,该技术可以确保覆盖范围。

决策表测试的缺点

主要缺点是当输入数量增加时,表格将变得更加复杂

 

posted @ 2018-07-24 15:58  (时光)光阴飞逝  阅读(1306)  评论(0)    收藏  举报