利用等价类在TPT中进行测试

简介
在软件测试中,等价类在有效地验证系统行为方面起着至关重要的作用。这些类表示变量的可能值范围的子集,例如输入或输出,在这些变量中,系统期望显示类似的行为。通过从这些等价类中选择具有代表性的值,我们可以系统地减少测试工作,同时仍然获得重要的覆盖率。
在这篇文章中,我们将探讨等价类在用tpt做测试过程中的使用,以及它们如何优化测试过程。等价类将值分类为不同的子集,通过从每个类中选择一个具有代表性的值来简化测试过程。
例如,在我们的例子中,我们定义了光强度的等价类为
dark(黑暗) [0;60],  bright(明亮) [70;100] 以及twilight(黄昏) [60;70].同样,开关位置表示为
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并亲身体验它如何简化软件变体的管理和测试。欢迎联系北汇信息获取免费试用。

雷曼推出“下一代高教智能显示交互系统” 提升教学质量
小米电视4A 70英寸直降700元 是预算不高的用户的最佳选择
安规电容是家庭电路的保护者和守护者?
欢迎申报|中软国际31个项目入选教育部2023年首批教师企业实践项目名单
智能穿戴设备有哪些
利用等价类在TPT中进行测试
TI 高精度实验室 - 运算放大器的稳定性问题的常见原因
你的特斯拉知道些什么? 马路上移动的电脑
3GPP推迟R15标准冻结 5G跑得太快追不上进度
STM32微控制器的工作原理和应用 STM32微控制器的命名规则
空间飞行器上加速度传感器的作用讲解
单轴伺服驱动系统在排线装置中的应用
研华部分服务器被黑客攻击,目前已经逐步恢复
功率因素计算公式
新型控制器可简化嵌入式设计USB连接
摩拜攻破第11个国家,成功入驻荷兰鹿特丹
无人机产业创新联盟成立,中国联通野心勃勃进军无人机领域
华为云会议,助力企业高效办公
数字货币USC充值业务,成功实现了全球任意货币之间的转换交易
昆仑芯加入智源研究院FlagOpen大模型技术开源体系,共筑AI大模型算力基座