*建立起一个全局目标后,再开始测试
探索式测试的几个目标:
1、理解应用程序如何工作、它的接口看起来怎样、它实现了哪些功能
2、强迫软件展示全部能力:
*目的是让软件努力运行,证明软件确实实现了设计时所要求达到的功能
3、找到缺陷,并有目的的使缺陷数量降为零
把软件特性划分成几个相互重叠的“区域”,具体区域和测试方法如下:
商业区:
*含义:用户所要使用的软件特性和功能,你的软件包装盒上描述的特性和掩饰的特性及代码
测试方法:
1、指南测试法:根据用户说明书来测试
2、卖点测试法:观摩哪些销售演示,测试演示过程,并且可以加上质疑测试法
3、地标测试法:提前确定关键的软件特性,确定他们的前后顺序
4、极限测试法:向软件提出最困难的问题
5、快递测试法:关注于数据,找到每个和数据有接触的软件特性
6、遍历测试法:通过选定一个目标(例如所有菜单项、所有错误消息或所有对话框),然后使用可以发现的最短路径来访问目标包含的所有对象
历史区:
*含义:从前版本遗留下的代码,还有那些曾经出现较多缺陷的特性和功能
测试方法:
1、恶邻测试法:反复测试缺陷特别多的地方
2、博物馆测试法:关注被接受重新修改的老代码,或者是没被改动就放到新环境中运行的老代码
3、上一版测试法:回归测试,关注新版本中无法再运行的测试用例
娱乐区:
*含义:软件的辅助特性,而不是主线特性
测试方法:
1、配角测试法:关注和主要的特性非常邻近的特性,例如和主要的特性一同出现在显示器上,容易被用户注意
2、深巷测试法:软件中最不可能被用到的或者最不吸引用户的特性,有助于提高代码覆盖率
*注:多个特性混合在一起测试时,比如重要的和不重要的混在一起时,可以考虑:
**有关输入的问题:这两个特性会不会处理同一输入
**有关输出的问题:这两个特性功能是否在可见的用户界面上操作同一块区域?他们会产生同一个输出吗?
**有关数据的问题:这两个特性会操作其共享的一些内部数据?是读取共享数据、还是修改共享数据
3、通宵测试法:性能测试和压力测试,永远不关闭程序,连续不断的使用某些特性来测试软件