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