局部探索测试:
用户输入:
合法输入和非法输入:测试提供非法输入测开发人员的防护代码
输入筛选器:(下拉菜单等,限制了输入的情况)
1. 检查筛选器中的值是否为合理的值(合法与不合法值的区分)
2. 绕过筛选器
3. 输入过的值还可以继续被修改
检查输入:
1. 检查所有的报错信息(推测开发人员的真实意图,拓展测试用例)
异常处理:
1. 对于程序try() catch()捕获的异常,反复测试异常周边的值,很可能让程序崩溃(尝试测试要调用它的函数)
非常规输入:
1. 快捷键的输入组合
2. 尝试输入系统的保留关键词(COM1)
3. 输入空白值,让程序返回null参数,观察程序反馈的问题
附:
1. 从输出看输入的值,找到输入与输出对应的情况
2. 连续输入,观察是否有值处于前一个状态未变
状态:
1. 通过状态来找寻合理的输入值的组合方式
2. 对于累积的变量一直持续的对它操作,观察是否会造成“溢出”。
最重要的一点就是:中间状态值在重复操作的过程中是否会出现释放操作
全局探索测试
商业区测试:
指南测试法:按照需求项一条一条来测试产品的主要功能
卖点测试:整体演示产品的功能(类似于销售的工作,向客户介绍产品,完整的主线和分支)
从用户的角度提问(结合销售给用户的宣讲)
地标测试:罗列出地标点(主功能点),按照顺序走地标。(可以选择不同的起始点)(增加新地标)(改变地标的先后顺序)
快递测试法:跟踪数据,数据从输入开始,在中途过程处理,再到数据存放,输出等整个数据的生命周期,向快递一样送到所有位置。
深夜测试法:测试那些后期的处理程序如:维护,备份,归档等(不一定是在夜里面)
遍历测试法:选定目标,用最短路径访问所有的目标里的成员。
历史区测试:
恶邻测试:1.对于测试缺陷较多的区域可以加强测试,找到更多的错误,也同时查找相邻区域的故障,避免殃及带来的问题
2.对于修改后的软件,对于灾区以及邻近区域也应该加强测试,以便找到更多
博物馆测试:1.对于老的代码(可能是很早以前定制好的模块)要检查一些固定的错误
2检测上一个版本的中无法在新版本中的Case
娱乐区测试:
配角测试法:关注主功能周边的一些地方,一些辅助的功能(右键,排版等)
深巷测试:测试那些最不可能涉及到的地方
将最少涉及到的地方与最多涉及到的地方相结合:
1. 输入:这两个特性会不会同时处理同一个输入
2. 输出:这两个功能是否在可见的用户界面上操作同一块区域
3. 数据:两个特性是否会共享一些内部数据,是共享读取还是共享修改
有一个问题回答是,则可以将两者相结合。
通宵测试法:就是不关闭程序一直运行,让软件一直未被重新设置过,观察程序是否会出问题(此处可以用录制回放来尝试)
旅游区测试:
收藏家测试法:收集所有情况下软件可以得到的各种输出(就像旅游的时候拍照片一样)
长路径测试法:选择从软件开始的起点一直走到距离最远,界面切换最多最频繁的地方去
超模测试:观测界面;控件是否正常绘制了,性能是否良好,变化界面时的刷新情况,软件前后所使用的软件图形是否一致。
测一送一:多起几个副本程序,执行操作,可以观察到那些资源被释放了,那些资源一直被持续占用。
苏格兰酒吧测试法:适用于大型的程序,要去找合适的导游(参加用户组讨论,读产业博客,专业知识)
旅馆区测试类型:
取消测试法:1 取消一些改变的值,可以观察是否已经改变了,这样可以看出取消的功能是否实现了。2 需要长时间的操作过程,在过程中点击取消(不可过分依赖于程序自带的GC)。
懒汉测试法:就是尽量不对软件进行操作,让软件只执行默认值,空白值,因为默认值其实在各种情况下很难被执行到,测试人员少操作意味着计算机多操作
破旧区测试:
破坏测试:增加删除文件,改变文件权限,断开网线,故障注入等等
反叛测试:1 每次都输入不可能的值。2 错误的类型,错误的格式,过长或者过短的输入3 按照错误的顺序执行单步都正确的操作
强迫症测试:就是反复重复操作,其实是开发人员容易将全部逻辑执行完成以后,再考虑重复操作的问题,而强迫症就是要在软件执行到不同的阶段时让软件回到原点
混合式探索测试
插入操作:
增加更多数据:有意义的增加场景中要求的数据。
使用附加输入:了解哪些附加功能和场景中提及的功能相关,增加输入来测试附加的功能。
访问新界面:那些界面和当前测试的界面有关
删除操作:
1. 将所需要的步骤罗列出来 2.每次执行时减少一个步骤直至最简单的步骤执行(缺少信息,缺少条件下的情况)
替换操作:
先删步骤,然后再插步骤,确定在用户操作的过程中有哪些不同的路径和选项。
重复操作:
通过合理的重复操作来增加测试的场景,同时也将改变某些场景设置的顺序,反馈出初始化数据改变后的内容。
替换数据
1.使用用户数据,或者创建测试数据源
2.模拟数据断联系,数据过分大和数据过分小的情况(一种是直接没有数据,一种是少了一些数据,观察程序的变化)。
替换环境
替换硬件:使用不同配置的机器来运行(或者使用虚拟机技术)
替换容器:在网页测试的过程中需要对很多的浏览器种类进行测试,在应用软件中需要对不同的运行平台进行测试如Java还是.net平台
替换版本:容器的老版本依旧有着许多的市场份额,所以对于老环境的检测还是很有必要的
修改本地设置:修改注册表(这个其实难度有点大)
混票测试法
就是在场景出现位置和时序重叠的时候,可以从一个场景跳到另外一个场景,满足上述需求。
实践中的一些拓展
出租车测试法
该种测试方法就是探测某一功能的所有路径和禁止某功能后,执行该功能的所有路径
多元文化测试法
1. 更改应用程序和操作系统的语言,再验证程序的所有情况是否已经完成了语言的切换
2. 尝试从右往左写的语言(阿拉伯语)