接着第三章,开始第四章...
1.探索软件
探索式测试有下面几个目标:
1)理解应用程序如何工作,它的接口看起来怎样,它实现了哪些功能。这个目标可以帮助他们深入理解测试需求,并发现那些新的、没有探索过的功能。
2)强迫软件展示其全部能力。目的是设法使软件努力运行。这种方法也许不一定能找到缺陷,但它可以证明软件确实实现了所要求达到的功能。
3)找到缺陷。探索应用程序的各种极端情况从而发现潜在的问题是探索式测试的专长。
2.旅游者比喻
旅游的目的会影响游客如何安排时间和如何确定具体游览城市的哪些地方。临时停留一晚的机组人员的行程和学生访问团的行程会有很大的不同。旅游者的目的对实际策略的选用起着举足轻重的作用。
测试设计原则影响手工测试,进而影响自动化测试。
3.漫游测试
我们把软件特性分成了如下区域:
a)商业区:指的是“在那里完成实际业务”,它位于软件的启动及关闭代码之间,并包含用户所有使用的软件特性和功能。
b)历史区:就是从前版本遗留下的代码,还有那些曾经出现较多缺陷的特性和功能。
c)旅游区:有些特性和功能对新用户非常有吸引力,然而老用户不再使用它们。
d)娱乐区:软件的辅助特性和功能。
e)旅馆区:软件“休息”时,它实际上还是非常忙碌的。
f)破旧区:破旧区是那些不吃香的地方,很少有旅游手册或旅游局会谈及它们。
1)商业区测试类型
商业区测试类型侧重于测试“使业务得以完成”的那些特性。
a)指南测试法
指南测试法(The Guidebook tour)要求测试人员通过阅读用户手册并严格遵照手册的建议执行操作。如果手册描述了某个特性以及如何使用该特性时,测试人员要特意留心那些指令。其目的是尽量忠实地执行用户手册中描述的每个场景。
该测试法的变种是博客测试法(遵循第三方的建议来测试)、专家测试法(根据那些怒气冲冲的抱怨者来测试)和竞争对手测试法(使用竞争对手的用户手册来测试自己的应用程序)。
b)卖点测试法
从卖点测试法(The Money tour)的字面意思看,探索式测试人员找到那些最能卖钱的特性,也就是说他们跟着卖点走,也就是跟着钱走。执行卖点测试法的测试人员应该观摩那些销售展示,观看销售录像并跟着销售人员一起拜访客户。在执行测试时,按照产品演示的步骤自己来执行一遍,并看看有没有发生问题。
该测试法的变种是质疑测试法(Skeptical Customer tour),就是执行卖点测试法时,有人不断打断原有流程,增加一些另外的场景。
c)地标测试法
地标测试法(The Landmark tour)先选择地标,然后在软件中执行类似于在森林中地标间跳跃的动作。
使用指南测试法和卖点测试法,可以提前确定那些关键的软件特性,即地标。在选择完地标后,需要确定它们的前后顺序,然后从一个地标执行到另一个地标来探索应用程序,直到访问了列表中的所有地标。在这个过程中,需要记录已经使用过哪些地标,并创建一个地标覆盖图来标识工作的进展。
d)极限测试法
继续学习极限测试法,极限测试法(The Intellectual tour)采用的途径是向软件提出很多难以回答的问题。比如如何使软件发挥到最大程度?根据被测应用程序的不同,提出的问题也会不同。比如,测试文本处理器,这个测试法需要他们创建各种错综复杂的文档,包含图形、表格、多列和脚注等。这个测试法有个变种,找麻烦测试法(Arrogant American tour),该方法要求测试人员故意设置各种障碍来看软件如何应对。
e)快递测试法
在快递测试法(The FedEx tour)中,数据类似于那些通过联邦快递(FedEx)系统在这个星球上被不断移动的包裹一样,在软件中不断地流动。
数据被输入后开始它的生命周期,先被存储在内部变量和数据结构中,然后被频繁操作、修改和使用,最后被“递送”给用户。因此,此测试法中,测试人员需专注于数据。
f)深夜测试法
深夜测试法(The After-Hours tour)是测试下班之后的软件的特性。此测试法的变种是清晨测试法(Morning-Commute tour),它是测试软件的启动过程和脚本。
g)遍历测试法
遍历测试法(The Garbage Collector's tour)通过一个选定目标(例如所有菜单项、错误消息或对话框),然后使用可以发现的最短路径来访问目标包含的所有对象。
2)历史区测试类型
历史区指的是那些遗留代码,或是在前几个版本就已经存在的软件特性,也指那些用于修复已知缺陷的代码。
a)恶邻测试法
恶邻测试法(The Bad_Neighborhad tour)是指测试那些缺陷横行的代码段。随着测试的深入,发现和报告越来越多的缺陷后,即可把缺陷数目同产品特性联系起来。由于缺陷通常扎堆儿出现,因此缺陷多的地方值得反复测试。
b)博物馆测试法
博物馆测试法(The Museum Tour)指测试那些遗留代码。那些老代码或者接受重新修改,或者是没被改动就放到新环境中运行,很容易发生失效的情况。
c)上一版测试法
如果当前产品是对先前版本的更新,上一版测试法(The Prior Version Tour)就是运行先前版本上支持的所有场景和测试用例。
3)娱乐区测试类型
娱乐区的测试法帮助测试那些辅助特性,而不是主线特性,并确保这两种特性有意义地结合在一起。
a)配角测试法
配角测试法(The Supporting Actor tour)鼓励测试人员专注于某些特定的特性,它们虽然不是那种我们希望用户使用的主要特性,但和主要特性一同显示出来。
b)深巷测试法
深巷测试法(The Back Alley tour)建议测试人员应该测试产品特性列表中排在最下面的特性,或者测试那些还没有被测到的代码。
它的变种是混合测试法(Mixed-Destination tour),试着把最流行和最不流行的特性放在一起混着测。
c)通宵测试法
通宵测试法(The All-Nighter tour)的探索式测试人员会让程序一直保持运行,而不去关闭它。他们会打开一些文件,但不关闭它们,甚至不存储它们以避免因在存储文件时可能出现重新设置的情况。
上篇到此为止,主要介绍了漫游区域,和商业区、历史区、娱乐区的几种测试法,下篇再介绍其它的测试法~