一、测试用例的引入
首先要思考两个问题:什么是测试用例?测试用例的构成要素?
1.测试用例的定义
2.测试用例的构成要素
在实际工作中根据项目要求对用例设计要素可做调整,下图基本覆盖常见用例设计模板。
从上面两点可知:
测试用例的定义:软件测试的核心,为了特定的目的而设计的一组测试输入、执行条件、预期结果的输出文档;
测试用例构成要素:用例编号、用例标题、测试项目、用例级别、预置条件、测试输入、执行步骤预期结果。二、黑盒测试用例设计方法
1.等价类
概念:在所有测试的数据中心,具有某种共同特征的数据子集
方法:
举例:
子例:固定电话号码测试
地区(3/4位) 电话号码(7/8位)
2.边界值
大量的错误是发生在输入或者输入范围的边界上,而不是输入范围的内部。
题目:输入的参数值必须大于等于0同时小于等于100的整数
正确代码:
num>-1或num>=0 num<101或num<=100
错误代码:
num>=-1或num>0 num<=101或num<100
边界值:选取正好等于、刚刚好大雨或者刚刚好小于边界值作为测试数据。
举例:
例如:固定电话号码测试
地区码(3/4位) 电话号码(7/8位)
3.判定表法
使用等价类方法时对于输入域及输入域存在关联时无法覆盖
移动通信中,有这样的需求,若用户欠费或者停机则不允许主被呼叫。
案例:支付宝个人账户注册——验证用户名需求:第一项要求输入手机号或者电子邮箱作为账户名,第二项要求正确输入验证码,两项都验证成功后填写账户信息;但如果第一项校验不正确,则报错L(输入手机号或电子邮箱格式错误);如果第二项验证不成功,则报错M(验证码输入错误)。
4.因果图法
判定表法设计用例——规则数:2的n次方(n是条件数)
条件数:4 —> 规则:16
条件数:5 —> 规则:32
条件数:6 —> 规则:64
条件数:7 —> 规则:128
………
因果图:
1、考虑所有输入/输出条件的相互制约关系以及组合关系
2、考虑输入条件之间的依赖关系
3、再根据分析的关系来转化为判定表的规则
案例:支付宝个人账户注册——验证用户名需求:第一项要求输入手机号或者电子邮箱作为账户名,第二项要求正确输入验证码,两项都验证成功后填写账户信息;但如果第一项校验不正确,则报错L(输入手机号或电子邮箱格式错误);如果第二项验证不成功,则报错M(验证码输入错误)。
5.状态迁移图法
状态迁移图:首先要找出所有的状态,然后再分析各个状态之间的转换条件和转换路径。然后从其状态迁移路径覆盖的角度来设计测试用例。(多用于协议测试)
测试步骤:
案例:飞机售票系统
客户向航空公司打电话预订机票,此时机票信息处于“预定”状态顾客支付了机票费用之后,机票信息变为“已支付”状态旅行当天达到机场,拿到机票后,机票信息变为“已出票”状态登机检票后,机票信息变为“已使用”状态在等级之前任何时间都可以取消自己的订票信息,如果已经支付了机票费用,还可以退款,取消后,订票信息处于“已取消”状态
抽取四条路径:
路径1:预订—已取消
路径2:预订—已支付—已取消
路径3:预订—已支付—已出票—已取消
路径4:预订—已支付—已出票—已使用
6.场景法
软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。
重要概念:
基本流备选流(异常流)
场景1:基本流场景2:基本流—备选流程1—基本流场景3:基本流—备选流程2—基本流场景4:基本流—异常流程1场景5:基本流—备选流程2—异常流程2场景6:基本流—备选流程1—备选流程2—异常流程2场景7:基本流—备选流程1-备选流程2—基本流场景8:基本流—备选流程1—异常流程1
案例:支付宝个人账户注册——验证用户名需求:第一项要求输入手机号或者电子邮箱作为账户名,第二项要求正确输入验证码,两项都验证成功后填写账户信息;但如果第一项校验不正确,则报错L(输入手机号或电子邮箱格式错误);如果第二项验证不成功,则报错M(验证码输入错误)。
设计用例如下:
用例1:第一项输入手机号,第二项验证码正确,进入填写账户信息页面用例2:第一项输入电子邮箱,第二项验证码正确,进入填写账户信息页面用例3:第一项输入不是手机号或者电子邮箱,报错L(输入手机号或者电子邮箱格式错误)用例4:第一项输入手机号或者电子邮箱,第二项验证码错误,报错M(验证码输入错误)
7.正交实验法
正交实验设计方法:是由数理统计学科中正交实验方法进化出的一种测试多条件多输入的用例设计方法,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。
条件:因子 取值:水平。
正交实验设计方法步骤:
三、总结
,