探索式软件测试(3)-混合探索式测试技术
一、场景
二、基于场景的探索式测试
1、场景操作
-
插入步骤:给场景插入一个或多个步骤能增加软件失败的机会
(2)删除步骤:去掉冗余和可选的步骤,这个操作的想法是使场景的步骤尽可能地减少
(3)替换步骤:
描述:某个场景可以使用多种方式完成,就可以使用替换步骤。测试人员研究其他的替代方法来执行场景中的步骤或动作。
举例如:购买商品时使用键盘快捷键而不是鼠标。
要求:该测试测试人员需要知道应用程序内所有这些不同的选项和功能。
(4)重复步骤:
描述:重复单独的步骤或重复的一组操作来改变动作顺序(可能发现与数据初始化相关的缺陷)。
举例如:登录账户-查询余额-支付-退出。可以在支付后重复查询余额这一操作。
要求:该方法要求测试人员理解这些变化并创建适当的重复顺序。
(5)替换数据:很多情况下,场景要求和数据库、数据文件或者其他本地或远程数据源相连接。这些场景会明确指出测试人员要执行的动作。
举例如:以何种方式来读取、修改或操作数据。
要求:该方法要求测试人员需要知道与应用程序相关的数据源并创建各种各样的变化。理解应用程序连接和使用的数据源,并确保他们之间的交互是稳定可靠的。
(6)替换环境:
描述:操作的基本要点是测试场景本身并不改变,只是在软件上执行这些测试场景时,所使用的系统发生了改变。
-
替换硬件:改变环境最容易的方法是改变被测应用程序所运行的硬件。可用虚拟机技术。
-
替换容器:如果被测程序运行在所谓的容器应用程序中(如浏览器),我们需要确保测试场景可以在用户有可能使用的所有主要容器中运行。如:IE、chrome、firefox浏览器
-
替换版本:所有前面提到的容器都有过去的版本,它们依然占有一定的市场份额。
-
修改本地设置:修改注册表?修改浏览器设置?用户机器上写文件等,作为测试人员,最好能在应用程序发布前知道它如何处理上述情况。
以上就是场景操作引入变化的几种方式,使用这些方式时,尽量使它接近原始场景。
2、漫游测试
-
卖点测试:
任何不在场景中的主要功能都能轻易地加入到场景中吗?如果是,加入一个或多个这样的新功能。许多用户都是通过学习某个功能,掌握它,然后随着对应用程序的熟悉而逐渐转移到新功能上。卖点测试法技术模拟了该使用模式。卖点测试是跟着卖点的特性走,在向客户展示的过程中会创建出一些新的用户场景。
-
地标测试法:
从场景中选取特定的功能,然后随机打乱这些地标的顺序,这样得到的场景就和原始场景不同了。注意:在结构化的场景中结合地标测试法。地标测试法是设置一个地标,走到那里再设置一个地标。
-
极限测试法:
挑战软件,向他提困难的问题。
-
深巷测试法:
深巷测试法建议的是使用最不可能用到的或最没用的功能。
-
强迫症测试法:
重复场景中的每个步骤两次或三次,可以按自己的喜好来做。
-
通宵测试法:
当测试场景可以被自动化或者使用录像回放时,最适合使用的是通宵测试法,只需要不断重复运行场景而不需退出被测应用程序。
-
破坏测试法:
场景是破坏活动的绝好开始,场景测试时,在资源调用处进行破坏活动。用文档记录这些破换点,尽量多的,有意识的,谨慎的执行他们。
-
收藏家测试法:
执行场景和衍生场景使用文档记录下所观测到的每个输出,甚至可以根据产生的输出数量来给场景打分。
-
超模测试法:只关注界面,寻找屏幕刷新问题。
-
配角测试法:
测试人员不是执行脚本的功能,而是找到最近的邻居功能来执行。记住,总是选择那些在某种意义上“最邻近的”选择。
-
取消测试法:
不但充分利用了取消按钮,而且执行了启动和停止功能
-
混票测试法:
专门针对基于场景的测试,概念是有些人旅游开始时没有交钱报名,逐渐加入进来,融入旅游人群并假装一直在那里。
作为测试人员我们能这么做是因为两个场景都经过应用程序的同一部分,我们会跟随一个场景到那里,然后跟随另外的场景离开。