黑盒测试用例设计方法三

一、正交实验法

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日重复或者相隔一天的现象?

总结:所有测试用例的设计方法,没有独立使用的。都是融合在一起使用。往往在一个软件的界面中,都可以使用好几种用例的设计方法

正交实验法是一种极其特殊的用例设计方法。一般没地方用。下面图中的功能,适合使用:

 

posted @ 2024-07-16 21:23  桃杳  阅读(42)  评论(0)    收藏  举报