测试用例的设计方法(共22页)
二.实战演习 1. 例子描述
下图所示是ATM例子的流程示意图。
2.场景设计:下表所示是生成的场景。
表3-8 场景设计
场景1——成功提款 场景2——ATM内没有现金 场景3——ATM内现金不足 场景4——PIN有误(还有输入机会) 场景5——PIN有误(不再有输入机会) 场景6——账户不存在/账户类型有误 场景7——账户余额不足 基本流 基本流 基本流 基本流 基本流 基本流 基本流 备选流2 备选流3 备选流4 备选流4 备选流5 备选流6 注:为方便起见,备选流3和6(场景3和7)内的循环以及循环组合未纳入上表。 3.用例设计
对于这7个场景中的每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。本示例中,对于每个测试用例,存在一个测试用例ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。
表3-9 测试用例表
TC(测试用例)ID号 CW1 CW2 CW3 CW4 CW5 CW6 账号 V V V V V V 输入(或选择)的金额 V V V n/a n/a n/a 账面 金额 V V V V V V ATM内的金额 V I I V V V 场景/条件 场景1:成功提款 场景2:ATM内没有现金 场景3:ATM内现金不足 场景4:PIN有误(还有不止一次输入机会) 场景4:PIN有误(还有一次输入机会) 场景4:PIN有误(不再有输入机会) PIN V V V I I I 预期结果 成功提款 提款选项不可用,用例结束 警告消息,返回基本流步骤6,输入金额 警告消息,返回基本流步骤 4,输入 PIN 警告消息,返回基本流步骤 4,输入 PIN 警告消息,卡予保留,用例结束 21
测试用例的设计方法(共22页)
4.数据设计
一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例。 测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定测试数据,如表3-10所示。
表3-10
TC(测试用例)ID号 CW1 CW2 CW3 场景/条件 PIN 测试用例表
输入(或ATM内账面金选择)的的金额额(元) 金额(元) (元) 50.00 100.00 100.00 500.00 500.00 500.00 2 000 0.00 70.00 预期结果 成功提款。账户余额被更新为450.00 提款选项不可用,用例结束 警告消息,返回基本流步骤6,输入金额 警告消息,返回基本流步骤4,输入PIN 警告消息,返回基本流步骤4,输入PIN 警告消息,卡予保留,用例结束 账号 场景1:成功提款 场景2:ATM内没有现金 场景3:ATM内现金不足 场景4:PIN有误(还有不止一次输入机会) 场景4:PIN有误(还有一次输入机会) 场景4:PIN有误(不再有输入机会) 4987 4987 4987 809-498 809-498 809-498 CW4 4978 809-498 n/a 500.00 2 000 CW5 CW6
4978 4978 809-498 809-498 n/a n/a 500.00 500.00 2 000 2 000 测试用例设计综合策略
1.Myers提出了使用各种测试方法的综合策略:
1)在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强。 2)必要时用等价类划分方法补充一些测试用例。 3)用错误推测法再追加一些测试用例。
4)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例。
5)如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。 2.测试用例的设计步骤
1)构造根据设计规格得出的基本功能测试用例; 2)边界值测试用例; 3)状态转换测试用例; 4)错误猜测测试用例; 5)异常测试用例; 6)性能测试用例; 7)压力测试用例。 3.优化测试用例的方法
1)利用设计测试用例的8种方法不断的对测试用例进行分解与合并; 2)采用遗传算法理论进化测试用例; 3)在测试时利用发散思维构造测试用例。
22