软件测试基础回顾(二十一)-决策表测试:通过示例学习
什么是决策表测试?
决策表测试是一种测试技术,用于测试不同输入组合的系统行为。这是一种系统方法,其中以表格形式捕获不同的输入组合及其相应的系统行为(输出)。这就是为什么它也被称为因果效应表,其中捕获原因和效果以获得更好的测试覆盖率。
决策表是输入与规则/案例/测试条件的表格表示。让我们以一个例子来学习。
示例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:上载屏幕的决策基表
现在考虑一个对话框,要求用户上传具有某些条件的照片,例如 -
- 您只能上传“.jpg”格式的图片
- 文件大小小于32kb
- 第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个不同的测试用例,并根据上表确保完全覆盖。
- 上传格式为'.jpg',尺寸小于32kb,分辨率为137 * 177的照片,然后点击上传。预计结果是Photo应该成功上传
- 上传格式为'.jpg',尺寸小于32kb且分辨率不是137 * 177的照片,然后点击上传。预期结果是应显示错误消息解决方案不匹配
- 上传格式为'.jpg',尺寸超过32kb,分辨率为137 * 177的照片,然后点击上传。预期结果是应显示错误消息大小不匹配
- 上传格式为'.jpg',尺寸小于32kb且分辨率不是137 * 177的照片,然后点击上传。预期结果是错误消息大小,应显示分辨率不匹配
- 上传“.jpg”以外的格式,尺寸小于32kb,分辨率为137 * 177的照片,然后点击上传。预期结果是应显示格式不匹配的错误消息
- 上传“.jpg”以外格式的照片,尺寸小于32kb,分辨率不是137 * 177,然后点击上传。预期结果是错误消息格式,应显示分辨率不匹配
- 上传“.jpg”以外格式的照片,尺寸超过32kb,分辨率为137 * 177,然后点击上传。预期结果是格式错误消息,应显示大小不匹配
- 上传“.jpg”以外格式的照片,尺寸超过32kb,分辨率不是137 * 177,然后点击上传。预期结果是应显示格式,大小和分辨率不匹配的错误消息
为什么决策表测试很重要?
当需要测试不同的组合时,该测试技术变得重要。它还有助于更好地测试复杂业务逻辑的测试范围。
边界值和等效分区是用于确保更好覆盖的其他类似技术。如果系统对大量输入显示相同的行为,则使用它们。然而,在对于每组输入值系统行为不同的系统中,边界值和等效分区技术在确保良好的测试覆盖率方面无效。
在这种情况下,决策表测试是一个不错的选择。这种技术可以确保良好的覆盖范围,并且表示很简单,因此易于解释和使用。
该表可用作需求和功能开发的参考,因为它易于理解并涵盖所有组合。
随着输入数量的增加,这种技术的重要性立即变得清晰。可能的组合数由2 ^ n给出,其中n是输入的数量。 对于n = 10,这在基于Web的测试中非常常见,具有较大的输入形式,组合的数量将为1024.显然,您无法测试所有,但您将使用基于决策的可能组合选择丰富的子集测试技术
决策表测试的优点
当不同输入的系统行为不同而输入范围不同时,等效分区和边界值分析都无济于事,但可以使用决策表。
表示很简单,因此可以很容易地解释并用于开发和业务。
该表有助于实现有效组合,并可确保更好地覆盖测试
任何复杂的业务条件都可以轻松转换为决策表
在我们通常在输入组合较低时进行100%覆盖的情况下,该技术可以确保覆盖范围。
决策表测试的缺点
主要缺点是当输入数量增加时,表格将变得更加复杂



浙公网安备 33010602011771号