使用示例学习决策表测试
决策表
决策表是一个表格,它显示了输入与规则、用例和测试条件之间的关系。它是一个非常有用的工具,可用于复杂的软件测试和需求管理。决策表允许测试人员检查所有可能的测试需求组合,并立即发现任何被忽略的情况。使用真 (T) 和假 (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”格式的图像。
大小小于 32 千字节的文件
分辨率为 137*177 像素。
如果任何条件不满足,系统将显示一个描述问题的错误通知,如果所有条件都满足,则照片将正确更新。
让我们为这种情况创建一个决策表。
条件 | 案例 1 | 案例 2 | 案例 3 | 案例 4 | 案例 5 | 案例 6 | 案例 7 | 案例 8 |
格式 | .jpg | .jpg | .jpg | .jpg | 非.jpg | 非.jpg | 非.jpg | 非.jpg |
大小 | 小于 32 kb | 小于 32 kb | >=32 kb | >=32 kb | 小于 32 kb | 小于 32 kb | >=32 kb | >=32 kb |
分辨率 | 137* 177 | 非 137*177 | 137* 177 | 非 137*177 | 137*1 77 | 非 137*177 | 137*17 7 | 非 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 像素的照片。预期结果是如果格式、大小或分辨率不匹配,则应显示错误消息。
决策表测试的重要性
决策表测试很重要,因为它允许您测试多种条件组合,并确保对复杂的业务逻辑进行彻底测试。决策表测试提供了高覆盖率,并且表示简单,易于阅读和应用于评估大量输入的行为,其中系统行为随每组输入而变化。
边界值和类似分区是软件工程中使用的另外两种相关策略,以提供更大的覆盖率。当系统的行为在大量输入上保持一致时,会使用它们。但是,在每个输入值集的系统行为不同的系统中,边界值和等价划分技术在保证适当的测试覆盖率方面效率低下。
在这种情况下,决策表测试是一个有用的替代方案。此方法确保充分的覆盖率,并且表示简单,易于理解和应用。
由于此表易于理解并涵盖所有可能的组合,因此可将其用作需求和功能开发的参考。
随着输入数量的增加,此策略的相关性变得显而易见。2n(其中 n 是输入的数量)等于潜在组合的数量。对于 n = 10(在具有大型输入表单的基于 Web 的测试中非常常见),组合数为 1024。显然,您无法测试所有可能的组合,但您可以使用基于决策的测试方法选择其中很大一部分。
决策表测试的优点
当系统行为根据输入而变化并且在一系列输入上不一致时,等价划分或边界值分析都无济于事,但决策表可以。
表示足够简单,易于理解,可用于开发和业务。
此表将有助于创建成功的组合,并可以提高测试覆盖率。
任何复杂的业务情况都可以轻松地转换为决策表。
当我们追求 100% 覆盖率时,此策略可以提供覆盖率,这通常是在输入选项数量较少时的情况。
决策表测试的缺点
最大的缺点是,随着输入数量的增加,表格变得越来越复杂。
决策表测试的范围
当数据复杂且必须检查每种可能的组合时,决策表可能会迅速变得庞大。您可以明智地减少每个选项中的选项数量,只选择那些有趣且重要的选项。这种方法称为折叠决策表测试。
在此过程中,消除了与结果无关的冗余条件,并创建了各种输出。为了让测试人员执行更有效的测试,在测试设计中添加了额外的分析层。
决策表是一种可靠的基于规范的测试工具,可用于各种环境中。表格和图形表示对于所有利益相关者和非技术人员来说都非常容易理解。
通过说明性示例和现实生活场景,项目团队成员可以快速深入了解手头的话题。
通过进入下一级可折叠决策表,可以实现这种测试方法的实用性和效率。