一、正交实验法
1.定义
正交实验法(Orthogonal Experimental Design),也称为伽罗华正交实验法,利用伽罗华的正交表进行测试的一种方法,正交表是一种两两组合的表,经验数据表明两两组合测试没有问题就认为其他组合测试问题的概率较小。
2.相关术语
(1)因子:输入条件
(2)状态:输入条件的取值
3.正交表
试验号 | 因子 | ||
因子1 | 因子2 | 因子3 | |
1 | 1 | 1 | 1 |
2 | 1 | 2 | 2 |
3 | 2 | 1 | 2 |
4 | 2 | 2 | 1 |
以上便是一个三因子两状态的正交表,正交表的种类可以自行取网上找,其中加粗的部分便是状态。
4.正交实验法的使用步骤
(1)将软件需求规格说明书划分成需求子片段
(2)分析需求子片段,找出因子和状态
(3)构造一张因子状态表
(4)分析各个因子和状态,进行加权和筛选
(5)重新构造一张因子状态表
(6)套用正交表,如果因子状态是均匀分布的,直接套用合适的正交表,如果因子状态不是均匀 分布的,进一步做合并、补充再套用正交表,进行再次分解
(7)添加一些未被组合的规则
5.综合案例
某一款相亲软件需要进行兼容性测试,其中需要测试的项为web浏览器,包括谷歌和火狐,系统包括MacOS,Windows,应用服务器包括Apache,IIS。
试验号 | 因子 | ||
浏览器 | 操作系统 | 应用服务器 | |
1 | 谷歌 | MacOS | Apache |
2 | 谷歌 | Windows | IIS |
3 | 火狐 | MacOS | IIS |
4 | 火狐 | Windows | Apache |
所以测试用例的组合由表中的四种组成。
6.特点和适用范围
(1)特点:两两组合的测试方法,效率比较高,效果比较好,是比较经济高效的一种方法。
(2)适用范围:配置测试,兼容性测试,多条件查询功能测试。
二、状态迁移图法
1.定义
针对有限状态机进行测试的一种方法,测试在给定的条件下状态能够正确的跳转,测试是否存在非法的跳转以及不可达的状态。
2.相关术语
(1)有限状态机:有限状态机拥有有限数量的状态,每个状态可以迁移到零个或多个状态,通过一些输入条件决定执行哪种状态的迁移。
(2)状态:某个时间点表现。
(3)跳转条件:状态发生变化的输入。
(4)迁移:状态发生变化的过程。
3.状态迁移图法的使用步骤
(1)将软件需求规格说明书划分成需求子片段。
(2)分析需求子片段找出状态和跳转条件。
(3)假定一个初始状态,以圆圈为节点代表状态,以箭头为迁移方向代表跳转条件,画出状态迁移图。
(4)通过状态迁移图得出状态事件转换表。
(5)通过状态事件转换表得出状态转换树。
(6)通过状态转换树得出测试路径。
(7)考虑一些非法异常的测试路径。
(8)必要时结合等价类和边界值生成最终测试用例。
4.综合案例
定义一个栈,栈中可以存放两条数据,一次可以存(push)取(pop)一条数据。
状态:栈空,栈未满,栈满
跳转条件:push,pop
上一状态 | 跳转条件 | 下一状态 |
空 | Push | 未满 |
未满 | Push | 满 |
未满 | Pop | 空 |
满 | Pop | 未满 |
测试路径:空—未满—满—未满,空—未满—空
三、流程分析法(场景测试法/用例设计法)
1.定义
以不同用户角度通过设计一些用户使用系统的场景,将使用场景的功能通过流程图表示出来,借鉴了白盒测试方法中的语句覆盖法,将功能点取代语句,找出测试路径。
2.流程分析法的使用步骤
(1)阅读软件需求规格说明书,了解软件系统的业务。
(2)分析软件需求规格说明书,找出用户使用的主要功能。
(3)分析主要功能点之间的顺序关系,画出基本流程图。
(4)继续阅读软件需求规格说明书,了解软件系统的辅助功能。
(5)分析辅助功能点之间以及与主要功能点之间的顺序关系,画出备选流程图。
(6)逐渐细化流程。
(7)找出测试路径,确定测试路径的优先级。
(8)结合其他测试用例设计方法生成最终的测试用例。
3.综合案例
ATM取款机取款流程
核心业务流:插入银行卡--输入密码--选择取款业务--输入取款金额--取款--选择取卡业务--取卡--结束
插入银行卡--卡消磁/卡无效--退出
插入银行卡--输入密码--密码错误重新输入--密码错误放弃输入(三次错误吞卡)
插入银行卡--输入密码--选择取款业务--输入取款金额--取款金额不合理--选择取卡业务--取卡--结束
四、其他测试方法
1.输入域测试法
(1)定义:针对软件系统的输入部分综合运用等价类和边界值使用的方法;
(2)测试点:极限值:边界值分析法中的上点、离点(最大、最小。。。)
中间范围值:边界值分析法中的内点
特殊值:处理方式或者结果与其他输入完全不同,要做特殊处理
通信行业:10000;10086;10018;110;911;13800138000---移动充值号码
银行:报报表批处理的特殊时间
2.输入域覆盖法
(1)定义:在输入条件不够明确的情况下,给出输出结果的范围,针对输出结果综合运用等价类和边界值的方法,确定输出结果,反向推出输入数据的值;
(2)使用步骤:输出结果划分等价类;选取边界值--确定数据--找出输入数据
(3)例子:推出一款保险理财产品:5%~10%的年利率:存钱金额。。。。存钱年限。。。。办理几张银行卡
3.错误猜测法
(1)定义:基于经验的猜测(不是凭空猜测),有经验的测试人员在一些系统测试的已经比较全面之后,再进行补充。利用测试人员对于软件系统缺陷比较熟悉,对开发人员的开发弱点比较了解,针对容易出错的地方根据经验去测试。
(2)使用步骤:确定猜测主题--列出猜测事项(检查表;优先级)--检查表的优先级进行猜测填写猜测结果---汇总猜测结果---优化检查表--继续猜测;
4.异常测试法
(1)概念:用一些非法的手段或者非法的数据测试软件系统的强壮性;
(2)举例:无效的数据;非法的路径;超出极限的文件;弱网的环境;不稳定网络环境变化;断网的情况的测试