说到探索式软件测试(简称为ET,Exploratory Testing)或者探索性测试,很多的测试人员并不陌生。几年前,这个词在测试行业比较热门,而目前热门的应该算自动化测试了。
但自动化测试有一个致命的弱点,就是“预言家难题”-- 意思是如何才能知道被测试软件确实完成了它应该完成的任务,预言如何才能精准无任何差错。机器毕竟不是人,它只能按照固定的步骤来执行计算、判断,例如自动化运行中途出现:操作系统升级重启、机器断网、浏览器故障重启了、页面刷新较慢元素在该有的时间内没出现、HTTP丢包等任何一些不稳定现象,自动化的流程就很容易崩溃并最终需要人的介入。过度依赖自动化是不明智的,手工测试永远会发挥作用。
随着软件测试的发展,手工测试越来越倾向于精心策划。现代软件项目是庞大的而人员成本是有限的。为了保证在有限的时间内做最正确的事,需要在手工测试开展之前,有明确的战略和方向,但又必须预留一定的发挥空间让每个人的大脑可以充分运转起来,能在测试的过程中随机应变。这种测试方式可以称作探索式软件测试。
业内广泛认为ET这个词是由Cem Kaner最早提出的,根据他的说法:ET是一种软件测试的风格(style),强调测试人员的自由权利和责任心,通过同时进行测试相关学习、测试设计、测试执行和测试结果解析这四种相互支持的活动,不断优化测试工作。
相关参考内容有:
一:http://en.wikipedia.org/wiki/Exploratory_testing
二:http://www.kaner.com/pdfs/QAIExploring.pdf (第36页)
詹姆斯·惠特克(James Whittaker)结合自己二十年的经验,出版了一本书--《探索式软件测试》,从多个角度阐述了探索式软件测试的使用技巧、提示和相关技术。内容很棒很详尽,是本值得看的好书,推荐大家去看一下。
探索式软件测试蕴含着丰富的策略,将结构化思想与自由的探索方式很好的结合起来,在发现缺陷以及检验正确性上有显著的效果。如果想发现应用程序业务逻辑相关的缺陷,充分发挥主观能动性的探索式软件测试是不错的选择。
暂时说到这里,“纸上得来终觉浅,绝知此事要躬行”。探索式软件测试依然需要不断地实践,实践,实践!