探索测试(笔记)

局部探索测试:

用户输入

合法输入和非法输入:测试提供非法输入测开发人员的防护代码

输入筛选器:(下拉菜单等,限制了输入的情况)

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.      尝试从右往左写的语言(阿拉伯语)

 

你可能感兴趣的:(软件测试)