一、           探索性测试介绍

探索性测试是作为一个重要组成部分而出现的,把对 ‘系统的探索’ 和对 ‘系统进行测试’ 结合在一起,同时我们可以在探测测试中发现难以发现的10%-20%的缺陷,让测试更富于“探测性”,测试用例更无机可循,对于测试输入控制有效,但是所花的测试时间更长。

探索性测试属于一种自由测试,它是传统使用测试用例进行测试一个补充。下面是两者间的差异比较。

使用测试用例:

ü        规范

ü        设计测试用例

ü        发现问题情况:与测试用例设计紧密相关

ü        覆盖:非完整覆盖

ü        个数有效

自由测试:

ü        输入检查、控制、非法异常处理

ü        没有测试用例、很少的测试数据

ü        使用“探索”方式进行测试

ü        覆盖:面向非定义业务流程的测试,更简单

ü        实际测试个数非常大

 

探索性测试的出发点是“测试者如果没有真正使用过系统,不可能真正理解和掌握系统,也不可能真正有效地测试该系统”,相信所有有过测试实践的测试工程师都会承认这一点。确实,在我们没有接触到一个真正的系统之前,很难完全认识到这个系统,虽然可以在测试计划阶段按照需求或是设计的要求写出测试方案和用例,但总觉得这些用例不可能具有太强的可操作性。

 

探索性测试只是一种方法和思路,并不是一个确定的过程。因此,在使用探索性测试时,无法回避的是When的问题,也是说,在什么时候进行探索性测试更加有效呢?我的答案是“在你认为合适的时候”。因为,探索性测试可以针对不同的测试层面,例如,针对业务场景的探索性测试、针对功能点的探索性测试,甚至是头脑风暴式的探索性测试,都能够在测试中发挥积极主动的作用。

 

二、           针对探测性测试产品

根据探测测试方法和思路我们来具体用工具来实现探测测试,目前我们使用的是我们公司的Monkey猴子探测工具。

它的主要功能是对被测系统进行随机性探测测试(随机也是有规律可循,而且一般所针对的是一个功能点)首先必备条件我们要对被探测的系统进行一个录制过程,录制结束后,我们可以获得我们所需的探测组件,获得我们所需的组件后,我们需对后的结果或者过程中添加一些检查点(也是我们在探测过程中所需比较之处),后我们还有一个重要的步骤,那是对探测性的范围做一个设定(在此过程中我们会设置一些正确取值  设置完后我们会对组件之间设置一些约束),设置然后经过猴子探测算法对进行猴子随机探测测试。后我们会得到我们所需要的结果。查看一条执行路径中哪些数据可用。哪条路径是可执行路径(好的结果那是有脚本可出,终让自动化管理工具进行执行)。