2.商业区测试法
  “商业区测试法”针对的是“销售特性”。所谓的“销售特性”,指的是产品的重要功能和特性,是测试时需要重点测试的对象。
  “商业区测试法”包含的主要测试方法如下:
  指南针测试法:主要要求测试人员通过阅读用户手册,场景及产品需求进行相关的测试。
  卖点测试法:对那些能够吸引用户的特性进行测试,至于哪些特性能够吸引用户,可以向销售人员咨询,或者拜访客户。
  地标测试法:主要是寻找测试点,明确测试项,这里的测试点是“地标”。
  极限测试法:向软件提出很多难以回答的问题。比如如何使软件发挥到大程度?哪个特性会使软件运行到其设计极限?哪些输入和数据会耗费软件多的运算能力?等等。
  快递测试法:要求测试人员专注于数据,即数据从输入到输出展现给客户或页面过程中,数据执行的流程。
  深夜测试法:当我们不对测试对象操作时,测试对象能否会自动完成各种维护任务,将数据归档,自动记录发生的异常情况等。
  遍历测试法:通过选定一个目标,然后使用可以发现的短路径来访问目标包含的所有对象。测试中不要求追求细节,只是检查哪些明显的东西。
  3.娱乐区测试法
  “娱乐区测试法”针对的是“辅助特性”,也是那些并不是那么重要的特性的测试。
  “娱乐区测试法”包含的主要测试方法如下:
  配角测试法:专注于某些特定的特性,它们虽然不是那种我们希望用户使用的主要特性,但和那些主要的特性会一同出现。它们越紧邻那些主要功能,越容易被人注意,所以必须给予这些特性足够的重视,不能忽视。
  深巷测试法:测试产品特性的使用情况列表中排在下面的几项特性(不可能被用到的或是那些不吸引用户的特性)。它的变种是“混合测试法”,试着把流行和不流行的特性放在一起混着测。因为开发人员可能从来没有预想过它们会在这样的场景中被混合在一起。通宵测试法
  “通宵测试法”是测试软件的长时间运行后,各功能模块是否正常,有点像稳定性测试。这个方法很容易和“深夜测试法”混淆,但是测试侧重点不同:“深夜测试法”测试的是测试对象的自动处理能力。
  4.破旧区测试法
  “破旧区测试法”针对的是“问题高发特性”。对这些让人头痛的“问题高发特性”,“破旧区测试法”的测试思想是继续“落井下石”:“输入恶意数据”、“破坏操作”、“修改配置文件”等等,所有这些你能想到的“有害”的事情,都往这些特性上招呼对了。
  “破旧区测试法”包含的主要测试方法如下:
  破坏测试法:是指那些缺陷横行的代码段,测试人员应该在这些区域尽量多花时间。
  反叛测试法:要求输入不可能的数据,或者已知的恶意输入。你见过去酒吧不喝酒点果汁的么?反叛思想要求输入不可能的数据。
  强迫症测试法:强迫软件一遍又一边接受同样的数据,反复执行同样的操作。此种思维方式,常常打破了开发人员设计代码的思路,他们预想着你会按步骤操作,却不曾考虑过你反复的执行第一步应该如何处理。
  5.旅馆区测试法
  “旅馆区测试法”针对的是“平台或维护特性”。这些特性的特点是容易被忽视,而“旅馆区测试法”是让我们再回过头去测试一些经常被忽视的或再测试计划中较少描述的次要及辅助功能的方法。
  “旅馆区测试法”包含的主要测试方法如下:
  取消测试法:启动相关操作,然后停止它,查看测试对象的处理机制及反应。例如在功能进行中使用esc键,取消键,回退键,关闭按键或者彻底关闭程序等。
  懒汉测试法:做尽量少的实际工作,让程序自行处理空字段及运行所有默认值。
  6.旅游区测试法
  “旅游区测试法”针对的是“噱头特性”。这种测试方法的特点是关注如何快速访问文件的各种功能,测试目的像方法的名称一样,只是为了到此一游。
  “旅游区测试法”包含的主要测试方法如下:
  收藏家测试法:测试人员通过测试去收集软件的输出,将那些可以到达的“地方”都到达一遍,并把观察到的输出结果记录下来,收集得越多越好。
  长路径测试法:访问离应用程序的某个开始点尽可能远的特性。哪个特性需要点击N次才能被用到?哪个特性需要经过多的界面才能访问?主要指导思想是到达目的地之前尽量多地在应用程序中穿行。
  超模测试法:要求测试人员去关心那些表面的东西,只测试界面。测试中注意观察界面上各种元素。它们看上去怎么样?有没有被正确的绘制出来?变化界面时,图形用户界面刷新情况如何?如果软件用颜色来传达某种意思,这种信息是否一致?界面是否违反了任何惯例或标准?
  测一送一测试法:测试同一个应用程序多个拷贝的情况。测试程序同时处理多个功能要求时,是否正常,各功能之间同时处理时,是否会相互影响。
  7.其他区测试法
  “其他区测试法”包含的主要测试方法如下:
  恶邻测试法:是指那些缺陷横行的代码段,测试人员应该在这些区域尽量多花时间。
  博物馆测试法:重视老的可执行文件和那些遗留代码,另外还包括累积许久没有执行过的用例,确保他们和新增代码享受同等待遇。
  上一版本测试法:检查那些在新版本中无法再运行的测试用例,以确保产品没有遗漏必需的功能,也是说如果当前产品构造是对先前版本的更新,必须先运行先前版本上的支持的所有场景和测试用例。
  设计探索测试地图
  接下来我们可以使用相关的测试方法,来设计探索式地图了:

  并对得到的测试项目,确定测试结果,确定测试优先级。再根据项目的时间确定本次探索式测试的测试内容。
  开始探索式测试
  确定好了探索式测试项后,可以开始测试了。
  之前得到的测试项目可能会随着测试的进行,变得不合适。所以我们在探索测试一段时间可以再针对测试情况做一下总结,再更新测试项目。
  有时候,我们可能会停下来重新收集系统的信息,或者准备新的测试环境,这些都是可以的,都是允许的。
  有的参考材料上建议把探索式测试的时间分为几个固定的时间钟,比如每测试1小时,停下来总结、更新测试项目1小时,再开始测试1小时,如此循环。我觉得这个方法不错,但是时间钟的长短需要根据被测对象的特点来确定。