决策表测试(示例)
什么是决策表测试?
决策表测试是一种软件测试技术,用于测试不同输入组合的系统行为。这是一种系统方法,其中不同的输入组合及其相应的系统行为(输出)以表格形式捕获。这就是为什么它也被称为 因果 表中捕获了因果关系,以提高测试覆盖率。
A 决策表 是输入与规则/案例/测试条件的表格表示。它是一种非常有效的工具,可用于复杂的 软件测试 和需求管理。决策表有助于检查测试条件的所有可能组合,测试人员也可以轻松识别遗漏的条件。条件以 True(T) 和 False(F) 值表示。
我们通过一个例子来学习。
示例 1:如何为登录屏幕制作决策基表
让我们为登录屏幕创建一个决策表。
条件很简单,如果用户提供了正确的用户名和密码,用户将被重定向到主页。如果任何输入有误,将显示错误消息。
医美问题 | 1规则 | 2规则 | 3规则 | 4规则 |
---|---|---|---|---|
用户名(T/F) | F | T | F | T |
密码(T/F) | F | F | T | T |
输出(E/H) | E | E | E | H |
传说:
- T – 正确的用户名/密码
- F – 用户名/密码错误
- E – 显示错误信息
- H – 显示主屏幕
解读:
- 案例1 – 用户名和密码均错误。向用户显示错误消息。
- 案例2 – 用户名正确,但密码错误。向用户显示错误消息。
- 案例3 – 用户名错误,但密码正确。向用户显示错误消息。
- 案例4 – 用户名和密码均正确,用户导航至主页
将其转换为 测试用例,我们可以创建两个场景,
- 输入正确的用户名和正确的密码,然后单击登录,预期结果是用户应该导航到主页
下面的场景之一
- 输入错误的用户名和密码并单击登录,预期结果是用户应该收到错误消息
- 输入正确的用户名和错误的密码并单击登录,预期结果将是用户应该收到错误消息
- 输入错误的用户名和正确的密码并单击登录,预期结果将是用户应该收到错误消息
因为他们本质上测试的是相同的规则。
示例 2:如何制作上传屏幕的决策表
现在考虑一个对话框,要求用户上传具有某些条件的照片,例如 -
- 您只能上传‘.jpg’格式的图片
- 文件大小小于32kb
- 分辨率137*177。
如果任何条件不满足,系统将抛出相应的错误消息,说明问题,如果所有条件都满足,照片将成功更新
让我们为此案例创建决策表。
医美问题 | 案例1 | 案例2 | 案例3 | 案例4 | 案例5 | 案例6 | 案例7 | 案例8 |
---|---|---|---|---|---|---|---|---|
格式 | 。JPG | 。JPG | 。JPG | 。JPG | 不是 .jpg | 不是 .jpg | 不是 .jpg | 不是 .jpg |
尺码 | Less 大于 32kb | Less 大于 32kb | >= 32kb | >= 32kb | Less 大于 32kb | Less 大于 32kb | >= 32kb | >= 32kb |
分辨率 | 137*177 | 不是137*177 | 137*177 | 不是137*177 | 137*177 | 不是137*177 | 137*177 | 不是137*177 |
输出 | 照片已上传 | 错误消息解析不匹配 | 错误消息大小不匹配 | 错误消息大小和分辨率不匹配 | 格式不匹配的错误消息 | 错误消息格式和分辨率不匹配 | 格式和大小不匹配的错误消息 | 格式、大小和分辨率不匹配的错误消息 |
对于这种情况,我们可以根据上表创建8个不同的测试用例并确保完全覆盖。
- 上传一张格式为“.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的照片,然后点击上传。预期结果是应显示格式和大小不匹配的错误消息
- 上传非“.jpg”格式、大小超过32kb且分辨率不为137*177的照片,然后点击上传。预期结果是应显示格式、大小和分辨率不匹配的错误消息
为什么决策表测试很重要?
决策表测试很重要 因为它有助于测试不同的条件组合,并为复杂的业务逻辑提供更好的测试覆盖率。当测试大量输入的行为时,系统行为因每组输入而异,决策表测试提供了良好的覆盖率,并且表示简单,因此易于解释和使用。
In 软件工程、边界值和等效分区是用于确保更好覆盖的其他类似技术。如果系统显示 同 大量输入的行为。然而,在一个系统中,对于每组输入值,系统行为是 不同、边界值和等效划分技术不能有效确保良好的测试覆盖率。
在这种情况下,决策表测试是一个不错的选择。该技术可以保证良好的覆盖率,并且表示简单,易于解释和使用。
该表易于理解且涵盖所有组合,可作为需求和功能开发的参考。
随着输入数量的增加,这种技术的重要性立即显现出来。可能的组合数为 2 ^ n ,其中 n 是输入的数量。对于 n = 10(这在基于 Web 的测试中非常常见),具有较大的输入表单,组合数将为 1024。显然,您无法测试所有组合,但可以使用基于决策的测试技术选择可能组合的丰富子集。
决策表测试的优点
- 当系统行为对于不同的输入不同且对于一系列输入不一样时,等效分割和边界值分析都无济于事,但可以使用决策表。
- 该表示很简单,因此可以轻松解释,也可用于开发和业务。
- 该表将有助于进行有效的组合,并确保更好的测试覆盖范围
- 任何复杂的业务条件都可以轻松转化为决策表
- 在我们通常要实现 100% 覆盖率的情况下,当输入组合较低时,此技术可以确保覆盖率。
决策表测试的缺点
主要缺点是当输入数量增加时,表格将变得更加复杂
决策表测试视频
点击 点击这里 如果视频无法访问