您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > 其他相关 > 正文

基于场景的探索测试

发表于:2017-01-09 作者:刘江叶 来源:

  基本的场景测试即从用户的角度设计端到端的场景,从用户的角度发现产品缺陷。由于用户可能采用的操作方式是复杂多变的,单一的场景测试的覆盖较为有限,很难保证产品质量。将探索性测试的理论加入场景测试可以给场景注入变化,大大的丰富场景内容,更加真实的模拟真实用户,很大程度的提成产品性能。在这个基础上的整理反思,不仅可以提高产品的可靠性,更能大幅度的提高工作效率,对于我们的测试工作具有极其重要的意义。
  一般而言,待测产品的基本场景是固定的。而探索性测试则是一种强调个体的主观能动性的测试思想。将这场景和探索性测试方法结合,可以为现有的场景注入大量的变化,实现结构化和自由度的统一。
  场景和探索
  有价值的场景会满足以下要求的部分或者全部:讲述用户故事、描述需求、演示产品功能、演示集成场景、描述设备和安装、描述警告和出错情形。
  作为测试人员,我们根据场景的要求应尽可能多的收集场景,并给收集到的场景加入变化。测试的结果最终是否具有探索性,取决于如何添加变化。
  场景测试的优势就在于真正的模拟了用户的行为,可以发现那些已经逃过其他测试却可能给用户带来麻烦的bug。但是用户往往不会按照场景的描述使用软件,用户会根据自己的喜好,随意的更改步骤来变换场景,预料这些变化并加以测试就显得至关重要,这也正是在场景测试中加入探索性测试的意义。
  给场景注入变化的过程主要使用了两种技术:场景操作和漫游测试。接下来本文会就这两个技术进行阐述和使用。
  场景操作模型
  场景操作模型就是通过场景操作引入变化,对于要求用户采取某些特定动作的场景,需要改变这些动作的顺序,用于测试不同的状态和代码路径;对于描述一般性活动的场景,需要在可能的选项中进行选择,使用更加系统更加策略的方式完成探索。
  场景操作模型的构想是对场景的步骤加以操作,给场景注入变化。得到的新场景被称之为‘衍生场景’,我们可以针对最初指定的场景操作也可以针对衍生的场景进一步加入变化,衍生出更加丰富的场景。
  给场景添加变化的方法主要包括以下的六类,一共十一种方法,具体的名称,分类和定义如图一所示:

  需要注意的是,无论使用什么方法变换场景,最终都需要保证衍生场景可以尽量接近原来的场景,我们的目的是加强场景,而不是彻底改变场景的基本目标。
  漫游探索模型
  漫游探索模型就是通过漫游测试引入变化,这种方法类似于“顺路游”。这种方法的就是要求测试人员在需要做决定或者有逻辑分支的地方,先往不同的方向走,然后再返回按照指定的路径走。
  场景操作和漫游操作的关键不同在于,漫游通常比场景操作产生更长的顺路游。场景操作侧重于场景中小的、逐渐增加的变化以及可有可无的步骤,而漫游测试可以创建出相当长和范围更广的衍生场景。
  漫游测试的方法很多,下面将选取一部分比较适合场景测试的方法进行说明和使用,本文共选取了是一种方法,方法名称和定义如下所示:

  值得说明的是,场景操作和漫游模型都可以为场景的探索引入变化,但是两者并不是互相重叠的方法。在实际的使用中可以分别从场景操作模型和漫游模型出发进行探索,往往可以有更加丰富的收获。