黑盒测试用例的设计是确保软件质量的关键步骤之一。
一、等价类划分法
-
定义:把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
-
步骤:
- 充分理解需求。
- 划分有效等价类和无效等价类。
- 分别从有效等价类、无效等价类中各抽取其中一个数据进行测试用例设计。
-
示例:设计一个注册邮箱的测试用例,要求用户名长度为6~15位。
- 有效等价类:用户名长度为6位、7位、...、15位。
- 无效等价类:用户名长度小于6位、大于15位、包含特殊字符等。
- 测试用例:用户名“user123”(有效)、“u”(无效)、“user123456789012345”(无效,长度超长)、“user@123”(无效,包含特殊字符)。
二、边界值分析法
-
定义:对输入或输出的边界值进行测试的一种黑盒测试方法,通常情况下搭配等价类使用,其测试用例来自等价类的边界。
-
步骤:
- 充分理解需求。
- 找边界点,包括上点(边界上的点)、内点(边界内的点)和离点(边界值附近的点)。
- 针对边界点设计测试用例。
-
示例:继续以注册邮箱的用户名长度为例。
- 边界点:6位(下边界)、7位、...、14位、15位(上边界)。
- 测试用例:用户名“user123456”(下边界)、“user1234567”(内点之一)、“user123456789012345”(上边界)。
三、错误猜测法
-
定义:基于对被测试软件设计的理解、过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。
-
步骤:
- 分析软件需求和设计。
- 结合过往经验和直觉,猜测可能的错误场景。
- 针对猜测的错误场景设计测试用例。
-
示例:设计一个注册邮箱的测试用例。
- 猜测错误场景:密码校验中可能不区分大小写。
- 测试用例:密码“Password123”和“password123”是否被视为不同(根据实际需求判断)。
四、场景设计法
-
定义:用“事件流”设计场景测试用例,该方法可以比较生动地描绘出事件触发时的情景,使测试用例更容易理解和执行。
-
步骤:
- 充分理解需求。
- 确定主事件流和次事件流。
- 根据主事件流和次事件流生成测试用例。
-
示例:设计一个ATM机取款的测试用例。
- 主事件流:插卡→输入密码→选择取款金额→确认取款→取走现金→退卡。
- 次事件流:密码错误、余额不足、ATM机故障等。
- 测试用例:正常取款流程、密码错误时的提示和处理、余额不足时的提示和处理等。