如果输入条件规定了输入值的集合,或者 “必须如何”。 则可以确立一个有效等价类和一个无效等价类。
注册的时候选择性别,男或女,默认没有选择,性别是必填项
有效等价类:男或女
无效等价类:不选择
如果输入条件规定了取值范围,或值的个数, 则可以确立一个有效等价类和两个无效等价类。
取款金额100到5000
有效等价类:100到5000
无效等价类:小于100,大于5000
如果输入条件是一个布尔量, 则可以确定一个有效等价类和一个无效等价类。
安装软件时必须同意协议才能继续安装
有效等价类:同意
无效等价类:不同意
如果规定了的一组输入数据(N个输入值), 且要对每个输入值分别进行处理。 这时可确立N个有效等
证书考试,>=60分有证书,60-70是合格,71-85是良好,86-100优秀
有效等价类:60-70,71-85,86-100
无效等价类:小于60
如果规定了输入数据必须遵守的一系列规则, 则可以确立一个有效等价类(符合规则) 和多个无效等价类(从不同角度违反规则)
注册的用户名要求必须由英文字母和数字组成,长度3-20之间,不能以数字开头
有效等价类:由英文字母和数字组成,长度3-20之间,不能以数字开头
无效等价类:包含特殊字符(包含空格)、包含文字、长度小于3,长度大于20,以数字开头
上点一定是边界上的点,不管封闭区间还是开放区间。
上点和离点在不同的等价类,如果上点是有效等价类,则离点是无效等价类;如果上点是无效等价类,则离点是有效等价类。
边界值分析步骤
1)分析输入参数的类型
2)等价类划分(可选)
3)确定边界 确定上点、离点、内点
4)确定测试用例
5)选择这些上点、离点、内点或者这些点的组合形成测试项
边界值分析实例
实例演示
(6,18)----开区间,不包含6和18
有效值:7,8,9…16,17
无效值:<=6,>=18
上点:边界上的点----6,18–无效等价类
离点:7,17
[6,18]----闭区间,包含6和18
上点:6,18----有效等价类
离点:5,19----无效等价类
在等价类划分法和边界值分析法的基础上考虑特殊值测试等其他情况
日期特殊值
手机号码特殊值
系统的输入和输出一般不是线性关系,输入域的等价类划分和边界值分析不一定覆盖输出域的等价类和边界值,需要从输出的测试点考虑输入值。
输出域步骤
1) 从输出角度考虑等价类划分,一般输出没有无效等价类
2)分析输出等价类的边界值
3)根据需要覆盖的输出值反推输入值
4) 转化成测试用例
输出域实例
优点
缺点
有限状态机
状态迁移法步骤
1) 画出状态迁移图
2)列出状态 - 事件表
3)画出状态转换树
4)确定测试路径
5)针对每条路径设计测试用例
状态迁移法练习
TM状态切换
状态迁移法使用场景
有工作状态的软件,修改设置/配置,有状态变化的功能测试。
流程分析法概念
流程分析法 又叫 场景分析法,是将软件系统的某个流程看成路径,用路径分析的方法来设计测试用例。
关注的重点是流程是否能走下去,每个节点的功能并不关注。
流程分析法步骤
1)画出流程图
2)确定测试路径
基本流程 一次性成功的流程
备选流程 多次反复后才成功的流程
异常流程 失败的流程
3)针对每条路径至少设计 1 条测试用例
流程分析法练习
取款流程
流程分析法使用场景
业务流程测试,安装流程、卸载流程测试
条件桩 列出了问题的所有条件(输入),次序无关紧要
条件项 列出针对它所列条件(输入)的取值,即每个条件 只能取真假两个值
动作桩 列出针对问题可能采取的操作,这些操作的排列顺序没有约束
动作项 列出在条件项的各种取值情况下应该采取的动作
规则 任一条件组合的特定取值和对应的动作,贯穿条件项和动作项的一列
判定表法步骤
1)确定所有输入(条件)和输出(动作)
每个输入和输出只能有两种取值
有多种取值的每个取值作为一个条件或动作
2)将所有输入的取值做全排列组合,N个输入有2的N次方列
3)明确每一列对应的动作,形成各个规则,形成判定表
4) 对判定表进行化简
去除无效规则
合并相似规则(输出与某个输入的取值无关)
5)将每条规则转化为用例
判定表法优缺点
优点
把复杂的问题按各种可能的情况一一列举出来,简单而易于理解,也可避免遗漏
缺点
因果图法帮助快捷生成判定表的方法,需要结合判定表法一起使用。
恒等 若 C1=1 则 E1=1,若 C1=0 则 E1=0
非 若 C1=1 则 E1=0,若 C1=0 则 E1=1
或 若 C1=1 或 C2=1,则 E1=1
与 若 C1=1 且 C2=1,则 E1=1
2)约束条件
互斥,包含,唯一,要求,屏蔽/强制
C1 和 C2 至多有一个为 1,可以都为 0,不能都为 1----红绿灯
C1 和 C2 至少有一个为 1,可以都为 1,不能都为 0----不定向选择题
C1 和 C2 有且只有一个为 1----单选题
若 C2=1,则 C1 必须为 1 —优惠券(满300减30)
若 E1=1,则 E2 强制为 0—比赛规则(有人冠军,则另外一个亚军)
因果图步骤
1)确定所有输入(原因)和输出(结果)
每个输入和输出只能有两种取值
有多种取值的每个取值作为一个原因或结果
2)输入和输出独立标记
输入(原因)C1,C2,C3…
输出(结果)E1,E2,E3…
3)画出因果图
分析软件规格说明的语义内容,并将其转换为连接因果图关系的布尔图
给图加上注解符号,说明由于语法或者环境的限制而不能联系起来的“因”和“果”
如有必要,设置一些中间节点
4)将因果图转换成判定表
将输入,输出和条件项按照判定表的方式填写, 其中条件项填满输入的全排列组合
按照因果图的输入约束删除对应的条件项
按照因果图的逻辑关系填写规则的结果
5) 简化判定表(可选)
6)生成测试用例
将判定式表中的剩余的有效列(规则)转换为测试用例
因果图法优缺点
优点
通过因果图来表示业务规则,通过中间节点来进行因果图的拆分,减少条件个数来降低判定表的工作量
缺点
使用复杂繁琐,难度高
因果图法使用范围
范围基本同判定表。输入输出的逻辑关系很明确时用判定表,不是很明确先用因果图,然后再用判定表。
根据 经验 预计软件在哪些情况下可能会出问题,如异常操作和软硬件缺陷容易产生故障
当测试用例数量不够或者未到达标准时可使用该方法补充测试用例
上一篇:VESC简介与国产替代方案
下一篇:String字符串拓展贴