什么是探索性测试?

摘要:
探索性测试的最大特点是在测试测试对象的同时学习测试对象并设计测试,并使用获得的有关测试对象的信息在测试过程中设计新的更好的测试。虽然探索性测试是一种有效的测试方法,但这并不意味着它是一种全面的测试方法。

1、探索性测试的定义

探索性测试(ET)是敏捷世界里的一种重要测试方法,作为一个研究性的工具,它是用户故事测试和自动化回归集的重要补充。它是一种经过深思熟虑的测 试方式,没有测试脚本,可以使你的测试超出各种明显已经测试过的场景。探索测试将学习,测试设计和测试执行整合在一起,形成一种测试方法。

探索性测试的最大特色是在对测试对象进行测试的同时学习测试对象并设计测试,在测试过程中运用获得的关于测试对象的信息设计新的更好的测试。他的典型过程如下图:

什么是探索性测试?第1张

这相对于传统软件测试过程中严格的“先设计,后执行”来说,是具有很大区别的。

2、探索性测试的基本过程

探索性测试的基本过程包括如下:

        识别软件系统的目的;

        识别软件系统提供的功能;

        识别软件系统潜在的不稳定的区域;

        在探索软件系统的过程中记录关于软件的消息和问题;

        创建一个测试纲要,使用它来执行测试。

注意:上面的过程是一个循环的过程,并且没有很严格的执行顺序,完全能够先创建测试纲要,执行测试,然后在测试中进修软件系统;也能够先探索软件系统的各个区域,然后再列出需要测试的要点。

探索性测试强调创新的测试思维,在测试过程中不断地出现许多关于测试的新想法,

因而就像一把叉,下图就是一个所谓的“探索叉”(exploratory forks)。

探索性测试强调测试过程中要有更多的发散思维,这也是与保守测试方式的最大区别。

保守测试方式强调设想完善的测试用例,测试人员严格按测试用例执行测试,这多少限制了测试人员的测试思维,测试人员往往缺乏主观能动性。

什么是探索性测试?第2张

下图展示了一个发散思维的过程,探索性测试强调发散,但并不是盲目地发散,在适当的时候还要收敛回来。

例如,当发觉在一个测试的分支路径上已经花了很长时间也没有找到问题的答案时,则能够考虑先放弃那个区域的探索,因为还有一个主线的测试任务。

什么是探索性测试?第3张

探索性测试尤其适合于那些需求不是很明确的测试任务,或者是一名刚刚接手一项新的测试任务的测试人员使用。

3、探索性测试的价值

     3.1、探索性测试可以用来找到深层次的BUG。

     因为探索性测试人员是优秀的观察者,他们观察不正常和不期望的结果,并进行认真的思考,这种状态和按部就班的执行用例是不一样的,因此,它更容易发现一些隐藏的很深的问题。

     3.2、探索性测试可以加深测试人员对被测系统的了解。

     探索性测试强调对被测试对象的学习,并且是在测试过程中的学习,并在此基础上设计测试,因此,它使测试人员更容易深入的理解被测系统。

4、探索性测试的误区

     4.1、不要将探索性测试和随机测试混淆。

     探索性测试不是在键盘前坐下并敲击,没有熟练技能,不会认真思考的“黑盒”测试人员所做的并不是探索性测试,一个合格的探索性测试人员需要认真思考和分析结果,并且在探索测试的过程中做记录。

     4.2、不要将探索性测试和回归测试混淆。

     探索性测试更注重的是思考和学习,不断发现新的问题,而版本的回归测试,是对原有的功能的保证,为持续迭代构筑安全网。重复的功能回归测试应该尽量用自动化的方式来完成,这样,才有足够的人力来进行探索性测试。

     4.3、探索性测试不能用来评估软件质量。

     尽管探索性测试是一种有效的测试方法,但是它不意味着是一种全面覆盖的测试方法。如果你要评估测试是否全面,可能你需要其他的手段。

原文发表于http://www.cnblogs.com/reach296/

免责声明:文章转载自《什么是探索性测试?》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇高德MKMapView的mapView: viewForAnnotation:不调用的问题show()与showDialog()的区别下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

TMMi成熟度级别和过程域

作为过程改进的阶段型架构,TMMi包含了不同的阶段和成熟度级别。组织可以通过TMMi使测试过程中初始未管理的状态,逐步进化为已管理、已定义和已测量状态,并最终达到持续改进的状态,即优化的过程。除了初始级,其他每个成熟度级别,都需要确保有足够的改进,使其成为下一个级别的基础。TMMi内部的丰富测试实践有助于组织系统化学习和应用,以增量的步骤持续改进测试过程...

机器学习实战之树回归

一,引言   尽管线性回归包含了一些强大的方法,但这些方法创建的模型需要拟合所有的样本数据。当数据拥有众多特征并且特征之间的关系比较复杂时,构建全局线性模型就会非常困难。并且,在实际生活中很多问题都是非线性的,很难通过全局线性模型来拟合所有数据。   解决上述非线性数据的拟合问题的一个可行的方法是,将数据集切分成很多份容易建模的数据,然后再利用线性回归方法...

携程酒店DevOps测试实践

作者简介 王幸福,携程酒店研发部高级测试经理,负责无线自动化测试相关工作。在测试框架和平台研发、移动测试、DevOps等领域有着丰富的经验。 如今很多大型互联网公司、创新型企业都在积极地进行DevOps实践和落地。为什么DevOps如此受青睐? 我们该如何实施DevOps?DevOps中Dev代表开发,Ops代表运维,那么在这个崭新的流程体系中,QA又该...

常用的软件测试方法

随着软件测试技术的不断发展,测试方法也越来越多样化,针对性更强;选择合适的软件测试方法可以让我们事半功倍。以下是一些常用的软件测试方法:   β测试_Beta测试   β测试,英文是Beta testing。又称Beta测试,用户验收测试(UAT)。   β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试...

计算机软件产品开发文件编制指南

目的范围文件的使用者软件生存周期与各种文件的编制文件编制中的考虑因素 文件编制的管理工作 可行性研究报告项目开发计划软件需求说明书数据要求说明书概要设计说明书详细设计说明书用户手册操作手册模块开发卷宗测试计划测试分析报告开发进度月报项目开发总结报告(附件A、B、C、D、E、F、G、H、I、J、K、L、M、N) 国家技术监督局 1989-07-04批准 19...

TensorFlow系列专题(二):机器学习基础

欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/ ,学习更多的机器学习、深度学习的知识! 目录: 数据预处理 归一化 标准化 离散化 二值化 哑编码 特征工程 特征提取 特征选择 模型评估方法 留出法 交叉验证法 自助法 模型性能度量 正确率(accuracy)和错误率(error ra...