探索式测试:探索是为了学习

发表于:2011-1-31 12:04

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Liang Shi    来源:51Testing软件测试网采编

  对于测试人员,软件测试是一个持续学习并实践的过程。他需要学习的内容可能包括:

  → 行业知识:为什么需要这个软件?软件如何帮助使用它的人和团体去获得行业优势?

  → 用户角色:目标用户是谁?他们有什么特点,有什么期望?软件如何帮助他们去获得个人成就?

  → 软件产品:产品是一种解决方案。它解决了行业和用户所面临的问题吗?

  → 计算平台:只有深刻理解软件所依赖的计算平台(如操作系统、中间件、网络协议等),才能更好地测试。

  → 开发技能:理解项目所使用的具体技术,知晓典型的技术缺陷,具备测试开发能力。

  → 测试方法:针对当前项目,选择合适的测试方法,并能够熟练地应用。

  → 程序缺陷:研究当前(和相关)项目的缺陷,提炼错误模式(Pattern),制定缓解或预防方案。

  → 开发团队:语境(context)决定策略和实践。在一起工作的人,是所有项目语境中最重要的组成部分。

  测试者不需要在项目之初就掌握所有知识,他可以通过每天的工作去逐步理解用户、项目、技术和团队。更重要的是,他要在每天的工作中实践所学内容:规划测试方案,创建并执行测试用例,分析测试结果,编写测试报告。实践就是练习,是“学”的自然延伸。知行合一才构成“学习”的完整内核。

  如果学习非常重要,那么如何才能高效地学习呢?敏捷大师Andy Hunt在《Pragmatic Thinking and Learning》中指出“一种高效的学习环境应该允许你安全地做三件事情:探索、创造和应用”。

  探索就是在陌生的环境中玩(play)。你需要自由地探索才能学习。我们不仅仅接受信息,而是亲自探索和构建思维模型。

  玩引入了一种新奇的感觉,也就是乐趣。用一种好玩的方式学习新资料或者解决问题,可以让这个过程变得更让人享受,也让学习变得更容易。为了更好地学习,请更好的玩。

  你需要自由地创造——不介意自己的创造没有成功。通过构造来学习,而不是通过学习来构造。(这是“原型”、“曳光弹”、持续集成等方法获得成功的原因之一)

  你需要在日常实践中应用到你学到的东西。你持续使用和实践的技能会(在脑皮层竞争中)占据统治地位,大脑会为它们提供更多方便。

  这种探索应该相对没有风险,因为你肯定不想因担心害怕而止住探索的脚步。(安全有助于)更好地利用反馈,让失败也变得有意义。

  虽然Andy讨论的是广义的学习与探索,但是他的话解释了探索式测试的成功之道。正如Cem Kaner所言:

  探索式测试强调测试者的自由和责任,为了持续优化其工作的价值,将测试相关学习、测试设计、测试执行和测试结果解读,作为相互支持的活动,在整个项目过程中并行地执行。

  Exploratory software testing emphasizes the personal freedom and responsibility of the individual tester to continually optimize the value of her work, by treating test-related learning, test design, test execution and test result interpretation as mutually supportive activities that run in parallel throughout the project.

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号