测试用例的基本知识
什么是测试用例?
测试时所使用的案例,用于指导测试的执行
测试用例的定义
是为了特定的目的而设计的一组有测试输入、执行条件、预期结果的案例(文档)
测试用例的构成要素?
用例编号--用例标题--测试项目--用例级别--预置条件--测试输入--执行步骤--预期结果
用例编号:测试用例的唯一标识 QQmail_login_001
用例标题:用例的简要描述 在什么情况下,做什么事,有什么结果
测试项目:用例所属项目范畴
用例级别:用例重要程度的影响
预置条件:用例执行的前提
测试输入:测试用例数据输入
执行步骤:执行用例的步骤
预期结果:应该得到的结果
软件测试的核心:
为了特定的目的--用例的名称
测试输入--测试数据
执行条件--测试步骤
预期结果--期望的结果
黑盒测试用例的设计方法
等价类的定义:
等价类的概念:在所有测试的数据中,具有某种共同特征的数据子集
有效等价类
无效等价类
等价类划分规制:
通过输入数据类型,来划分等价类规则
等价类设计测试用例的步骤:
一、分析需求,确定输入数据类型
二、根据输入的规则划分有效和无效等价类
三、设计用例,覆盖有效等价类--对于有效等价类,一条用例尽可能多的覆盖有效等价类
四、设计用例,覆盖无效等价类--对于无效等价类,一条用例只能覆盖一个无效等价类
等价类设计测试用例的案例:
例子:固定电话号码测试
边界值设计:
大量的错误是发生在输入和输出的边界上,而不是在输入范围的内部
边界值:选取正好等于,刚刚好大于,刚刚好小于边界值作为测试数据
[0,100]
上点:边界上的点 0,100
离点:离边界最近的点 -1 1 99 101
内点:有效范围的点 50
开区间:(0,100) 闭区间:[0,100] 半开半闭区间:(0,100]
上点:0,100 上点:0,100 上点:0,100
离点:1,99 离点:-1,101 离点:-1,101
内点:50 内点:50 内点:50
有效:>0 <100 有效:>=0 <=100 有效:>0 <=100
无效:<=0 >=100 无效:<0 >100 无效:<=0 >100
边界值法设计测试用例
从等价类而来,划分出边界
类型的不需要用边界法
无效等价类是或表达式,只要有一个不满足就都不满足
与等价类法相识
一、分析需求,确定输入数据类型
二、根据输入的规则划分有效和无效等价类
三、确认上点、离点、内点
四、设计用例,覆盖有效等价类--对于有效等价类,一条用例尽可能多的覆盖有效等价类
五、设计用例,覆盖无效等价类--对于无效等价类,一条用例只能覆盖一个无效等价类
判定表法
使用等价类方法时对于输入域及输入域存在关联时无法覆盖
适用于功能有多个输入,而且这些输入有组合的关系
规则:一组条件与结果的组合
条件桩 条件项(所有的条件组合)
动作桩 动作项(所有的条件组合的结果)
判定表设计用例步骤(先全组合判定表,在分析判定表) :
一、分析需求,定义条件桩与动作桩
二、全组合条件,得到条件项 设计总规则数=2的n次方(n是条件数)
三、根据条件项,依次填写动作项
四、简化判定表
五、抽取用例(每个规则一条用例)
案例:支付宝个人账户注册--验证用户名需求:第一项要求输入手机号或者电子邮箱作为账户名,
第二项要求正确输入验证码,两项都验证成功后填写账户信息;但如果第一项校验不正确,
则报错L(输入手机号或电子邮箱格式错误);如果第二项验证不成功,则报错M(验证码输入错误)
因果图法(先分析判定表,在组合):
可以解决判定表中规则数过多的情况
条件与结果之间的关系:
恒等:有条件必有结果
非:有条件必定不会有结果
或:只要有条件就会有结果
与:条件要都满足才会有结果
条件与条件之间的关系;
互斥:最多只能有一个成立(下拉菜单)
包含:至少要有一个成立(下拉菜单)
屏蔽:a成立时b一定不成立,a不成立时,b的值不一定成立
(元旦不上班,不是元旦,不一定上班)
唯一:有且只有一个
要求:有a必有b
因果图与判定表的区别:
判定表
分析了条件桩与动作桩后,全组合条件项
因果图
分析因和果。先考虑条件与条件之间的关系,条件与结果之间的关系,在组合判定表
因果图法设计测试用例步骤:
一、分析需求,获取条件和动作
二、分析条件与条件、条件与动作之间的关系
三、通过关系画出因果图
四、将因果图转换为判定表
状态迁移图法:
首先要找到所有的状态,然后再分析各个状态之间的转换条件和转换路径。
然后从其状态迁移路径覆盖的角度来设计测试用例(多用于协议测试)
主要用于系统有明确状态节点
状态迁移图步骤:
一、分析需求,找出所有的状态节点
二、画出状态迁移图
三、画出状态迁移树
四、转换为用例,抽取路径设计路径(找到状态迁移树的根节点到叶节点的所有路径)
场景法(基本流和必选流):
软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,
而同一事件不同的触发顺序和处理结果就形成了事件流
重要概念:
基本流:系统工作最主要的流程
备选流:每个节点中突发的异常情况
(异常流):备选流的特殊场景,例:支付时余额不足,无法完成支付
场景法设计步骤:
一、分析需求,找出基本流和备选流
二、根据基本流和备选流生成场景
三、根据场景生成用例
场景要求:流程的开始到结束
流程结束才算场景,可以是正常结束,也可以是异常结束
必须要把所有的流程均被覆盖到
基本流:输入正确的用户名,输入正确的验证码,填写账户信息
备选流:填写错误的用户名,报错L
备选流:填写错误的验证码,报错M
正交实验法:多用于运营测试,配置项很多的测试
正交实验方法:是由数理统计学科中正交实验方法进化出的一种测试多条件多输入的用例设计方法,
从大量的(实验)数据(测试例)中挑选出适量的,有代表性的点(例),
从而合理的安排实验(测试)的一种科学测试方法
条件:因子–输入配置项 取值:水平–输入配置项的取值
正交实验设计方法的步骤:
一、分析需求,获取因子及水平
二、根据因子及水平数选择正交表
三、替换因子和水平,获取实验次数
四、细化输出测试用例,一行是一个测试用例
如果因子水平无法查表,可以取相近范围的因子水平表
错误推测法:
错误推测法依赖–经验和–直觉,针对性的设计测试用例
黑盒测试用例的设计方法总结:
等价类:应用单功能,功能有输入,且输入没有联系组合
边界值法:基于等价类,应用功能有输入,且输入范围有边界
判定表法--因果图法:有多个输入输出,输入与输入之间,输入与输出之间有依赖关系
正交实验法:参数配值类功能,参数相互组合
状态迁移图法--场景法:多个功能之间的组合逻辑测试
最后采用错误推断法追加测试用例