什么是探索性测试
探索式测试(Exploratory Testing,简称ET)是一种自由的软件测试风格,强调测试人员同时展开测试学习、测试设计、测试执行和测试结果评估等活动,以持续优化测试工作。
由Cem Kaner提出的探索性测试是一种测试思维,没有具体的测试计划、测试用例。测试人员通过测试来不断学习被测系统,同时把学习到的关于软件系统的更多信息用于新的测试实践中。
探索性测试的优点
可以帮助我们定位到隐藏比较深的问题 ,常规测试没有覆盖到的场景。
更有效率
快速发现严重问题
测试过程灵活控制
在敏捷开发项目比较适用
ET提高了测试覆盖率
探索性测是的必要性
普通测试需要编写和维护测试用例,耗时长;
需要严格地执行既定的测试用例;
测试交流较少,注重结果,而忽略思想,测试效率低。
指南针测试法
该方法要求测试人员严格遵守文档、用户需求或说明书来尽职尽责,非常忠实的测试每一个特性。这是最基本的的测试方法,也是我们平时测试的时候最易用到的方法。
极限测试法
向软件提出很多难以回答的问题,即找麻烦测试法,让软件性能达到最大极限、输入或者计算量达到设计的最大能力,此时可能会出现一些crash等异常情况。
要创建用户确实会用到的场景,比如P图中使用自拍相机连拍、使用最大保存分辨率保存、不断快速切换前后摄像头拍照等操作。
快递测试法
数据就像快递包裹在软件中不断流动,从数据输入开始、到存储在内存中、然后可能会被计算修改后最后输出传递给用户,达到目的地。测试人员要参与数据生命周期的每个阶段。
出租车测试法
测试人员需要和出租车司机一样熟悉到达指定位置的每条可能的路径。
比如P图中素材中心使用,要考虑多路径进入情况,点击首页icon进入、素材中心点击某个素材进入、push链接带着某个素材跳转进入等情况。
出租车禁区测试法
用户无论使用哪一条路径都无法达到目的地。
遍历测试法
选定一个目标类,然后用可以发现的最短路径来访问该目标类所包含的所有对象。有计划的进行抽查。
超模测试法
要求测试人员关心表面的东西,也就是关注测试界面。
如P图中不同大小屏幕手机/不同语言环境下,在一些UI展示方面的区别、进入不同页面时,图片展示情况、不同路径进入/退出某个界面是否有异常(单图保存/多图保存后,底部p图晒图bar出现等)。
懒汉测试法
测试人员没有做很多事情不意味着软件也不做事情。接受默认值、保持输入字段继续为空,在表单中尽可能少填数据,在进入下一个界面不点击任何按钮或输入数据。
取消测试法
启动操作然后停止它。
破坏测试法
测试者要掌握某些操作成功需要的资源,从破坏应用程序的角度,如强制软件做一些操作,在不同程度上删除或者限制程序正常使用所需的资源。
如P图中拍照后退后台删除原图、破坏加载的图片或者素材等;修改接口返回值为错误内容或者超过边界值的范围,应用上课过程中杀掉进程
地标测试法
把软件的某些特性定为关键点,确定起点和终点,执行程序从一个地标跳跃到另一个地标,探索应用程序,直到访问了所有的目标地标。
可以探索性的设置不同的起始地标、改变地标访问顺序、反复设置并增加新的地标来创造更多的测试场景。
深巷测试法
软件最不可能被用到或最不吸引用户的特性。
强迫症测试法
反复进行同样的操作或者反复输入同样的数据,由于性能不足、恶意使用或者用户重复提交同一请求等。
比如P图中重复进入退出某个界面、相机界面重复进入后取消退出等、下载中途点击取消重复操作。
放大缩小测试法
放大或者缩小图片、窗口等,可能或导致图片、界面异常;按钮遮盖等情况发生。
移动测试法
移动拖拽图片、控件至界面任意位置,可能会有不可预知的错误
恶邻测试法
需求和功能特性耦合的地方最容易出现bug,找到那些缺陷数目较多的功能特性,把这些产品特性连接起来,最好能形成文档,后续对邻近功能特性进行重点测试。
比如P图中人脸选择,美容进美妆、变妆去美妆等情况,很多地方人脸选择需要记忆,用户重新选择人脸、中途切换人脸、保存/取消/切换人脸等操作数据会耦合共享;再比如一键美容、一键美妆和单项美容美妆之间的效果是叠加或者独立的。