探索式测试介绍_第1页
探索式测试介绍_第2页
探索式测试介绍_第3页
探索式测试介绍_第4页
探索式测试介绍_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,探索性测试的定义2,为什么要学习和研究探索性测试3,探索性测试的典型技术与工具4,探索性测试与项目的结合和实践举例主要内容:1、探索性测试的定义,什么是探索式测试?探索式测试是一种自由的软件测试风格,强调测试人员同时开展测试内容学习、测试设计、测试执行和测试结果评估等活动,以持续优化测试工作的推进与评估探索式测试的核心实践是学习的过程:探索式测试的核心实践是“学习”,即获取信息与反馈的持续过程。在此过程中我们不但更加深入地理解产品需求,用户场景,异常逻辑,也更深刻地理解我们的测试分析,测试设计过程。不循规蹈矩,在测试执行中探索并利用新发现去尝试发现新的问题再优化补充设计我们的案例,从发散的思维去获得测试思路和想法,但目标只有一个就是发现更多的隐藏功能缺陷或者不满足的场景。

2、探索性测试的问与答问:探索性测试的“探索”应该如何理解?答:探索是一种有目的的漫游,即带着使命在某个空间中漫游,但没有预先预设好的路线。问:探索性测试与即兴的发散测试的区别?答:即兴的发散测试往往利用经验,猜测,典型的风险和常见的问题快速性试探测试,可以在短时间内发现很多bug,但即兴的发散测试往往不考虑测试的系统性和完整性,测试遗漏的风险依然存在。也难以发现一些深入的问题,探索性测试通过测试来透彻的理解被测产品,从而拓展测试的广度和深度,持续优化测试的价值。2、探索性测试的问与答问:探索性测试的核心优势是什么?答:探索性测试的优势是有助于“学习”,并借助一些探索性测试方法把获取到的信息持续运用到测试的过程。学习的过程,比如:1,行业知识,竞争友商对手2,目标用户,目标用户是谁,他们有什么使用特点,用户对产品有什么期望,3,软件产品是一种解决方案,但这个解决方案是否能够解决行业与用户所面临的需求和问题。4,开发技能,测试工具,测试技术。。。探索性测试方法,后面详解探索性测试鼓励测试人员去独立的探索,学习和持续测试。2、探索性测试的问与答问:探索性测试是否只适用于功能测试?答:探索性测试可以应用到各类型的测试。安全性测试,性能压力测试,场景测试等。例如:以安全测试为例,模拟一下黑客是如何攻破我们的软件系统的,他们的基本方法是以“猜测”,通过分析已知的安全缺陷,抽象出可利用的缺陷模型,然后开发出相应的缺陷挖据工具或脚本,程序,可以通过黑盒或者百盒的方式,持续输入尝试的攻击来发现疑似的漏洞,一旦发现问题后便深入分析探索,黑客攻击的过程就是一种探索性测试。2、探索性测试的问与答问:为什么需要探索测试,前面测试设计分析已经通过各方法做了测试点的细分,还不够吗?它和前面测试分析的过程由什么区别。为什么这些探索的方法,不能直接在前面的测试设计过程中用?答:1、探索性软件测试与测试分析设计的关系:探索性测试分析的阶段一般在基本功能稳定,或者集成测试完成,或者已经进行了一轮测试(包含2级别bug已经修复)的时候进行,通过“漫游”的一些思路进行测试分析和测试执行。2、探索性测试与测试分析的区别,探索性测试也有测试分析,只是探索性测试分析的方法论是特有的漫游式的(后面篇章会详解),并没有既定的可以继承的经验库和设计方法。探索性测试可以快速试错,快速设计后就可以验证自己的想法。3、探索性测试的方法是可以运用到前期的测试分析设计过程中去,可以把探索性测试的漫游分析方法运用,但探索性的测试过程需要在特定的阶段进行不同的探索方法进行测试。2、探索性测试与传统测试的比较传统测试探索性测试探索性测试的优点需求学习需求学习设计学习设计学习漫游测试设计工作量少测试需求分析无编写基本验证用例探索性测试设计思维导图案例评审无执行测试案例执行漫游测试有利于减少漏测模块用户场景执行探索性场景降低部分测试成本整体用户场景无2、探索性测试与传统测试的比较3、探索性测试的典型技术与工具业界通用的探索式测试方法分类(JamesA.Whittaker)3、探索性测试典型技术-商业区测试商业区是一个城市的经济核心,相比软件,商业区就是软件中最主要的功能。1,指南测试法要求测试人员通过阅读用户手册并严格按照手册的建议执行。如果手册描述了摸个特性以及如何使用该特性时,测试人员要特别留心那些指令。其目的是尽量忠实地执行用户手册中描述的每个场景。2,卖点测试法在一个城市中都有这个城市的亮点,我们也通常叫做卖点,比如北京天安门,王府井。香港的购物街。拉斯维加斯的赌城。在软件测试中,我们的卖点往往就是我们广告上面说的最多的那个功能那么测试人员可以在这些软件的卖点上面去测试。测试人员找出本产品中最吸引用户的功能或特性,然后按照产品演示步骤来测试特性测试人员人员专注与核心用户场景,将测试资源投入到用户最常用的功能和操作上。3,地标测试法我们去一个第一个往往首先会看地图,然后再看指南针。在软件测试中,我们可以把主要的功能标注出来,这就是“地标”,然后按照前后顺序,依次运行。3、探索性测试典型技术-商业区测试商业区是一个城市的经济核心,相比软件,商业区就是软件中最主要的功能。4,快递测试法在商业去中数据的信息量往往占了很大的比例。软件测试中,我们可以把一个输入数据作为快递,标记,跟着这个数据,直到整个生命周期。查看是否符合要求。5,深夜测试法我们往往在白天和网上会看到商业区的繁华,但是在凌晨以及深夜,那么这个繁华区往往会有另一番风趣。软件测试中,就是在深夜运行这个程序,然后查看软件在深夜运行的记录。3、探索性测试典型技术-旅游区测试旅游区测试类型:对应产品的新特性,能够去更好的吸引新的用户。收藏家测试法测试人员应该确保每一个输出的结果,编辑一个表格来表示的他,然后从中找出破绽长路径测试法我们在软件中假如一个功能到另外一个功能中间要进行很多操作,也许在操作的过程中就能发现bug。

超模测试法这个测试法要求测试人员能够关注UI的每一个细节,输出显示字符的大小,按钮的大小,字符的长短。

测一送一测试法很简单,我们再运行程序的时候,同时运行一个拷贝,那么我们再两个程序同时去争抢一个内存的时候,或者时候运行导入,两个程序就会争夺一个导入文件,那么这个时候程序往往就会出错3、探索性测试典型技术-娱乐区测试娱乐区:对应软件的辅助特性和功能,可以做完补充测试1、配角测试法我们在关注某一个产品的时候往往关注了这个产品的主要功能,而忽略的次要功能,例如:我们再测一个数据页面显示的功能,当我们输入相应的数据,页面很好的显示出来的,那么我们再其页面的右下方发现了一个打印按钮,这就是我们此方法的用武之地了。2、深巷测试法我们再旅游的时候,有些地方总有一些游客特别想去,但是有些地方游客很是不愿意光顾,比如,垃圾回收站,废品处理站,在软件里面我们也可以这样做,假如:我们再跟踪一个数据的时候,我们往往关注的是这个数据能不能很好的读取或者被运算,我们都忽略一个很大的误区,好的设计者会很好的运用变量的生命周期耳朵,即:当这个数据不再使用的时候,那么就应该销毁,不这么的做的后果就是,数据没有被及时回收,内存不能释放,造成内存泄露。严重的时候甚至影响系统运行。3、通宵测试法人假如几天几夜不合眼的话,那么工作效率就会变差。软件也是如此,虽然是没有生命的,但是他的每个变量和元素都是有生命周期,让软件长时间工作,同时记录其运行日志。一旦发生崩溃或者异常,我们就能很快的锁定3、探索性测试典型技术-旅馆区测试旅馆区:对应软件内部的一些交互,不一定是由用户来触发的。取消测试法有些程序在软件运行的过程中是不让被取消的,那么我们可以做,虽然有点抢人所爱,我们可以在运行的过程中,单机关闭,直接断掉计算机电源,在进程中杀掉这个进程。测试人员启动某些功能操作后在停止运行,对所有提供取消,停止功能或者需要较长时间才能完成的操作执行取消或停止操作以检验程序的取消处理能力懒汉测试法在有一些软件中,我们往往会碰到系统默认值,测试人员尽量做较少的输入和操作流程,如接受所有默认值,保持某些功能字段为空,不点击某些操作按钮,以检验程序处理默认值的能力。3、探索性测试典型技术-历史区测试历史区:上一个版本遗留下来的代码、问题或则曾经出现多次bug的功能或者特性。1、恶邻测试法在我们旅游的城市,我们往往会根据导游的提示,有目的的去访问那里,但是,那些往往我们不去访问的地方往往是肮脏的。那么在我们的软件里面,我们根据软件说明书,按照编辑给我们设置的路径去操作,那么这个时候我们假如打破逻辑,就会找出很多未知的缺陷。测试人员找到那些权限数目比较多的功能特性,并对临近的功能特性进行重点测试,由于权限通常集中出现,因此缺陷多的地方值得反复测试,另外测试人员还对临近功能进行了重点测试,有助于提高软件的整体稳定性。2、博物馆测试法博物馆是战士古董的地方,在软件里面,我们把一些老的代码比作这些代码,一些程序员在引入这些代码的过程中,往往没有修改就运行了,我们的测试目的是在这些老代码的基础上,看能不能在新的功能上正确的实现。

3、上一版测试法这点类似于回归测试,对先前版本的更新,运行上一个版本所有的分支和测试用例。确保老的功能还能正常使用3、探索性测试典型技术-破旧区测试破旧区:对应软件的历史稳定的代码,一般很少人去接触1、逆向测试法比如在一个打印程序中,系统会让用户选择打印那一页,我们输入字母,观察系统是不是有这方面的处理能力。测试人员选择与上下文环境无关的输入值,或输入完全错误荒谬的输入值。2、歹徒测试法,运用非法输入,基本思想是输入一些不应该出现的数据。

3、错序输入法比如时间格式,我们不按照提示输入会怎样?测试人员以错误的顺序做事情,选择一组合法的行为,讲它们混合在一起,造成前后顺序不合法。4、强迫症输入法我们一遍又一遍的输入数据,强迫软件运行,患有“强迫症”的测试人员一遍又一遍的输入相同的数据,反反复复做同样的操作。4、探索性测试方法的在项目中的运用与改进探索性实践活动在整个测试分析过程中的位置4、探索性测试方法的在项目中的运用与改进探索性整体分析方法建议:1,尽可能不按常规思路2,从一个不同的产品形态开始测试3,优先执行复杂且有约束条件的操作4,从系统模型的变化中产出测试思路5,质疑的眼光看待我们的产品功能6,更加关注功能的每个细节4、探索性测试方法的在项目中的运用与改进从认为用户非常见的操作角度测试:我们在测试功能模块的时候,一般根据开发设计或需求说明,按照已经给我们设置的路径去测试,那么这个时候我们假如打破逻辑,就会找出很多未知的缺陷:1,合法操作和非法操作2,异常操作3,常规输入和非常规输入4,我们在关注某一个产品的时候往往关注了这个产品的主要功能,而忽略的次要功能,我们vs更关注后台的功能测试,前台一些地方容易忽略(配角测试法)4、探索性测试方法的在项目中的运用与改进长路径测试法:我们在软件中假如一个功能到另外一个功能中间要进行很多操作,把测试当做一件有趣的事情,充分想象用户的操作过程,而编写一个复杂有趣味的剧本,把各种场景联系起来。1,有意加强多个操作,把一些无关场景关联起来增加整个操作场景的路径2,多个不同功能的操作场景放在一起进行测试。4、探索性测试方法的在项目中的运用与改进针对场景的探索测试的操作模型:基于已经存在的基础场景,通过改变这些基础场景的步骤和前置条件,来给场景注入变化,从而得到一个新的衍生场景,测试人员还可以继续对衍生场景进行操作修改,已生成新的测试场景。在进行场景测试时,可以在任何一个步骤停下来,注入某种变化已创建新的场景。针对场景的探索测试的操作模型:1,插入步骤:a,测试人员在执行基础场景的时候,比基础场景选择或增加更多的操作。b,测试人员在执行基础场景的时候,关注试图增加一些额外的输入值c,测试人员在执行基础场景的时候,关注能够访问与基础场景有关的其他界面(比如正在环境检测的时候强制点击切换到虚拟机界面等)2,删除步骤:a,测试人员在执行基础场景的时候,去掉基础场景中的可选场景,使场景步骤更少。3,替换步骤:测试人员在执行基础场景的时候,可以替换某个操作场景,使用新的操作步骤进行场景测试,替换步骤法要求测试人员研究熟悉替代方法来执行场景中的每个步骤或动作,有助于提高功能对于不同选项支持的有效性针对场景的探索测试的操作模型:4,重复步骤:测试人员在执行基础场景的时候,可以通过重复单个步骤或一组步骤来改变场景,通过重复测试,可以测试到新的代码路径,发现与初始化相关的产品缺陷,重复操作也属于一种场景的客户操作。5,替换路径/数据:测试人员在执行基础场景的时候,可以修改或替换产品使用的数据源来改变场景条件6,替换环境:测试人员在执行基础场景的时候,可以考虑在不同的硬件平台,ssd/hdd类型,操作系统,浏览器等运行4、探索性测试方法的在项目中的运用与改进1、角色转换测试法1.市场尝试讲解,此方法是鼓励测试人员观看销售给客户演示的Demo,理解销售的角度哪些功能对客户来说是最大的卖点,他们未必就是核心功能,但值得测试人员把它们当核心功能来对待。同时,也许刁钻的客户会提出各种质疑,这些质疑和稀奇古怪的问题也可以纳入测试人员的设计中。2.傻瓜用户,可以理解为第一次接触使用产品的使用者,他对我们的产品原理是一点不懂的,只能依靠帮助文档,用户手册,指引提示操作3.极端用户专家用户:进行极限测试法,对产品提出一些偏门提问攻击者:使用专业技术进行攻击,进入故障注入4、探索性测试方法的在项目中的运用与改进1、交互边界测试法1.动作边界:单次,多次,重复提交相同数据,重复进行相同操作2.字符边界:数量,类型,特殊字符,平台特殊字符3.容量边界【极限测试法】:数据量是0或者数据量满;4.状态边界:中断,挂起,睡眠;可以考虑正在进行某个功能时,功能被取消被中断。出现外界异常中断,内部异常中断,正常用户中断,功能切换导致中断等,【取消测试法】5.文件边界:考虑文件大小,类型;6.可见区域次序边界:设计动作执行的先后顺序,找到操作各个功能的各种顺序,按照不同的顺序操作各个功能,关注功能的交互操作。【快递测试法,地标测试法】7.时间边界在进行测试时,需要考虑时间对于功能的影响,特别是通信时间差,另外也需要考虑时间的边界值的影响4、探索性测试方法的在项目中的运用与改进破坏测试法测试人员尝试利用每个可能的机会暗中破坏产品,认为的创建恶劣的运行环境((内存少,无权限,断电,断网,重启设备/程序,拔盘,故障注入)针对vs产品可以从以下方面参考1.cpu繁忙2.内存少3.网络异常:断网,掉包,延迟4.系统日志满5.存储空间满6.断电异常7.磁盘故障:拔盘,坏道等8.故障注入4、探索性测试方法的在项目中的运用与改进主次测试法

测试与主要卖点特性共同组合出现的辅助特性。如在完成了特性功能初始化操作之后,会出现一些不是主要功能,我们可以继续去使用这些功能。举例:比如测试PCIE—SSD的时候除了关注PCIE-SSD性能,功能,还需要关注存储页面关于SSD/磁盘类型,速率等显示的UI方面功能。4、探索性测试方法的在项目中的运用与改进-举例把测试当做一件有趣的事情,充分想象用户的操作过程,而编写一个复杂有趣味的剧本,把各种场景联系起来。1,有意加强多个操作,把一些无关场景关联起来增加整个操作场景的路径2,多个不同功能的操作场景放在一起进行测试。主机自己替换自己----》新增主机之后,不进行配置私网-----》尝试进行其它界面操作,如迁移,如扩容-----》再修改ip,并且修改成冲突ip--------》进行环境检测----------》进行修改私网ip-----》私网配置异常,点击进行下一步-------》重复进行前置检测----------》进行主机替换--------》替换后进行又环境检测-----》替换进行新建虚拟机-----》替换之后出现私网异常*【vs2.6】【探索】【一键检测】:主机自己替换自己之后,进行一键检测,出现”链路聚合连通性检测“出现误判问题--0224fix举例1、长路径测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论