任何一个软件公司发布的产品都有缺陷,所以软件测试是产品开发过程中必不可少的一部分。经过长期的发展,软件测试方法不断完善,探索式测试方法也是其中的一种。本文将结合实际工作谈谈对探索式测试方法的理解。
作者介绍
孙小霞中国移动苏州研发中心 大数据产品部 技术总监
王均 中国移动苏州研发中心 大数据产品部 测试工程师
周煜澄 中国移动苏州研发中心 大数据产品部 测试工程师
探索式测试方法主要分为两类:
局部探索式测试法针对测试人员在运行任何一个测试用例时所需要作出的细微决定;
全局探索式测试法针对测试人员在编制测试计划和测试用例设计时所需要考虑的广泛的战略性问题。
一、局部探索式测试法
1 输入:合法输入、非法输入
1)输入筛选器
第一,开发是否正确的实现了该功能?
第二,是否可以绕过屏蔽器?或者当输入值进入系统后还可以修改?
2)输入检查
测试时必须仔细阅读每一条错误信息,检查该信息是否写错了,错误信息还可以透漏开发编程时的一些想法。
3)异常处理
如果测试看到一个通用出错信息,建议测试再反复测试同一段函数,继续使用刚才引发异常的输入数据,或稍微修改一下,看看会不会导致出错。尝试运行其他一些要调用该函数的测试用例,看看会发生什么情况。
4)常规输入和非常规输入
例如:
和Ctrl、Alt、Esc按键组合的字符,操作系统、编程语言、浏览器和运行时环境的特定保留词或按键。
5)使用输出来指导输入选择
①首先确定希望程序产生的输出结果,然后考察所有用户场景,来确定输入;
②先观察输出结果,再选择新的输入,使新的输出为重新计算后的结果。
2 状态
软件的一个状态就是状态空间中的一个点,它由所有内部数据结构的取值来唯一确定。
①使用状态信息来帮助寻找相关的输入,如果两个或更多个输入在某种程度上关联,那么它们应该放在一起测;
②使用状态信息来辨识重要的输入序列,当一个输入导致状态信息被更新时,紧接着再多次使用同样的输入会导致一连串的状态变化。