tag 标签: 等价类

相关帖子
相关博文
  • 热度 6
    2023-6-30 10:20
    932 次阅读|
    0 个评论
    简介 在软件测试中,等价类在有效地验证系统行为方面起着至关重要的作用。这些类表示变量的可能值范围的子集,例如输入或输出,在这些变量中,系统期望显示类似的行为。通过从这些等价类中选择具有代表性的值,我们可以系统地减少测试工作,同时仍然获得重要的覆盖率。 在这篇 文章 中,我们将探讨等价类在 用 TPT 做 测试 过程 中的使用,以及它们如何优化测试过程。等价类将值分类为不同的子集,通过从每个类中选择一个具有代表性的值来简化测试过程。 例如,在我们的例子中,我们定义了光强度的等价类为 D ark (黑暗) , B right (明亮) 以及 T wilight (黄昏) . 同样,开关位置表示为 off (关) 0, on (开) 1 以及 auto (自动) 2. 输出信号,前照灯关闭 0 和打开 1 ,也是我们的例子的一部分。 等价类 测试 等 价 类测试的目的是通过测试从每个等 价 类中选择的几个值来验证系统的行为,从而节省大量的测试工作。 ISO 26262 等安全标准也要求应用 等价类 测试。尝试测试值范围内的 “ 每个 ” 可能值将导致更高的测试工作量。 虽然这对于整数来说是可行的,但是对于双精度来说,工作量是巨大的。通过系统地从每个等价类中选择一个或多个代表,在保持可测量的覆盖率的同时减少了测试工作。 此外,可以考虑等价类的笛卡尔积,其中每个开关位置都用所有三种光强度进行测试。然而,这种方法会迅速增加测试工作量,特别是当涉及多个输入时。 图 1 展示了 TPT 中的覆盖率报告,它提供了为等价类选择的测试用例所获得的覆盖率的 视图 。它标识了覆盖的等价类的数量,并指出需要额外测试的任何剩余类。 因为它完美地融入了讨论,所以让我们简单地介绍一下边界值测试在软件工程中的重要性。 边界值 测试 在软件测试中,等价类测试和边界值测试是密切相关的。等价类测试侧重于从不同等价类中选择有代表性的值来减少测试工作量,而边界值测试则专门针对这些等价类中的最小值和最大值。 边界值测试在软件工程中很重要,原因如下 : 首先,它有助于发现在输入或输出范围边界经常发生的错误或问题。这些边界通常是系统行为变化的地方,使它们成为测试的关键区域。 此外,边界值测试有助于识别离 一 错误、舍入错误和其他与精度相关的问题,这些问题会影响软件的正确性和可靠性。通过彻底测试边界 值 ,开发人员可以确保 鲁棒 性并提高软件的整体质量。 就像任何测试技术一样,等价类也有自己的优缺点。下面从高级的角度简要概述一下。 优势 1️ ⃣ 输入和输出变量的系统划分减少了测试工作。 2️ ⃣ 适用于从单元测试到集成测试的所有测试阶段。 不利条件 创建等价类可能非常耗时,并且需要基于需求的专业知识。 最佳实践 1️ ⃣ 根据需求创建功能测试,并相应地派生等价类。 2️ ⃣ 执行测试并验证覆盖率。对于任何未覆盖的等价类,创建额外的测试用例。 3️ ⃣ 检查是否指定了或需要指定这些类的行为。 图 2: 使用 TPT 进行等价类管理 TPT 提供了特殊的等价类管理功能,用户可以方便地创建和管理等价类。该功能分为三个对话框 : 信号等价类的赋值 ( 左上 ) 等价类的定义 ( 右上 ) 测试运行的等价类的评估规则 ( 底部 ) 。 因此,覆盖率报告通过显示所覆盖的等价类和任何需要注意的剩余类,为您的测试工作的完整性提供了有价值的洞察。 为了增加灵活性,可以使用数值或参数指定等价类的值范围。可以在声明编辑器中集中定义和管理参数。如果一个参数的特定值需要随着时间的推移而调整,例如移动一个阈值,它将自动反映在等价类中。 另外, TPT 通过为等价类和边界值提供自动化的测试用例生成,超越了手工测试用例的创建。利用 TPT 的自动化功能,您可以在测试用例开发中节省时间和精力,同时确保对您的软件变体进行彻底的测试。 图 3 自动化测试用例生成 : 展示了 TPT 的自动化功能,其中测试用例是基于定义的等价类和边界值自动生成的。这种自动化特性简化了测试过程,消除了手工工作,并确保了关键场景的全面覆盖。 位于图 3 右上角的配置对话框显示了在生成过程中包含边界 ( 左和右 ) 的选项。因此,每个等价类不仅有一个代表,而且每个等价类有三个值 ( 左边界、代表、右边界 ) 。 在图 3 的下方窗口中,可以看到在生成等价类的过程中没有生成数值。相反,将创建对等价类的引用。这种方法确保了更改的健壮性。当执行测试运行时,使用具体的数值,这些数值在测试报告中 明确 地报告。 通过利用 TPT 的等价类管理和自动化的测试用例生成,您可以简化您的测试过程,提高效率,并且 安心 地验证您的软件变体的行为。 总结 等价类在有效的软件测试中起着至关重要的作用,允许您系统地划分变量并优化测试工作。 TPT 为管理等价类、验证它们的覆盖率和自动化测试用例生成提供了强大的支持。 您准备好利用等价类的功能并增强您的测试过程了吗 ? 尝试 TPT 并亲身体验它如何简化软件变体的管理和测试。 欢迎联系北汇信息获取免费试用。