偏门测试概念总结(下)-- 进阶测试方法

 

淘宝测试工程师的测试方法/概念总结...



上周五给大家介绍一篇淘宝测试工程师的文章,他以淘宝为案例,对各种测试方法和概念做了一个总结。这篇文章分为上下两篇,分别为基础测试方法和进阶测试方法。

今天推的是“进阶测试方法”篇。其实里面的很多概念相信你也有所耳闻,例如边界值、容错、压力、健壮性 等等,但是有特色的是,作者给他们都加了一个有趣的名字,相信你看了后就忘不掉。

点击可查看: 偏门测试概念总结(上)-- 基础测试方法

二、进阶测试方法
本节将描述一些进阶的测试方法,有一定经验的测试人员可以从这些测试方法中学习到更多探索式测试的实践技巧。

方法1:极限测试法(The Intellectual Tour)

定义:

测试人员找到本产品最吸引用户的功能或特性,按照产品演示步骤来测试特性。



案例:

  1. 以淘宝的商品搜索功能为例,测试人员提出问题,如果我输入超过256个字符进行搜索会怎样?如果我输入不存在的商品名称进行搜索会怎样?如果我输入非法字符进行搜索会怎样?
  2. 以淘宝的购物车功能为例,测试人员提出问题,如果我加入200个商品到购物车里面会怎样?如果我在购物车里面加入相同的商品会怎样?如果我的购物车里面所有商品价格的总和大于100万会怎样?


讨论:

极限测试法让测试人员更多地关注系统的应变承受能力,对于提高软件质量有如下帮助:

  • 测试人员的测试重点是系统的应变承受能力,测试人员故意输入一些看似没有意义的输入,所做的一切不一定要有什么实际意义,这么做的原因只是因为系统允许这么做。
  • 这个测试法能发现各种类型的缺陷,从非常重要的缺陷到简单甚至愚蠢的缺陷。它取决于测试人员的驾驭能力,向系统提出最难的问题,就会发现系统处理困难问题的能力到底如何。



方法2:麻烦测试法(Arrogant American Tour)

定义:

测试人员对于某个特性故意设置各种障碍来看产品如何应对,思路就是采用一些非正常的使用方式。



案例:

  1. 淘宝的会员注册功能要求用户在有效时间内激活账号。测试人员故意在有效时间内不激活,而在有效期过后再激活,以检查激活功能的逻辑。
  2. 以淘宝的购物车功能为例,测试人员加入了多个商品到购物车里面,然后到订单确认页面,减去购物车中某个最贵的或最便宜的商品,检查订单价格的计算结果。或者新增一个最贵的或最便宜的商品到购物车中,再检查订单价格的计算结果。


讨论:

麻烦测试法让测试人员更多关注产品的应变承受能力,对于提高软件质量有如下帮助:

  • 麻烦测试法是极限测试法的变种,测试人员的测试重点也是产品的应变能力,测试人员可以故意设置各种障碍来查看系统程序是否考虑其异常性。



方法3:通宵测试法(Clubbing Tour)

定义:

测试人员连续不断地使用某个特性或将文件一直保持打开的状态,让某些特性的运行时间特别长。



案例:

  1. 安装旺旺客户端,打开旺旺帮助窗口,保持该窗口一个晚上不关闭,第二天单击"提意见"标签(Tab),该标签显示Server 500错误页面。原因是旺旺设置了网页失效时间,只要打开应用超过了一定时间且用户未做任何操作,旺旺就会报告Server 500错误,且报告界面不友好。
  2. 访问淘宝网首页,卖家会员登录成功后,进入到商品管理页面。发布商品的时候,上传尺寸巨大的商品图片,检查上传操作能否顺利完成,或在编辑商品页面进行长时间的修改但不保存,在通宵操作的情况下查看页面的反应情况或JS的加载情况。


讨论:

通宵测试法让测试人员更多地关注产品的持续运行能力,对于提高软件质量有如下帮助:

  • 使用通宵测试法的测试人员一般会让产品一直保持运行,而不去关闭它。对于一些移动设备上的程序来说,持续运行许多天是常见的情景,此类测试就变得更为重要。
  • 由于产品一直没有重新启动,则有些初始化数据没有被重置过,可能会发现一些潜在的问题,将有助于提高系统的可靠性和稳定性。



方法4:测一送一测试法(The Test One Get One Free Tour)

定义:

测试人员同时运行同一个应用程序的多个实例,多个用户同时使用同一个特性,类似于多线程测试模型。



案例:

  1. 同时打开两个浏览器,或某一个浏览器中的两个标签,访问淘宝网首页,进入到会员注册页面,输入同一个会员名后同时进行注册操作;或者模拟多个用户使用不同的安全登录方式同时登录淘宝。
  2. 访问淘宝网首页,卖家会员登录成功后,进入到商品管理页面,编辑商品宝贝的时候,多个用户同时编辑同一个商品,检查会产生什么样的结果。
  3. 运行淘宝助理客户端,使用账户A进行登录成功后,再开启一个新的客户端,使用账户B进行登录和并执行业务操作,查看这些操作的结果是否在数据库中记录正确。


讨论:

测一送一测试法让测试人员更多地关注产品的并发处理能力,对于提高软件质量有如下帮助:

  • 测试人员重点测试产品的并发处理能力,有助于尽早发现访问冲突、数据损坏等严重问题。
  • 测一送一测试法来自购物时商家的"买一送一"营销策略,测试人员一旦在某个实例上发现缺陷,则在另外一个实例上也必然发现该缺陷。



方法5:取消测试法(The Rained-Out Tour)

定义:

测试人员启动某些功能操作后再停止它运行,对所有提供取消选项的功能或需要较长时间才能完成的功能执行取消操作,检查程序的自我清除能力。



案例:

  1. 访问淘宝网首页,登录成功后,进入我的淘宝页面,再进入密码修改页面,输入旧的密码和新密码及确认密码,单击提交后,有个对话框提示是否确定需要修改,并提供取消功能。测试人员需要测试该取消功能,并尝试按Esc键或回退按钮来取消修改。
  2. 访问淘宝网首页,卖家会员登录成功后,进入商品管理页面,发布商品的时候,上传较大图片,上传的过程中,页面显示"取消"按钮,测试人员需要测试单击该按钮后,程序是否出现异常情况,并返回到之前的页面四处地检查一下。
  3. 运行淘宝的旺旺客户端,使用账号A和另一个旺旺账号B进行聊天,在聊天窗口进行文件传送。选择传送一个非常大的文件或文件夹,在传送过程中进行取消操作,查看内存和相关特性是否存在不稳定的变化。重复多次文件传送和取消操作,检查内存和相关特性是否正常。



方法6:破坏测试法(The Saboteur Tour)

定义:

测试人员试图利用每个可能的机会暗中破坏产品,人为地创建恶劣的运行环境(内存少、无权限、断网、故障注入等)。



案例:

  1. 使用测试工具来限制测试计算机的网速,然后访问淘宝网首页,会员登录后进入我的收藏夹页面;单击"收藏我的店铺"按钮;单击"新宝贝"链接。查看收藏的店铺里面是否正确显示该店铺上新的宝贝,因为JavaScript加载速度可能引起该店铺重复显示新的宝贝。
  2. 访问淘宝网首页,卖家会员登录成功后,进入到商品管理页面;单击"发布商品"按钮,这时测试人员可以减少数据库连接池,或断开数据库的连接,或断开缓存的连接,或修改缓存的存储达到最大值,再发布宝贝,查看结果是否出现异常。
  3. 测试人员在内存较小的机器上安装旺旺。安装完毕后,在旺旺上开启一百个以上的聊天窗口,观察聊天记录的显示是否很慢,或旺旺客户端是否会崩溃。



上面列出的测试方法的部分案例是淘宝网测试工程师发现的经典缺陷。事实上在项目测试过程中很多缺陷是通过上述测试方法发现的,只是测试工程师并没有 意识到自己使用了某个特定的测试方法。所以我们有必要把这些好的测试思路总结并传承下去。对于这些测试方法,我们需要了解使用该方法的场景,并知晓一种测试方法只能解决某一类问题,不能解决所有问题。所以,有效的测试方法集不是一成不变的,是需要所有测试同仁去完善、去创造的。

微信号:越测越开心加关注



原文地址:http://www.51testing.com/html/58/n-3569558.html


    关注 越测越开心


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册