测试建模:功能列表(Function List)

功能列表(Function                           List)是一种功能测试(Function Testing)的建模方法,在启发式测试策略模型(Heuristic                           Test Strategy Model)中位于 HTSM -> Product Elements                            –> Function 分支中。虽然它只覆盖了很小的测试领域,不适合作为主要的测试方法,但是仍不失为一种有启发、有帮助的测试建模技术。本文将简介功能列表及其应用。

什么是功能列表?

Cem Kaner在Black Box Software Testing                            中将功能列表定义为:程序功能的大纲( an outline of the                           program‘s capabilities)。对于PowerPoint的图片功能,测试人员可以建立如下功能列表:

限于篇幅,该功能列表只列出了PowerPoint图片的部分功能(真实的测试需要更详细的功能列表),但是它很好的体现了功能列表的特点。第一,它列出了图片的主要功能:输入、操作、应用、输出、打印和文件读写,使得测试人员能够在整体上把握被测领域。第二,它的层次结构提供了可扩展的框架,测试人员可以持续地补充细节:具体的功能和针对该功能的测试想法。第三,它为功能覆盖提供了覆盖目标,为制定测试计划提供了有益的信息。第四,功能列表可以包含一些助记符(如标签)和链接。作为大纲,它可以指向更多的资料;作为测试触发器(trigger),它可以启发测试思路。

功能列表的形式

我习惯用符号列表(bulleted list)制作功能列表,因为符号列表被大量的文档编辑器和文档格式所支持,能够快速地编辑、修改和发布。

此外,许多测试人员喜欢用思维导图(Mind Map)记录功能列表、测试设计和测试计划,也获得了很好的效果。下图是思维导图形式的功能列表。

功能列表与漫游测试

漫游测试(Tour Testing)是一组以漫游隐喻为核心的测试方法。在应用漫游测试时,测试人员常常会游历被测产品的结构、功能或数据,在此期间运用他的技能和经验去发掘产品的缺陷。

功能列表为功能漫游(Feature Tour)提供了有益的信息。它像一幅地图,既描绘了产品的概况,又提供了必要的细节,为探索者提供了指南与参考。测试人员可以漫游功能列表上的所有元素,以实施全面探索;也可以选择遍历某个功能子集,以实施专项测试。

在测试之初,测试人员对被测产品尚不了解,他可以通过功能漫游来建立功能列表。从这个角度,漫游的过程就是测试建模的过程,功能列表就是漫游测试的产出。Cem                           Kaner建议,在软件尚不成熟时,测试人员应该同情地测试(test sympathetically)。此时,测试的目的不是发现所有缺陷,而是提交重大问题,发现风险区域,建立测试模型,为今后的测试奠定基础。对此,测试专家Michael                           Bolton有一番精彩的论述:

同情的测试非常重要,虽然一些测试人员会发现它的反面(全力寻找缺陷)难以拒绝。Jon                           Bach(测试专家,其兄弟James Bach也是测试专家)指出在探索式测试的早期,他通过测试来发现产品的优点(benefits)。我觉得这很奇怪,直到他指出寻找并记录缺陷使得他不能专注地漫游产品并构建产品的模型。

测试人员需要建立产品的大局观,同时掌握产品的优点、缺点、概念模型和实现逻辑。漫游测试是很好的学习过程,功能列表是一个有益的学习成果。

用功能列表启发测试设计

在测试设计时,测试人员可以将功能列表视作覆盖率指南。他逐个检查每个功能,阅读相关的测试想法,从而设计测试策略。在此过程,他可以自问:

  • 该功能与当前测试任务相关吗?
  • 该功能存在什么风险?可能会有什么缺陷?
  • 通过什么测试可以发现这些缺陷?
  • 在上次测试中,该功能表现如何?已有的测试想法,哪些值得再次尝试?哪些不必再测?
  • 依据当前的进度和资源,如何实施这些测试?
  • 功能列表是否充分?有没有漏掉一些功能?

另一种更有威力的方法是综合功能列表中的多个元素,开发测试策略,以测试它们的交互和影响。随着产品逐渐成熟,隐蔽的缺陷往往存在于功能的组合,暴露于复杂的流程。这要求测试人员综合多方面的信息,来更深入、更多样地测试系统。当测试人员考虑功能的组合时,他可以自问:

  • 该功能与哪些功能相关?
  • 功能的组合有没有揭示出新的风险?可能会有什么缺陷?
  • 哪些功能访问同一批数据?哪些是生产者?哪些是消费者?
  • 如何设计测试,以同时测试这些功能?
  • 如何构造一个(有意义的)业务流程,它能够访问尽可能多的功能与数据?
  • 对于相互依赖的功能,某个功能的失败是否对其他功能造成恶劣影响?

在回归测试时,功能列表是很好的参考。例如,测试人员可以按如下测试策略对PowerPoint的图片功能进行回归测试。

1.新建一个PowerPoint文档

2.向文档中插入图片

1.覆盖所有支持的图片格式

2.覆盖典型的图片尺寸

3.覆盖来自单反相机的大型图片(该条目显示随着硬件的发展,测试策略也需要变化)

3.操作文档中的图片

1.覆盖Picture Tools下的所有命令

2.一些图片只被一个命令修改

3.一些图片被多个命令修改

4.一些图片不被修改

4.应用文档中的图片

1.将图片与其他元素组合使用

2.覆盖文本框、形状、SmartArt、图表等

5.将文档中的元素另存为图片

1.覆盖所有可以被输出的元素:图片、形状、SmartArt、图表等

2.覆盖所有支持的图片格式

6.打印该文档

1.打印到(黑白和彩色)打印机

2.打印到PDF文档

3.打印到XPS文档

7.另存该文档并重新打开

1.另存为所有支持的格式

2.用PowerPoint打开生成的文档

3.用旧版本PowerPoint打开生成的文档

利用该测试策略,测试人员可以用一个很长的流程覆盖大多数的图片功能,不但可以测试图片功能的组合,还可以顺便测试程序的稳定性和资源占用。测试结束时,测试人员可以获得一个大型的PowerPoint文档,它包含各种图片和相关元素,为今后的回归测试提供了良好的素材。

参考资料

Cem Kaner: Black Box Software Testing                            (第48~56页)

Darren McMillan: Mind Map 101

Michael Bolton: Of Testing Tours and                           Dashboards

时间: 2024-10-13 13:22:02

测试建模:功能列表(Function List)的相关文章

测试管理工具列表大全

ID Name Notes 1 TestDirector/Quality Center 业界第一个基于Web的测试管理系统,它可以在您公司组织内进行全球范围内测试的协调.通过在一个整体的应用系统中提供并且集成了测试需求管理,测试计划,测试日程控制以及测试执行和错误跟踪等功能,TestDirector极大地加速测试过程.8.0后改称QC. 由于HP QC可以单独使用Defect模块,也可单独申请Defect模块的License,它也是名副其实的缺陷管理工具. 网址:http://www.mercu

RobotStudio中的建模功能

1.学会使用RobotStudio进行基本的建模. 1.1使用RobotStudio建模功能进行3D模型的创建 1.2对3D模型进行相关设置 2.学会RobotStudio中测量工具的使用. 1.3测量工具的使用 测量圆柱体的直径 测量两个物体间最短距离 测量技巧 3.学会创建机械装置并进行设置. 创建机械装置 4.学会创建工具并进行设置.

Eucalyptus安装包的功能列表

aoetools    是一个用来在以太网上运行 ATA 存储协议的软件,相当于一个网络存储功能.euca2ools  eucalpytus客户端杜昂管理工具axis2c       SOAP引擎,同时还是一个独立的服务器:rampartc   Apache Rampart 是 Axis2 的一个模块实现了 WS-Security 协议堆栈. groovy  是一种基于JVM的敏捷开发语言,它结合了Python.Ruby和Smalltalk的许多强大的特性. msttcorefonts   字体

BeagleBone Black板第十课:测试PWM功能

BBB板第十课:测试PWM功能 上一节课我们初步学习了BBB板上ADC数据的读取方法,本节课将把学到的PWM的知识贡献给和我一样的初学者.以下这张彩图来自网上,详细标明了14个PWM和四个定时器的引脚位置.本实验中,我们只测试其中的P8_13引脚,名称为eHRPWM2B. 需要准备的实验工具:一个二极管发光管和数字万用表及其他小线材 一.PWM知识(部分知识直接摘自网上) PWM全称Pulse WidthModulation,脉冲宽度调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有

使用特殊构造的5GB文件测试Win2012Dedup功能

WinServer2012一个崭新的功能就是支持重复数据删除功能.为了测试这个功能的情况,特别构造了一个特殊的5GB文件用于此次测试.惯例,先说下测试环境的搭建1 使用ESXi5上的版本8的VM,安装WinServer2012 RTM中文标准版,测试么就没有激活.OS C盘 40GDedupShare E盘 450G值得一提的是这个E盘是一个simple卷构造在一个450GB 精简虚拟盘VD01上而此VD置于一个1TB存储池SP01内.此存储池构造在1TB大小的VMDK里面,采用vmware P

最新云服务厂商服务功能列表---截至20141016

这是我近期整理的一份公有云服务商:阿里云.腾讯云.天翼云.ucloud.青云和华为云的服务功能列表,供有需要的朋友使用.

功能列表设定 字段的 背景色 图标 字体颜色——JEPLUS快速开发平台

JEPLUS功能列表设定 字段的 背景色 图标  字体颜色 在我们使用JEPLUS进行列表配置时,想对一些特殊的字段进行样式的渲染,今天我介绍下如何用JEPLUS列表配置出来我们想要的颜色. 一.效果展示 二.准备工作 1.JEPLUS平台5.0.0.2 2.数据库MySql 5.7 三.实现步骤 1.首先选择咱们要设置的数据字典表 现在选择的数据字典表为"请假类型" 2.找到咱们要设置的功能列表-进行列表配置 3.现在咱们对字段的背景颜色,字体颜色 进行设置. 我们只要对这个字段的字

功能列表字段懒加载原理——JEPLUS快速开发平台

JEPLUS之功能列表字段懒加载原理 当我们在点击进入一个列表或者是列表是总会遇到这样的情况---加载缓慢.在我们配置列表或者表单中默认会员很多的加载项,我们并不是都需要每次点开时都要加载.在今天我给大家介绍下遇到这种情况怎么解决. 一.效果展示 二.准备工作 1.JEPLUS平台5.0.0.2 2.数据库MySql 5.7 三,实现步骤 1.我们在有些场景下需要配置很多列表字段,还有很多的表单字段,那么它在加载的过程中就会逐步加载很缓慢,我们这里给他设置懒加载的目的就是提高列表的展示速度来展示

功能 列表字段如何实现多选框或图标的编辑方式——JEPLUS软件快速开发平台

JEPLUS之功能 列表字段如何实现多选框或图标的编辑方式 当我们在点击列表字段是我们可以添加一些独特的显示状态,比如点击时变亮未点击是暗灰色,咱们可以理解为就给字段进行配置一个选中的样式与未点击的样式今天给大家介绍下怎么来实现. 一.效果展示 二.准备工作 1.JEPLUS平台5.0.0.2 2.数据库MySql 5.7 三.实现步骤 1.首先我们要进行字段的列表配置 选择它的选中时样式,不选中的样式. 进行这样的配置之后就可以实现了点击时是亮色,未点击是灰色. 查看原文及阅读更多 原文地址: