课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
软件测试可以说在互联网发展过程中都是非常重要的一个测试方法。今天我们就一起来了解一下,关于探索性测试的基本定义与使用情况。
一、引言
什么是探索性测试(Exploratory Testing)?这个问题可能没有统一的答案:有人认为探索性测试必须由经验丰富的高级测试人员执行,有人认为探索性测试是尽可能的发散以求发现更多的bug。
从定义中我们能够看出探索性测试是不断优化个人工作的过程。笔者认为,探索性测试思想高度强调学习的重要性、探索的重要性、沟通重要性、总结的重要性。在有限的资源面前快速深入的学习,并通过不断地探索收集信息、分析结果、总结得失,从而不断优化和改进自己的工作,不断提升个人技能以面对更严峻的挑战。
业界有很多贯彻了探索性测试思想的方法论,笔者非常喜欢的一套方法论就是测试界大牛James Bach 以及Michael Bolton提出的RST(Rapid Software Testing)理论。本文将分别阐述RST的核心思想及如何在工作中应用RST,并在文章结尾进行简要总结。
二、RST核心思想
对于测试行业从业者来说,James Bach和Michael Bolton的名声可谓是“家喻户晓”,而RST(Rapid Software Testing)正是由这两位大牛提出的测试方法论。RST不同于传统的测试理论以技术因素为中心的看法,强调人的重要性,以测试人员为中心。顾名思义,RST的目标是更“快”的进行测试,尤其在不充分的资源、匮乏的信息、有限的时间约束下。RST是一个“大而全”的测试方法论,涵盖了很多知识点,其核心思想总结起来有以下几点。
2.1 基于上下文
上下文驱动测试学派(Context-Driven School)强调人的重要性,强调人对不同上下文的应变和处理。上下文驱动测试学派有七大准则:
任何实践活动的价值依赖于它所处的上下文
在某个上下文中,只有好的实践,没有佳实践
在一起工作的人才是项目中重要的组成部分
在项目过程中项目往往会以不可预期的方式展开
产品是一个解决方案,如果问题没有得到解决,那么产品则没有意义
好的软件测试是一个具有挑战性的智力活动
在整个项目过程中只有通过精准的判断、恰当的技术应用、协作的进行实践练习,我们才能在正确的时间做正确的事从而更高效的测试我们的产品。
2.2 测试是服务,提供的是信息
测试人员在整个研发团队,甚至是整个产品团队中起到的是一个服务角色。测试人员要和众多相关方打交道:研发人员、研发经理、测试经理、运维人员、需求人员等。作为测试人员上述相关方均是我们的服务对象,而我们的服务方式则是向相关方提供信息。
2.3是Testing,不是Checking
“Checking”指的是通过脚本或命令来按部就班的执行测试。传统测试中编写用例,观察结果,报告结果的过程正是典型的“Checking”过程。而“Testing”是无法预先通过脚本或命令设计的部分,也是探索过程中大多数时间需要做的活动。“Testing”是通过探索和做实验来学习被测产品,从而对其进行评价的过程。
作者:大连飞创
节选:大商所行业测试中心
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。