软件测试

臧艳辉

目录

  • 1 走近软件测试
    • 1.1 走近软件测试
    • 1.2 一个软件测试工程师必备的专业技能和素质
    • 1.3 章节测验
  • 2 软件测试技术
    • 2.1 正确认识软件测试
    • 2.2 软件测试遵循的基本原则
    • 2.3 软件测试的分类
    • 2.4 软件测试的过程模型
    • 2.5 章节测验
  • 3 测试中缺陷的识别与描述
    • 3.1 初识软件缺陷
    • 3.2 全面解析软件缺陷
    • 3.3 有效的记录缺陷
    • 3.4 缺陷报告实例
    • 3.5 缺陷报告模板
  • 4 项目测试计划的制定
    • 4.1 一个项目完整的测试流程
    • 4.2 初识测试计划
    • 4.3 测试计划的基本机构和内容
    • 4.4 测试计划模板和案例
  • 5 初识软件测试用例
    • 5.1 什么是测试用例
    • 5.2 项目测试中设计测试用例的作用
    • 5.3 如何设计一个项目的测试用例
    • 5.4 在测试过程中测试用例怎样进行更新和维护
  • 6 使用等价类划分方法设计测试用例
    • 6.1 等价类划分法的基本思想
    • 6.2 进行等价类划分法的原则
    • 6.3 使用等价类划分法设计测试用例实例
  • 7 使用边界值分析法设计测试用例
    • 7.1 边界值分析法的基本思想
    • 7.2 如何确定边界
    • 7.3 测试知识储备
    • 7.4 使用边界值分析法设计测试用例实例
    • 7.5 项目中如何进行健壮性边界值测试
    • 7.6 等价类+边界值
    • 7.7 章节测试
  • 8 使用大纲法设计测试用例
    • 8.1 什么是大纲法
    • 8.2 项目中如何使用大纲法设计测试用例
  • 9 使用场景法设计测试用例
    • 9.1 什么是场景法
    • 9.2 项目中如何使用场景法设计测试用例
  • 10 因果图和决策表结合设计测试用例
    • 10.1 因果图法的介绍
    • 10.2 决策表的介绍
    • 10.3 项目中选用因果图法和决策表设计测试用例需考虑的问题
    • 10.4 使用因果图法和决策表设计测试用例
  • 11 功能测试
    • 11.1 什么是功能测试
    • 11.2 功能测试的主要内容及测试策略
    • 11.3 功能测试的方法汇总
    • 11.4 功能测试的经验及注意事项
  • 12 界面测试
    • 12.1 界面检查的通用原则
    • 12.2 具体的界面检查的举例
    • 12.3 设计界面测试用例
    • 12.4 界面测试标准总结
  • 13 软件的安装卸载测试
    • 13.1 软件的安装卸载测试
    • 13.2 软件的安装测试
    • 13.3 软件的运行测试
    • 13.4 软件的卸载的测试
  • 14 项目中如何使用进行有效的缺陷管理
    • 14.1 进行缺陷管理的目标是什么
    • 14.2 项目中缺陷管理的流程是怎样的
    • 14.3 缺陷的跟踪方法有哪些
  • 15 测试报告该如何撰写
    • 15.1 软件质量评估
    • 15.2 如何撰写测试报告
    • 15.3 如何写项目总结
    • 15.4 如何写个人测试总结
  • 16 集成测试
    • 16.1 初识集成测试
    • 16.2 集成测试方法
  • 17 白盒测试
    • 17.1 初识白盒测试
    • 17.2 白盒测试技术——逻辑驱动测试
    • 17.3 白盒测试技术——循环覆盖测试
    • 17.4 白盒测试技术——基本路径测
  • 18 软件测试技术及岗位需求介绍
    • 18.1 软件测试岗位需求
    • 18.2 软件测试技术介绍
    • 18.3 软件测试比赛内容
    • 18.4 软件测试岗位应聘简历撰写
什么是场景法
  • 1 电子教材
  • 2 PPT

第一章  使用场景法设计测试用例

简介

前面所讨论的黑盒测试方法更侧重于测试数据的选择,例如,边界值测试重点考查边界及附近的数据,等价类测试侧重于在整个输入域中搜索代表性数据,落脚点仍在输入数据。对于复杂系统来说,首先需要从全局把握系统的招个业务流程,了解功能模块,在熟悉流程的基础上才能讨论局部细节的测试设计,如测试数据的选择。如何设计高层的测试用例呢?目前越来越多的软件采用事件触发来控制流程,事件触发时的情景形成场景,同一事件不同的触发顺序和处理结果就形成了事件流。以事件流为核心的场景法是高层测试设计的基础,在功能测试中使用较多。下面我们就来详细讨论场景法。

9.1  什么是场景法

9.1.1  使用场景法之前要考虑的问题

场景法的核心是事件流和场景,其中事件流包括基本流和备选流。用例场景用于描述流经用例的路径,从用例开始到用例结束应遍历该路径上所有的基本流和备选流。

注意,基本流只有一个,而备选流的数目则取决于基本流上判定节点的数目与事务分析的颗粒度,颗粒度越细,考虑越周全,得到的备选流数目就越多,相应的测试工作量就越大。

场景法要解决的问题如下。

1)如何获取基本流和备选流。

2)当路径上存在数量众多的备选流时,如何处理场景爆炸的问题。

9.1.2  试用场景法的一般步骤

场景法的一般步骤如下:

l)构造基本流和备选流。

2)根据基本流和备选流构造场景。

3)根据场景设计测试用例。

4)对每个测试用例补充必要的测试数据。

9.1.3  选用场景法的测试过程介绍

先以一个例子来简要说明场景法的测试过程,如图9-1所示。

9-1中包含己知的基本流和4个备选流,共4个分支点,其中备选流124涉及的是条件判定节点,而备选流3涉及的是循环的情况。

1)基本流

基本流是从系统某个初始态开始,经一系列状态后到达终止状态的过程中最主要的一个业务流程。基本流涉及的业务规则并不一定很复杂,但它一般包含多数用户最经常操作的系统功能,应能反映绝大多数用户操作系统的特征。所谓基本,意指该事件流是整个业务流程中最基本的一个流程。因此,至少应确保系统基本流的执行正确无误。

 

9-1 基本流和备选流

对于一个事件流图示而言,基本流只有一个。

2)备选流

备选流是以基本流为基础,在经过的每个判定节点(包括条件判定和循环判定)处满足不同的触发条件而导致的其他事件流。

与基本流不同的是。基本流是一条从初始状态到终止状态的完整业务流程,而备选流仅是业务流程中的一个执行片段。备选流的起始和终止节点具有多种形式。

Ø 起始节点从基本流的某个判定节点开始。

Ø 起始节点从其他备选流的某个判定节点开始。

Ø 终止节点是基本流上的某个状态。

Ø 终止节点是其他的系统终止状态。

对于一个事件流图示而言,备选流可以有多个。表9-1列出了基本流与备选流的区别。

9-1基本流与备选流的区别

条目

基本流

备选流

测试重要性

重要

次要

数目

1

1条或多条

初始节点位置

系统初始状态

基本流或其他备选流

终止节点位置

系统终止状态

基本流或系统其他终止状态

是否是完整的业务流程

否,仅为业务流程的执行片段

能否构成场景

否,需和基本流共同构成场景

3)场景

所谓场景,可以看做是基本流与备选流的有序集合。场景中应至少包含一条基本流。由图9-2所示,可得到以下场景(更多场景不再一一列出)。

Ø 场景 1 :基本流

Ø 场景 2 :基本流+备选流 1

Ø 场景 3 :基本流+备选流 3

Ø 场景 4 :基本流+备选流 4

Ø 场景 5 :基本流+备选流 l +备选流 2

Ø 场景 6 :基本流+备选流 3 +备选流 1

Ø 场景 7 :基本流十备选流 3 +备选流+备选流 2

Ø 场景 8 :基本流十备选流 3 +备选流 4

从以上场景中我们可以发现,每个场景中可以包含的备选流数目并不确定,而且可以多次包含相同的备选流。当然,场景中包含的事件流数目越大,则场景越复杂,测试越困难。场景的设计其实就是业务执行路径的构造,备选流越多,特别是包含循环情况的备选流越多,则生成的场景数量就越多,可能会引发场景数量的爆炸。因此,为了控制测试工作量,应选择最少的场景展开测试。

4)测试用例

己知测试场景,应进一步分析针对每个场景需要设计哪些测试用例,即系统需要哪些输入条件,哪些输入条件是触发条件,哪些条件必须有效,这些输入在该测试用例中可以取得哪些测试数据,最终将会得到怎样的系统预期输出。