• 2
  • 2
分享

说到探索式软件测试(简称为ETExploratory Testing)或者探索性测试,很多的测试人员并不陌生。几年前,这个词在测试行业比较热门,而目前热门的应该算自动化测试了。

 

但自动化测试有一个致命的弱点,就是“预言家难题”-- 意思是如何才能知道被测试软件确实完成了它应该完成的任务,预言如何才能精准无任何差错。机器毕竟不是人,它只能按照固定的步骤来执行计算、判断,例如自动化运行中途出现:操作系统升级重启、机器断网、浏览器故障重启了、页面刷新较慢元素在该有的时间内没出现、HTTP丢包等任何一些不稳定现象,自动化的流程就很容易崩溃并最终需要人的介入。过度依赖自动化是不明智的,手工测试永远会发挥作用。

 

随着软件测试的发展,手工测试越来越倾向于精心策划。现代软件项目是庞大的而人员成本是有限的。为了保证在有限的时间内做最正确的事,需要在手工测试开展之前,有明确的战略和方向,但又必须预留一定的发挥空间让每个人的大脑可以充分运转起来,能在测试的过程中随机应变。这种测试方式可以称作探索式软件测试。

 

业内广泛认为ET这个词是由Cem Kaner最早提出的,根据他的说法:ET是一种软件测试的风格(style),强调测试人员的自由权利和责任心,通过同时进行测试相关学习、测试设计、测试执行和测试结果解析这四种相互支持的活动,不断优化测试工作。

相关参考内容有:

一:http://en.wikipedia.org/wiki/Exploratory_testing

二:http://www.kaner.com/pdfs/QAIExploring.pdf (第36页)

 

詹姆斯·惠特克(James Whittaker)结合自己二十年的经验,出版了一本书--《探索式软件测试》,从多个角度阐述了探索式软件测试的使用技巧、提示和相关技术。内容很棒很详尽,是本值得看的好书,推荐大家去看一下。

 


探索式软件测试蕴含着丰富的策略,将结构化思想与自由的探索方式很好的结合起来,在发现缺陷以及检验正确性上有显著的效果。如果想发现应用程序业务逻辑相关的缺陷,充分发挥主观能动性的探索式软件测试是不错的选择。


暂时说到这里,“纸上得来终觉浅,绝知此事要躬行”。探索式软件测试依然需要不断地实践,实践,实践!

 

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 自动化测试是什么?自动化测试学什么?自动化测试面试题及答案?–看完后吊打面试官!一、前言最近有童鞋和我抱怨,说网上很难搜到那些全面又合适的自动化测试面试题,这里根据我个人的经验以及收集整理的:你没看错,不慌,慢慢来。先从什么是自动化测试开始说起哈!二、什么是自动化测试?什么是自动化测试?当我第一次知道自动化测试的时候,除了知道“自动化”这三个有些高大上的称呼之外,我对自动化测试一无所知,正如谈恋爱一样,找女朋友之前要知道她是谁。自动测试就是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程。嗦嘎!那么…三、自动化测试需要学什么技能?这是我以前在知乎写的,可以详细的了解20...
            13 16 4141
            分享
          •   软件测试的真正价值并不体现在代码中找出了多少缺陷,而是发现设计和编程人员解决问题方法上的局限,思路中的狭隘的技能方面的不足。--托尼·霍尔  前段时间在管理层的年度复盘会议上,提到了员工绩效考核的事情,绩效考核也是一个老生常谈的话题了,毕竟任何一个公司的晋升加薪或培养人才都要经过考核。那考评结果多数不尽人如意。如原先一个外包公司的年度考核是由人力资源部门来制订考核标准,整个技术部门的需求分析人员、产品人员、研发测试人员以及运维人员和运营人员汇报工作后相互打分,直接上级会增加权重,但最终的考核结果还是会令很多人失望,毕竟对于不同工种其给出的分数参考意义不大,甚至是更偏向于主观色彩;其二,人力...
            0 0 741
            分享
          • 自2018年被评选为编程语言以来,Python在各大排行榜上一直都是名列前茅。目前,它在Tiobe指数中排名第三个,仅次于Java和C。随着该编程语言的广泛使用,基于Python的自动化测试框架也应运而生,且不断发展与丰富。因此,开发与测试人员在为手头的项目选择测试框架时,需要考虑许多方面的因素,其中包括:框架的脚本质量,测试用例的简单性,以及运行模块可能存在的技术弱点。为了避免出现“选择困难症”,我在此为大家准备了五种Python类型的自动化测试框架,以供比较和讨论。1.Robot Framework作为最重要的Python测试框架之一,Robot Framework主要被用在测试驱动(te...
            12 12 2766
            分享
          • Python是一款操作简单的编程语言,内置丰富的库,能够很容易的实现强大的功能,在使用Python进行框架搭建时,往往需要用到Python执行系统命令,一些开发人员对此不熟悉,以下是具体的操作方法:1. os.system()这个方法直接调用标准C的system()函数,仅仅在一个子终端运行系统命令,而不能获取执行返回的信息。>>> import os >>> output = os.system('cat /proc/cpuinfo') processor : ...
            13 13 1402
            分享
          • Postman Newman 是什么?Postman Newman 是一个 CLI(命令行界面)工具,可以使用它来运行 Postman 中的集合(Collection)和环境(Environment)进行自动化测试。它是 Postman 的命令行 Collection Runner,能够直接从命令行运行 Postman 集合。使用 Newman 可以测试 API 的功能、性能、可靠性和安全性,同时可以将测试结果输出成多种格式的报告,例如 HTML、JSON、JUnit 等,以方便开发人员进行问题定位和分析。Postman Newman 的作用通过 Postman Newman 进行自动化...
            0 0 987
            分享
      • 51testing软件测试圈微信