第10篇:测试用例设计之最小线性无关路径覆盖法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10篇:测试用例设计之最小线性无关路径覆盖法
一、测试用例设计的对象一般分为四类:
1、流程类:测试对象具有明显的步骤,可以绘制成流程图;
2、参数类:测试对象包含的是一些输入的参数;(手机可以连接加密码或不加密的WiFi网络,加密WiFi网络的加密算法,分别为WEP、
WPA、WPA2)
3、数据类:测试对象是一些输入的数据;(WiFi网络支持的名称为:1~10个字符,允许输入字母、数字、汉字、下划线,不允许其他的输
入)
4、组合类:包含以上三种情况;
二、流程类测试对象的用例设计方法
对于流程类的测试对象,我们一般使用“最小线性无关建模法”。具体的操作方式就是将测试对象绘制成流程图:
在绘制流程图这个步骤中,需要特别注意的地方是:
1、测试者要充分理解测试对象相关的功能业务流程,确保流程图的正确性;
2、测试者要和产品设计者充分交流,保证绘出的流程图能够正确覆盖产品的设计;
3、如果开发已经提供了该功能的流程图,测试者需要仔细审视流程图的正确性,必要时可以重新绘制;
那么什么是最小线性无关路径覆盖法:“保证流程图中每个路径片段都能够被至少执行一次”,且在这种覆盖策略下得到”最少路径组合”,就是”最少线性无关覆盖”。
也就是说“最小线性无关路径覆盖法”可以得到最少测试路径并完整覆盖各种分支情况!
实际操作中,我们可以借助”最小线性无关算法“来得到一个流程图的最小线性无关路径:
三、具体示例
按照上述算法,接下来我们通过之前视频广告SDK预加载和缓存功能来做具体分析。
视频预加载和缓存功能的测试任务功能设计图
首先,我们接到,接着通过对该的分析,我们得到如下逻辑流程图:
需要特别指出的是,根据最小线性无关算法,可以看出该算法只适用于只有一个输入口和一个出口的情况。但实际中的流程图,一般都会比较复杂,拥有多个输入或者多个输出,就想上面的流程图那样,拥有有两个输出口,就不能直接套用该算法。那是不是意味着最小线性无关算法在实际中并没有什么卵用,答案当然不是。拥有多个输入口和输出口的流程图,我们只需要对其进行拆解,使得拆解后的每个流程图都只有一个输入、一个输出即可。
根据上面的流程图,我们可以拆成视频播放逻辑和视频预加载缓存逻辑两个部分,具体拆分情况如下:
1、视频播放逻辑部分流程图
2、视频预加载和缓存部分流程图
前提条件,我们直接套用算法进行梳理,便可得到如下八条”线性无关路径”:
1、开始 - 未预加载 - 加载广告 -加载成功 - 播放广告 - 预加载下一条广告 - 视频Model预加载成功 - 根据视频Model查找视频文件
- 本地视频已下载 - 执行淘汰策略 - 回调加载成功;
2、开始 -已预加载 - 播放广告 - 预加载下一条广告 - 视频Model预加载失败 - 回调加载失败;
3、开始 - 已预加载 - 播放广告 - 预加载下一条广告 - 视频Model预加载成功 - 根据视频Model查找视频文件 - 视频文件未下载 - 存
在视频缓存文件 - 进行断点续传 - 断点续传成功 - 执行淘汰策略 - 回调加载成功;
4、开始 - 已预加载 - 播放广告 - 预加载下一条广告 - 视频Model预加载成功 - 根据视频Model查找视频文件 - 视频已下载 - 执行淘
汰策略 - 回调加载成功;
5、 开始 - 已预加载 - 播放广告 - 预加载下一条广告 - 视频Model预加载成功 - 根据视频Model查找视频文件 - 本地未下载视频文件
- 不存在视频缓存文件 - 根据视频Model下载视频 - 下载成功 - 执行淘汰策略 - 回调加载成功;
6、开始 - 已预加载 - 播放广告 - 预加载下一条广告 - 视频Model预加载成功 - 根据视频Model查找视频文件 - 本地未下载 - 存在视
频缓存文件 - 进行断点续传 - 断点续传失败 - 删除视频缓存文件 - 回调加载失败;
7、开始 - 已预加载 - 播放广告 - 预加载下一条广告 - 视频Model预加载成功 - 根据视频Model查找视频文件 - 本地未下载 - 不存在
视频缓存文件 - 根据视频Model下载视频 - 下载失败 - 回调加载失败;
8、开始 - 未预加载 - 加载广告 - 加载广告失败 - 回调加载失败;
然后我们再为每条路径确定相关的测试数据,就得到视频预加载和缓存机制的具体用例。
四、最后
当然,最小线性无关路径覆盖法只是套路,经验也是测试者很宝贵的财富。我们可以根据经验再对视频广告的预加载和缓存功能补充一些测试用例,比如以下常见情况:
1、广告加载、视频Model加载失败的情况:(1)断网;(2)弱网;(3)用户关闭;(4)没有广告;(5)广告信息返回错误;
2、淘汰策略:(1)淘汰视频文件:小于50M、等于50M、大于50M、淘汰最旧;(2)、淘汰广告:预加载视频Model过期、广告下线等;
3、业务情况:(1)单独自家视频;(2)单独聚合视频;(3)自家视频和聚合视频切换;