黑盒测试用例设计方法三
一、正交实验法
1)正交法原理介绍
1、日本人,统计学家提出的
2、使用的工具:正交表
3、统计和分析实验数据,从大量实验中找到合适的实验数据组合(原本用于工业生产的数据组合与实验室的数据挑选)
4、从大量的试验组合中,挑选出一部分具有代表性的点,进行实验,分析数据。
5、核心概念:a、影响实验结果的---实验因素(因子)、因素 b、每一个因素的不同取值(状况)---水平
例如,字的显示效果,字体、字号、颜色,称为因素。字体选择时可以选择宋体、楷体、隶书等,称为水平(212个)。字号选择时,1号、2号等,称为水平(100个)。颜色选择时,称为水平(256)
测试字的显示效果将会有:212*100*256=
c、正交表特点:每一列中同一数字(水平)出现的次数相等,任意两列组成的数字(水平)对出现的次数也是相同的。
2)正交实验法实现步骤
a、分析所有对结果有影响的因素。从多个角度和方式进行分析(不要放过文本框、按钮等需求中提及或者没有提及)
b、分析每个因素的数量水平。充分利用等价类、边界值(需求中说明和未说明的都要分析)
c、选择正交表。只有特定的因素和水平的组合才有对应的正交表。所以在现实中用到的时候,找最贴近的正交表(正交表的因素和水平数一般要大于实际的因素数和水平数)
正交表的数字关系。n代表实验次数,m代表水平数,k代表因素的数量。这三个数之间没有数学关系
仅适合用于每一个因素的水平数都相同的正交表。
3)实际案例
完全排列组合:3*3*3=27
4)正交实验助手
L9_3_4:3水平4因素9次实验
每一列中,同一个数字出现的次数相同(3次)
任意两列中,同一个数字对出现的次数相同(1次)
二、功能图法(状态迁徒图)
1、原理介绍
在遇到有事务流或由于某种条件成立导致状态改变的软件时用
适用场合:软件的状态会根据某些内容、条件、操作的变化而变化
目标:尽可能覆盖软件的状态、状态-条件的组合、状态变迁路径
2、分析过程
步骤:1)识别和列举所有的输入法(操作)事件。以IPN(input)(N=1 2 3 )
2)定义空闲状态(初始状态)。一般以软件刚启动时打开的界面状态为 空闲 状态
3)为空闲状态加操作(只加一次)
4)为第 3) 步所产生的新状态加操作(只加一次,并且曾经加过的操作,不再重复添加)
5)循环为所有的新增状态加操作,直到没有新状态为止。
6)组合任意状态,以列表的形式展现,设计和编写测试用例。
3、案例
以QQ登陆界面为例,说明功能变迁
1)识别出可以进行的操作:IP1:输入账号 IP2:输入密码 IP3:点击登录 IP4:点击关闭按钮
2)定义QQ登录界面为 空闲 状态。
3)为空闲状态加操作第一轮分析后
产生了新的状态。针对新的状态进行分析(第二轮) 得到了一个新的状态,所以继续分析,图三
虽然得到了一个全新的界面(状态)但是和空闲状态发生了“隔断”因此将其视为空闲状态的结束。可以结束分析
4)将状态变化过程列表化,准备设计测试用例
三、其他用例设计方法
1、测试大纲法
1)特点:着眼于需求,进行详细的需求分析,将其转化为思维导图(树形结构)
2)无需用测试用例。一般从根节点进行分析,到叶节点为止。这样的一条路径,就是一条测试用例。
3)一般用于快速的测试和记录。用例一般进行后补。
2、探索性测试法
基于经验和直觉(女生专属)
是计划内测试用例设计的补充
探索性测试执行前也需要测试用例
3、猴子测试(随意性测试)
没有测试用例(无意识的行为)
不能达到指定的覆盖度
想要重复操作,极其困难。
四、用例设计方法综合选择
用例设计方法:1、等价类划分法 2、边界值分析法 3、因果图法 4、判定表法 5、场景法6、正交实验法 7、状态迁徒图法(功能图法)
用例设计方法的使用不是孤立存在的,而是存在于项目中,尤其是一个项目。
以教育app为例说明各种设计用例的应用
1)启动页中,有如下需求:
①读取版本更新信息。匹配当前APP与线上信息需要更新的APP版本是否一致。 ②读取用户信息。未登录用户,则不用获取;已登录用户,验证是否登录过期。
用例设计方法:采用场景法进行设计。
设计场景:
①APP的安装版本比更新版本要低。启动就需要进行版本检测,并进行提示。
②APP安装版本与最新版本一样,默认检测过程成功。
③APP启动检测用户登录状态,如果登录过期或者未登录,启动完成后直接跳转登录界面。
④APP启动检测用户登录状态,如果登录信息有效,启动完成后直接跳转首页界面。
2)在登录界面。看需求:
①手机号:暂时只支持大陆手机。
②验证码:长度为六位数字。
③短信验证码文本内容:【正教】456712(正教验证码)30分钟内有效,为确保您账号安全,请勿把验证码告诉他人,感谢您关注正教。
④登录按钮点击后系统可能的弹窗提示。
用例设计方法:采用等价类划分法和边界值分析法。
等价类划分法:
①手机号的有效性(手机号包含各种不合法字符)
②验证码包含各种不符合需求的字符。
边界值分析法:
①手机号超过/不足长度限制。
②验证码超过/不足长度限制。
③验证码有效期为30分钟,所以超过30分钟后使用验证码,就是边界值的使用。
④弹窗提示1秒消失。超过或者不足的测试都是边界值的应用。
因果图法:
①提交数据时,APP网络中断,有网络异常的提示。
②提交数据时,服务端崩溃或者无法提供正常服务,有服务器报错提示或者等待提示。
③提交数据时,手机号不符合要求(不存在),有手机号错误的提示。
④提交数据时,验证码输入不是收到的验证码、超时,有验证码错误提示。
3)课程内容页。需求如图所示:
用例设计方法:场景法、等价类划分法、边界值分析法
场景法:
①该课程今日有作业,有提问的内容展示。老师发布作业的时候,学生提问。
②该课程今日有作业,无提问的内容展示。老师发布作业的时候,学生没有提问。
③该课程今日无作业,有提问的内容展示。老师没有发布作业的时候,学生提问。
④该课程今日无作业,无提问的内容展示。老师没有发布作业的时候,学生也不提问。
等价类划分法、边界值分析法:
①日期的显示。有没有出现2017年2月有29天的现象?
②日期的显示。会不会出现2017年2月1日和2017年1月31日重复或者相隔一天的现象?
总结:所有测试用例的设计方法,没有独立使用的。都是融合在一起使用。往往在一个软件的界面中,都可以使用好几种用例的设计方法
正交实验法是一种极其特殊的用例设计方法。一般没地方用。下面图中的功能,适合使用: