探索性测试入门

提纲:

——什么是探索性测试

——探索性测试的来源

——探索性测试的指导思想

——探索性测试的相应测试方法

——探索性测试与传统测试风格的比较

1.什么是探索性测试

在概念上说,探索性测试是一种测试风格,而不是某一种具体的测试方法(等价类测试/边界测试等),它强调系统软件学习,设计测试用例以及测试执行同时进行,他适用于要求在短时间内以及测试需求频繁变更下寻找出重大缺陷的情况。

2.探索性测试的来源

探索性测试是由测试专家Cem Kaner博士在1983年的时候提出。测试专家James A. Whittaker曾经是Cem Kaner佛罗里达工学院的同事,后来担任微软测试架构师以及Google总监,基于在这些公司的工作经验,他撰写了《Exploratory Software Testing》一书,进一步拓展了探索性测试的概念和方法。

3.探索性测试的指导思想

探索性测试跟传统的测试方法有很大的不同,在过去一般都是按照先编写完整的测试用例以及计划,然后再进行测试执行,最后再进行测试结果分析。与这种“先设计后测试”的思路有巨大的不同,在探索性测试中,软件学习,软件用例设计以及软件测试执行同时进行,这个适用于要求在短时间内或者在测试需要频繁变更下快速发现重大缺陷的情况。

《Exploratory Software Testing》书中,作者认为我们正确的态度首先应该是承认测试无论怎么都是无法全部测完的。然后在测试的过程中,我们要从重要的做起,因此测试也是一个不断抉择的过程。我们必须不断地理解测试用例以及分析现有信息,从多种方案中选择最优。而这个也是局部探索性测试的指导思想。在局部探索性测试里头,我们首先需要做的是对项目的总体情况有个大概的了解,然后根据现有信息开始进行测试以及用例编写,在测试的过程中也完成对系统的学习。在这以后,我们使用测试结果以及增加的信息对用例进行修改以及进行下一轮的测试。这样,我们逐渐达到我们的想要的结果。

探索性测试的目标有三个:1理解应用程序如何工作,他的接口看起来怎样,实现了什么功能,2强迫软件展示其全部能力,3找到缺陷。

4.相应的测试方法

作者将测试的过程比作旅行者要到一个新的目的地进行探险,并提出了漫游测试这一说法。在漫游测试中,作者按照软件特性将软件分为相互重叠的区域。分别有商业区,旅游区,历史区,娱乐区,旅馆区以及破坏区。

商业区是工作得以完成的地方,对于旅游者来说没什么意思。所以商业区测试侧重于测试软件的重要基础特性,方法有指南法、极限法和遍历法等。

历史区是年代久远或发生过重大事件的建筑存在的地方,所有历史区测试主要用于测试遗留代码,如修复已知缺陷的代码,主要测试方法有恶邻法和博物馆法。娱乐区是休闲活动的地方,在测试中也是使用频繁的地方,娱乐区测试用于测试一些辅助特性,方法有配角法、深巷法和通宵法。

旅游区是旅游者聚集的地方,目的是为了到此一游,所以旅游区测试就关注测试软件的各种功能,方法有收藏家法、长路径法、测一送一法等。

旅馆区则是旅游者的休息之处,所以旅馆区测试时指软件测试人员放过那些主要和最受欢迎的功能,而去测试在测试计划中较少描述的次要及辅助功能,方法有取消法和懒汉法。破坏测试则是测试一些能破坏软件系统的行为,方法有反叛法和强迫症法。

通过这样的分区,可以帮助测试人员如何思考测试实际软件,避免遗漏某种测试类型并且简化测试讨论。

5.相关比较

那么探索性测试与我们之前那些测试方法有什么不同呢?在这里我们主要将它与传统的测试方法进行比较。在传统的软件测试方法中,我们遵循的是“先设计后执行”的思路,也就是我们首先要对系统有个比较全面的了解,然后进行设计测试用例以及计划,力图覆盖系统软件方方面面。这样我们的测试工作就有很大一部分花费在系统用例的编写上。而在探索性测试中,我们运行对系统理解的不全面,在不断的测试迭代中,我们会不断地完成对系统的学习,不断地完善用例。这样,我们就更有可能发现一些其他的隐藏Bug。但是无论怎样,两者的目的都是一样的。

参考书籍:《Exploratory
Software Testing》

参考链接:http://blog.csdn.net/nilxin/article/details/7531579

http://www.cnblogs.com/liangshi/archive/2010/12/26/1917229.html

探索性测试入门,布布扣,bubuko.com

时间: 2024-10-19 22:19:21

探索性测试入门的相关文章

入门级----黑盒测试、白盒测试、手工测试、自动化测试、探索性测试、单元测试、性能测试、数据库性能、压力测试、安全性测试、SQL注入、缓冲区溢出、环境测试

黑盒测试 黑盒测试把产品软件当成是一个黑箱子,只有出口和入口,测试过程中只要知道往黑盒中输入什么东西,知道黑盒会出来什么结果就可以了,不需要了解黑箱子里面是如果做的. 即测试人员不用费神去理解软件里面的具体构成和原理,只要像用户一样看待产品就可以了. 例如银行转账功能,不需要知道转账的具体实现代码是怎样工作的,只需要把自己想象成各种类型的用户,模拟多种转账情况看系统是否能正常转账即可. 但是仅仅像用户一样去测试又是不够的.如果只做黑盒测试,必然是存在一定的风险的. 例如某个安全性较高的软件系统,

探索性测试摘录

1.  探索性测试(Exploratory Testing,ET)是一种自由的软件测试风格,强调测试人员同时开展测试学习.测试设计.测试执行和测试结果评估等活动,以持续优化测试工作,具备即兴发挥.快速实验.动态调整等特征. 2.  探索性概念是测试专家Cem Kaner博士在1983年提出的,受到了语境驱动测试学派的支持. 3.实际实践操作特点 1)有策略地确定风险.加强沟通(向测试负责人了解哪些模块被发现的BUGS最多.哪些少.从而确定哪些模块为风险区域投入的时间较多): 2)关注细节,多使用

转载:JMeter压力测试入门教程[图文]

JMeter压力测试入门教程[图文] Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件.Java小服务程序.CGI脚本.Java 对象.数据库, FTP服务器, 等等.JMeter 可以用于对服务器.网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能.另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验

浅谈探索性测试

今天学习时看了一篇谈探索性测试的文章.有一点感触. 探索性测试如果在测试策略层面应该和应变式的测试策略相符合. 暂且不谈探索性测试的方法以及那些利弊. 只是简单的打个比喻,反应一下我对探索性测试的认知. 农村的孩子以前都放农忙假,要求学生去拾麦穗(好像语文课本里还有相关内容,叫颗粒归仓). 探索性测试就像捡麦穗,刚割完的麦子,确实能捡到不少丢的麦穗. 但是都捡过一遍甚至几遍了,再去捡,就捡的少了. 我们平时做探索性测试的关键也在此,只做一遍. 探索这个词是最能反映人类智慧的词,很费脑细胞,不要把

做QA的日子——iOS测试入门(四)

坦言,做QA的这半年我没有成长,就算有成长也很少,我很难过,和身边的人讲其实并没有谁能真正理解自己的难过,其实还是自己不够努力,对自己不够狠,曾经觉得自己不够幸运,想有一个更好的指路人,其实这样的想法是不对的,哪有那么多的指路人,遇到了是你万幸,没有遇到你自己就做你自己的指路人,用自己的驱动力驱动自己成长,就算慢一些又怎样,当有这样的指路人助你一臂之力的时候,或许你会更加珍惜现在所拥有的. 做QA测试,很多时候是站在后方支持整个团队的,很有可能很多时候会被别人看不起,别人会说,ta不就是一个测试

什么是探索性测试?

1.探索性测试的定义 探索性测试(ET)是敏捷世界里的一种重要测试方法,作为一个研究性的工具,它是用户故事测试和自动化回归集的重要补充.它是一种经过深思熟虑的测试方式,没有测试脚本,可以使你的测试超出各种明显已经测试过的场景.探索测试将学习,测试设计和测试执行整合在一起,形成一种测试方法. 探索性测试的最大特色是在对测试对象进行测试的同时学习测试对象并设计测试,在测试过程中运用获得的关于测试对象的信息设计新的更好的测试.他的典型过程如下图: 这相对于传统软件测试过程中严格的“先设计,后执行”来说

转:探索性测试

探索性测试,笔记一 一些有意义的条目: 1.考虑自动化是否能发现有价值的缺陷,是否经得起时间的考验,是否值得付出维护费用 2.决定需要测试什么和何时测试 *对于每一个被发现的缺陷,明确的讨论它应该在什么时候被发现 3.决定如何测试 *是否有一种特殊的路径引导人员找到这个缺陷 *这种功能或特许最好用哪种给定的方法来测试 *知道当前已经进行了哪些测试,以及我们目前和将要进行的测试如何才能增加总体测试效果 *发现软件问题,需要实际用户在实际的环境中,用实际的数据,去做实际的工作 *简单重复的工作实现测

探索性测试学习分享

一.关于测试和探索 软件测试就是与软件或系统进行交互.观察其真实行为与你的预期比较是否一致. 作者认为:在 测试之前一切都只是推测,应该以实验结果作为采取行动的依据.测试不断探索和做实验的过程.   1.测试的两面: 作者认为测试应该包括,两个方面:a.检查软件是否满足预期.b.探索风险. a.检查软件是否满足预期,就是基于传统的测试策略.测试设计与测试执行的过程,投入的人力越多可能网织得越密,测试的完备性会做的越好,然而终究是难以做到“无遗漏”的测试.总会有一些漏网之鱼. b.在a的基础上进行

Android 测试入门之---Monkey test

Android 测试入门之---Monkey test [日期:2010-11-08] 来源:Linux社区  作者:静心 [字体:大 中 小] 这周重点学习的也是Android monkey test 的一些相关知识,也对其进行了初步的操作和试验.讲学习资料整理如下 : Monkey是一个命令行工具 ,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试.Monkey包括许多选项,它们大致分为四大类: · 基本配置 选项,如设置尝试的事件数量.