• 0
  • 0
分享
  • 优分享-探索性测试策略分享
  • 优测 2023-02-20 11:24:11 字数 1605 阅读 960 收藏 0


 

 

版权声明:本文作者 优测团队测试专家 郑凯泽 南明玮。

 

探索性测试是对常规的系统测试、新需求测试及专项测试的重要补充,往往能在短时间内发现更多的问题,一起来看看优测测试专家的分享吧~

 

 

一、背景

 

优测团队长期承接腾讯社交产品、办公产品,如大家所熟知的腾讯文档、QQ等产品的测试服务工作。在用户规模日益增长的背景下,探索性测试是对常规的系统测试、新需求测试及专项测试的重要补充。

 

经实践验证,该方法可在短时间内发现更多的问题,通过新的思路、新的方法,找到在系统测试阶段未发现的“漏网之鱼”。

 

二、探索策略

 2.1.png

1、基于场景探索测试

这种测试跟传统的基于场景的测试(场景法)比较像,不同的是,在这种测试中测试人员会扩大测试范围

2、 基于策略探索测试

这是一种比较依靠经验的测试方法,简单来说就是测试老手,融合自己的经验、技能、感知等条件,结合自由式探索式测试,用自己积累下来的知识来指导测试,是一种经验结合随机性的测试。通常在系统测试完成之后,还有剩余时间的情况下,以探索式测试作为补充,尝试系统测试覆盖不到的场景,从而减少漏测,提高测试覆盖率

 

3、 基于反馈探索测试

 

基于反馈的探索式测试源于自由式测试,但是随着测试历史的形成,测试人员们就会利用反馈来指导今后的探索。可以通过咨询覆盖指标(测试端用户覆盖、用户反馈问题模块统计、功能缺陷密集程度等信息)来进行探索测试,以使这些覆盖指标得以提高

 

4、 自由式探索测试

 

自由测试指的是对应用程序的所有功能,任意次序进行随机探测,不考虑功能是否验证完整,自由测试并没有规则、模式,只是发散自己的思维,对应用程序进行随机操作,检查是否有严重或明显的问题缺陷

 

 

三、探索方法

 3.1.png

1、麻烦测试法

 

故意设置各种障碍来看软件的应付能力,不考虑输出,只要软件能这样做就这样做。

 

测试思想:

 

可以提炼一种通俗易懂的思维方式运用到我们的项目上,我们首先想到的是用户的操作方式:点击、不同方向划动、双击、长按、拖动、手机上的各种按键以及其他操作,这些操作组合起来所得到的输出结果,也是开发以及产品无法预料的,针对麻烦测试,我们可以参考以下几个检查点,

 

检查各个UI页面的控件,例如会员中心各个按钮;

 

① 检查各个控件的主要操作方式以及附带操作方式:例如分享,更改权限等;

 

② 尝试主要操作方式以及附带操作方式组合操作:

 

③ 尝试其他操作方式与主要操作方式结合;

 

2、 极限测试法

 

制作一些极值场景,输入一些极大或极小值,制作一些极复杂的场景等。

 3.2.png

测试思想:

 

只要有输入就有一些极值的输入。那我们经常遇到的一般是哪些极值类型呢?

 

思维模式:

 

①    梳理测试对象的极值类型

 

②    创造测试对象的极大值和极小值

 

例如:文档输入框的最大可输入字符,二次密码的最大可输入位数等等。

 

3、 测一送一法

 

测试同一个应用程序多个拷贝的情况,同时对一个被测对象进行操作

 

测试思想:

 

多个终端操作后对被测试对象的影响,如一个账号同时登录多处,测试一端的一些操作,检查另一端的影响;或先登录一端操作后对另一端的影响。

 

测试参考:

 

同时登录关注以下操作,一方先登录操作后关注另一方后登录的情况

 

例如:在PC端操作检查桌面端以及移动端、APP端的功能以及显示问题;

 

①   消息类操作  ②设置类操作

 

4、 卖点测试法

 

对那些能吸引用户的特性进行测试,比如多人同时在线编辑等

 

5、 恶邻测试法

 

针对问题频发的功能进行周围功能验证

 

6、 专家测试法

 

根据用户反馈来进行测试;

 

测试思想:

 

在用户反馈的问题基础上进行周边问题验证,以及同类型问题验证或者为达到相同目的进行的不同操作,观察结果是否符合预期

 

7、取消测试法

 

停止或取消正在进行的程序或操作

 

测试思想 :

 

取消或中断程序正在进行的操作;

 

测试过程中杀进程,再启动检查是否有异常,或者进行断网操作。

 

*版权声明:本文作者 优测团队测试专家 郑凯泽 南明玮。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   在真实的压测过程中,我们不可能是录制完脚本直接就设置虚拟用户进行压测,通常为了使压测结果更加真实,我们还需要做一些修改,其中就用到了逻辑控制器,下面具体来讲一下几种常用的逻辑控制器的使用。  Loop Controller(循环控制器)  使用场景:如果录制的一个脚本中,我只想对其中的一个或者几个请求进行循环操作,但是登录请求只想执行一次,那么应该怎么办?  添加循环控制器即Loop Controller:  在这里设置Controller里请求的循环次数:  这样我们在执行脚本的时候,该循环控制器下面的所有请求都会请求两遍,而登录操作只会执行一遍,执行结果如下:  While Contr...
            14 14 1530
            分享
          •   据外媒报道,当地时间周三,通用汽车旗下的自动驾驶子公司Cruise宣布,将召回950辆自动驾驶汽车,以解决其碰撞检测系统的问题。  就在一个多月前,该公司的一辆汽车在无人驾驶模式下行驶时撞上并拖拽了一名行人。具体来说,这起事故于10月2日发生在旧金山,当时一辆有驾驶员的车辆撞到了一名行人,并将这名行人推到了一辆Cruise自动驾驶汽车的车道上。Cruise的自动驾驶汽车在撞到行人后最初停了下来,但随后,为了避开车流,这辆车又向右行驶,将这名行人向前拖了约20英尺(6米)。这名行人被压在汽车的一个轮胎下,伤势严重。  经过为期三周的审查,Cruise确定其自动驾驶汽车碰撞检测子系统在这种情况...
            0 0 508
            分享
          • 在压力测试中,经常需要生成随机值来模拟用户行为。JMeter 提供了多种方式来生成随机值,本文来具体介绍一下。随机数函数JMeter 提供了多个用于生成随机数的函数,其中最常用的是__Random函数。该函数可以生成一个指定范围内的随机整数或浮点数。语法如下:${__Random(min,max)}其中,min 和 max 是生成随机数的范围,可以是整数或浮点数。例如,${__Random(1,100)} 会生成一个 1 到 100 之间的随机整数。以下是随机手机号最后 3 位数字的例子:查看传过去的数据:也可以用 BeanShell 来实现。添加前置处理器: BeanShell PrePro...
            0 0 2379
            分享
          •   需要提前说明下的是到目前为止,笔者还没有达到一个合格的测试架构师的标准,但是应该是已经走在这条路上了,所以想通过自己的成长经历给其他想朝这个方向发展的同学有点启发,同时也期望能够抛砖引玉。       先说说笔者的初始条件(应该很多人看了都会有更多的自信吧):一个普通本科学校,虽然是科班出身,但是除了大学的课程设计以及其他需要写代码的功课外,基本上没有去主动写过代码,更别说去研究linux内核等等高大上的事情了,反正基础是很差的(你别问我大学都干嘛去了,我也不知道,反正兼职,泡妞,打球,游戏,图书馆,考研等全都干过,就是没有去专研过代码),所以,毕业后程序猿的...
            14 14 2446
            分享
          •   个人是去年年底零基础转行,两三千培训费学出来,学完后也是稀里糊涂,仅是知道功能测试就是找问题,其他接口,性能,数据库,python基础,虚拟机搭建网站都实现了课程展示那样。面试资料背了将近一个星期,简历照着别人的改的,培训老师简单模拟了一场,当晚第一次oppo的线上面试,当时紧张的不得了,双腿一直抖,为了缓解压力,还是开着燃气烤火炉面试的,题也是难得一批,linux命令全是不常见,python实现循环根本不会,cookie和session倒是背了,数据库查询考了一条,场景题挂了,最终被虐待体无完肤。第二天去了成都现场面试,期间也有电话面试,第二个面试场景题完败,简单的图片复制测试,我只知道...
            0 0 380
            分享
      • 51testing软件测试圈微信