等价类是黑盒测试中的一种技术,用于将输入数据划分为具有相似特征的子集。这些子集在测试中通常被视为等价的,因为它们对系统的行为有着相同的影响。以下是求等价类的一般步骤:
确定输入条件
仔细审查测试用例的输入条件,理解每个条件对系统行为的影响。
识别有效等价类和无效等价类
有效等价类:满足输入条件的数据子集。
无效等价类:不满足输入条件的数据子集。
划分等价类
根据输入条件的不同特性,可以采用以下方法划分等价类:
范围划分:如果输入条件规定了取值范围,则可以将范围内的值划分为一个有效等价类,范围外的值划分为另一个无效等价类。例如,学生成绩在0到100之间为有效等价类,超出这个范围则为无效等价类。
集合划分:如果输入条件规定了输入值的集合,则可以将集合中的值划分为一个有效等价类,集合外的值划分为另一个无效等价类。例如,学历为专科、本科、硕士、博士四种之一为有效等价类,其他学历为无效等价类。
布尔量划分:如果输入条件是一个布尔量,则可以将其划分为“真”和“假”两个等价类。
规则划分:如果输入数据必须遵守某些规则,则符合规则的数据可以划分为一个有效等价类,违反规则的数据划分为一个无效等价类。
选择测试用例
从每个有效等价类中至少选择一个测试用例,以确保系统在各种情况下都能正常工作。
通常不需要从无效等价类中选择测试用例,因为这些情况是系统不期望的输入。
示例
假设我们要测试一个银行系统的转账功能,输入条件包括:
转账金额(有效范围:0到10000)
账户类型(有效值:储蓄账户、支票账户)
账户余额(有效范围:大于等于0)
根据这些条件,我们可以划分出以下等价类:
有效等价类1:转账金额在0到10000之间,账户类型为储蓄账户,账户余额大于等于0。
有效等价类2:转账金额在0到10000之间,账户类型为支票账户,账户余额大于等于0。
无效等价类1:转账金额小于0。
无效等价类2:转账金额大于10000。
无效等价类3:账户类型为无效值(如:无效账户类型)。
无效等价类4:账户余额小于0。
通过选择这些等价类中的测试用例,我们可以全面测试转账功能在不同情况下的正确性和健壮性。
建议
在划分等价类时,确保每个等价类中的数据对系统行为有相同的影响。
尽量覆盖所有可能的输入组合,包括有效和无效的情况。
使用选择公理从每个等价类中选取代表性的测试用例,以提高测试效率。