软件测试

臧艳辉

目录

  • 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

10.2  决策表的介绍

10.2.1  什么是决策表

决策表(decision table)又称判定表,是分析和表达多逻辑条件下执行不同操作的情况的工具。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题。决策表能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。

10.2.2  决策表的构成

决策表可分为四个部分:条件项、条件取值、动作项和动作取值(如图10-2所示)。其中条件项表示规格说明书中所有可能的输入,条件取值表示所有输入条件的所有一可能的取值,动作项表示规格说明书中所有可能的输出,动作取值表示在怎样的取值条件下会产生哪些相应的输出。

决策表的每一列对应一个测试用例。值得注意的有以下几点:

1)各条件项和动作项的排列次序不分先后。

2)所有测试用例的执行次序不分先后。

3)条件的取值若与等价类划分结合起来,则由此得到的决策表可保证输入域测试完备。

4动作项应进行细化,确保明确每个测试用例的输出。

5)动作项并非互斥,在同一组输入条件下,可以同时取得多个动作项的输出。

6)决策表的条件项一般仅涉及有效输入数据,但对应的动作项并非限于有效输出,即可以是对有效数据的处理,也可以是对无效数据的合理反馈。

 

10-2 决策表的组成

其中:动作项和条件项紧密相关,指出在条件项的各组取值情况下应采取的动作。

将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。

10.2.3  决策表的化简

通过化简,决策表可以识别出规格说明书中各输入条件之间、输入与输出之问的各种关系,从而达到降低测试用例规格,避免测试冗余的目的。化简的前提有两个。

1)输出相同。欲化简的两个测试用例的输出应完全相同。

2)输入相似。欲化简的两个测试用例的输入应相似,即仅有一个输入条件取值可以不相同,其余所有输入条件取值完全相同。化简的结果是使得某个输入条件的取值对测试用例的输出无影响,这也符合等价类中元素等价的概念。

化简决策表时应注意如下几点:

1)每次仅能针对一个输入条件进行合并化简。

2)可以通过每次对不同的输入条件进行合并化简,最终达到分层不断化简的目的,可大大缩减测试用例集合的规模。

3)每次合并化简并非限于两个测试用例之间,当输入与等价类划分结合起来的时候,若某个输入条件可划分为多个有效等价类(至少3个),且该输入条件的取值对系统输出无影响,那么这多个等价类对应的测试用例可同时进行合并化简,这样也可实现测试用例规模的迅速下降。