简介
马均飞、郑文强合著的《软件测试设计》针对软件测试人员在测试设
计过程中面临的各种问题,提出了“问题驱动的软件测试设计”方法。该
方法将软件测试设计技术、测试设计中面临的问题和项目测试实践经验紧
密结合,详细阐述了测试人员应该如何有效地开展软件测试设计活动。
测试人员在测试设计过程中经常面临各种问题和挑战,主要包括几乎
无穷的测试对象输入数据的组合、不同利益相关者对软件产品的不同质量
要求、非常有限的测试时间和测试资源,以及不全、模糊且经常变更的需
求规格说明等。问题驱动的软件测试设计方法从经典测试设计、基于质量
特性的测试设计、基于风险的测试设计和基于经验的测试设计4个方面,系
统地解决测试人员在测试设计过程中碰到的各种问题。
《软件测试设计》适用于测试工程师、测试经理和质量改进人员阅读
,也可以作为国际软件测试认证委员会(ISTQB)高级测试技术分析员和高
级测试分析员的培训参考教材。
目录
第1部分 经典测试设计
第1章 静态测试
1.1 评审
1.1.1 评审遵循的原则
1.1.2 选择合适的评审类?
1.1.3 案例分析:如何开展评审活动
1.1.4 影响评审成功的因素
1.2 静态分析
1.2.1 基于代码的分析
1.2.2 基于架构的分析
1.3 小结
第2章 基于结构的测试
2.1 语句测试
2.2 判定测试
2.3 条件测试
2.4 判定条件测试
2.5 条件决定测试
2.6 条件组合测试
2.7 线性代码序列和跳转测试
.2.8 路径测试
2.9 案例分析
2.9.1 实现各种测试覆盖
2.9.2 圈复杂度和路径测试
2.10 小结
第3章 基于规格说明的测试
3.1 等价类划分
3.1.1 识别等价类
3.1.2 创建测试用例
3.1.3 覆盖率准则
3.1.4 案例分析:lacp参数等价类测试
3.2 边界值分析
3.2.1 识别等价类
3.2.2 识别边界值
3.2.3 创建测试用例
3.2.4 覆盖率准则
3.2.5 案例分析:lacp参数边界值测试
3.3 决策表测试
3.3.1 确定条件桩和动作桩
3.3.2 初始决策表
3.3.3 优化决策表
3.3.4 创建测试用例
3.3.5 覆盖率准则
3.3.6 因果图和决策表
3.3.7 案例分析:atm取款的决策表测试
3.4 状态转换测试
3.4.1 状态转换图
3.4.2 测试用例
3.4.3 n-switch
3.4.4 覆盖率准则
3.4.5 案例分析:堆栈的状态转换测试
3.5 结对测试
3.5.1 基于正交矩阵的结对测试
3.5.2 allpairs
3.5.3 案例分析:用户认证系统的测试
3.6 分类树方法
3.6.1 简介
3.6.2 cte-xl
3.6.3 案例分析:测试编辑器的字体属性
3.7 用例/场景测试
3.7.1 用例的相关概念
3.7.2 用例规格说明
3.7.3 案例分析:atm取款的用例测试
3.8 动态分析
3.8.1 内存泄漏
3.8.2 野指针
3.8.3 性能分析
3.9 案例分析:综合应用测试技术
3.9.1 使用allpairs得到测试用例
3.9.2 基于分类树方法得到的测试用例
3.10 小结
第2部分 基于质量特性的测试设计
第4章 质量模型
4.1 mccall质量模型
4.1.1 软件质量框架
4.1.2 软件质量因素
4.1.3 软件质量标准
4.1.4 软件质量度量
4.2 boehm质量模型
4.2.1 软件质量特性树
4.2.2 代码质量度量
4.2.3 使用质量特性改进软件生命周期
4.3 dromey质量模型
4.3.1 质量模型框架
4.3.2 结构形式和产品属性
4.3.3 相互间的关系
4.4 iso/iec
4.4.1 质量模型
4.4.2 内部和外部质量
4.4.3 使用质量
4.4.4 软件质量度量
4.5 案例分析:质量模型在测试类型定义中的应用
4.5.1 获取测试类型
4.5.2 定义测试类型
4.5.3 测试类型改变了什么
4.6 案例分析:测试存储设备解决方案
4.6.1 方案介绍
4.6.2 存储设备解决方案的测试设计
4.7 小结
第5章 功能测试
5.1 适合性测试
5.1.1 案例分析:用户视频点播的适合性测试
5.1.2 案例分析:图书在线续借功能的适合性 测试
5.2 准确性测试
5.2.1 案例分析:网上购物系统中购物结算的 准确性测试
5.2.2 案例分析:计算器中的准确性测试
5.3 互操作性测试
5.3.1 案例分析:san卷控制器的互操作性测试
5.3.2 案例分析:gmail的互操作性测试
5.4 安全保密性测试
5.4.1 案例分析:pc安全性测试
5.4.2 案例分析:交换机安全性测试
5.5 辅助性测试
5.5.1 案例?析:命令行的辅助性测试
5.5.2 案例分析:网站的辅助性测试
5.6 小结
第6章 非功能测试
6.1 可靠性测试
6.1.1 可靠性测试介绍
6.1.2 软件可靠性工程测试
6.1.3 软件可靠性度量
6.2 易用性测试
6.2.1 易用性测试类型
6.2.2 易用性测试技术
6.3 效率测试
6.3.1 效率测试的主要类型
6.3.2 度量软件产品效率
?6.4 可维护性测试
6.4.1 维护活动的分类
6.4.2 提高软件的可维护性
6.5 可移植性测试
6.6 案例分析:dhcp的非功能测试
6.6.1 dhcp功能介绍
6.6.2 dhcp非功能测试设计
6.6.3 dhcp非功能测试用例概要
6.7 小结
第3部分 基于风险的测试设计
第7章 认识风险
7.1 基本概念
7.1.1 产品风险
7.1.2 项目风险
7.1.3 风险与?试
7.2 开展风险活动
7.2.1 风险识别
7.2.2 风险分析
7.2.3 风险应对
7.3 iso/iec
7.3.1 计划和实施风险管理
7.3.2 管理风险概要
7.3.3 执行风险分析
7.3.4 执行风险应对
7.3.5 执行风险监控
7.3.6 评估风险管理过程
7.4 小结
第8章 基于风险的测试设计
8.1 启发式分析方法
8.1.1 inside-out
8.1.2 outside-in
8.2 攻击
8.2.1 用户接口攻击
8.2.2 系统接口攻击
8.2.3 冲突测试
8.3 失效模式和影响分析
8.3.1 概述
8.3.2 应用领域
8.3.3 实现步骤
8.3.4 收益与成本
8.3.5 确定rpn
8.4 案例分析:综合实施基于风险的测试设计
8.4.1 了解测试对象
8.4.2 识别失效模式
?8.4.3 确定发生可能性
8.4.4 确定严重程度
8.4.5 确定检测难度
8.4.6 计算rpn
8.4.7 设计测试用例
8.5 小结
第9章 基于风险的测试管理
9.1 选择测试重点
9.2 选择合适的测试策略
9.2.1 测试策略
9.2.2 案例分析:风险管理在igmp功能中的应用
9.3 基于风险的测试实践
9.3.1 风险与测试过程的集成
9.3.2 尽早开展风险活动
9.3.3 风险活动的迭代
9.4 讨论:基于风险的测试
9.4.1 作用
9.4.2 优点
9.4.3 挑战
9.5 案例分析:通过风险监控测试过程
9.5.1 风险相关的度量
9.5.2 风险在测试过程监控中的应用
9.6 小结
第4部分 基于经验的测试设计
第10章 基于缺陷分类的测试
10.1 软件缺陷分类
10.1.1 异常分类
10.1.2 正交缺陷分类
10.1.3 其他分类
10.2 实施基于缺陷分类的测试
10.2.1 缺陷分类的作用
10.2.2 激发测试思想
10.2.3 创建缺陷分类
10.3 案例分析:缺陷分类在测试设计中的应用
10.3.1 获取功能基本信息
10.3.2 获取缺陷分类
10.3.3 评审和改进
10.3.4 测试用例设计和实现
10.4 小结
第11章 探索性测试
11.1 概述
11.1.1 测试的本?
11.1.2 脚本化测试的问题
11.1.3 探索性测试的引入
11.2 实施探索性测试
11.2.1 学习
11.2.2 设计
11.2.3 执行
11.2.4 结果分析
11.2.5 探索性测试人员
11.3 基于会话的测试管理
11.3.1 会话与会话管理
11.3.2 度量和估算
11.3.3 面临的挑战
11.4 案例分析:htsm
11.4.1 什么是htsm
11.4.2 应用htsm
11.5 小结
第12章 基于应用类型的测试
12.1 基于web的测试
12.1.1 web系统组成
12.1.2 客户端测试
12.1.3 服务器端测试
12.2 gui测试
12.2.1 gui的特点
12.2.2 rational functional tester
12.3 协议一致性测试
12.3.1 多种不同协议
12.3.2 ttcn在协议一致性测试中的应用
12.4 安全关键系统测试
12.4.1 安全关键系统
12.4.2 主要特征
12.4.3 测试安全关键系统的注意事项
12.5 综合系统测试
12.5.1 综合系统
12.5.2 主要特征
12.5.3 测试综合系统的注意事项
12.6 小结
参考文献
实例目录
第1章 静态测试
例1-1 “igmp系统需求规格说明”评审邀请信
例1-2 “igmp系统需求规格
说明”审查收集的数据
例1-3 c++编码?准命名规则(方法和函数命名)
第2章 基于结构的测试
例2-1 程序代码到控制流图的转换
第3章 基于规格说明的测试
例3-1 发放年终奖
例3-2 判断三角形类型
例3-3 某航空公司的订票系统
例3-4 测试某网站系统
第4章 质量模型
例4-1 不同软件的质量比较
例4-2 软件质量因素之间的联系
例4-3 对比型度量
例4-4 度量指标评估
例4-5 准确性内部度量
例4-6 安全保密性外部度量
例4-7 有效性使用度量
第6章 非功能测试
例6-1 某医院门诊信息管理系统的可靠性测试
例6-2 图书馆信息系统运行概况
例6-3 bridge模式和设置mac
老化时间的易用性测试
例6-4 bridge不同模式术语的不一致
例6-5 软件产品输入和输出的易理解性问题
例6-6 dhcp配置的易学性问题
例6-7 系统安装步骤过于复杂
? 例6-8 帮助信息不清晰
例6-9 cli命令格式不一致
例6-10 无法批量更改端口属性
例6-11 选择参数问题
例6-12 创建密码时的易用性验证
例6-13 ibm提供的维护活动(部分)
例6-14 系统需求规格说明的可维护性要求
例6-15 不同cpu架构的字节顺序
第7章 认识风险
例7-1 风险的可能性与风险的严重程度
例7-2 产品风险列表
例7-3 风险问卷调查法
例7-4 风险模板
第8章 基于风险的测试设计
例8-1 inside-out的模拟场景
例8-2 质量特性列表
例8-3 通用风险列表
例8-4 测试边界值
例8-5 打印机的冲突测试
第9章 基于风险的测试管理
例9-1 基于潜在风险列表选择测试重点
例9-2 基于优化的风险级别选择测试重点
例9-3 没有及时应对“采购igmp测试仪表”风险而导致的影响
第10章 基于缺陷分类的测试
例10-1 按发现的项目阶段分类缺陷
例10-2 按严重程度分类缺陷
例10-3 按优先级分类缺陷
例10-4 当“目标”为“需求/设计/代码”时对应的缺陷类型
例10-5 缺陷分类如何拓宽测试人员的测试思想
第11章 探索性测试
例11-1 不同的利益相关者对软件产品质量的理解不同
例11-2 环境驱动的测试
例11-3 脚本化测试与探索性测试
例11-4 探索性测试
例11-5 规格说明中的模糊问题
例11-6 规格说明中的可测试性问题
例11-7 何时应该根据失效设计测试用例
例11-8 如何通过失效设计测试用例
例11-9 结对测试
例11-10 测试用例执行结果判断准则
例11-11 测试章程
例11-12 测试章程相关的活动和非测试章程相关的活动
例11-13 针对光电转换模块sfp的测试会话报告
例11-14 根据平均会话数目估算测试工作量
第12章 基于应用类型的测试
例12-1 不同浏览器对同一web页面的解析
例12-2 selenium
例12-3 ibm? rational? ttcn suite
例12-4 企业级存储设备
例12-5 fda对软件开发活动的要求
例12-6 安全关键系统组件
例12-7 未来作战系统
第1章 静态测试
1.1 评审
1.1.1 评审遵循的原则
1.1.2 选择合适的评审类?
1.1.3 案例分析:如何开展评审活动
1.1.4 影响评审成功的因素
1.2 静态分析
1.2.1 基于代码的分析
1.2.2 基于架构的分析
1.3 小结
第2章 基于结构的测试
2.1 语句测试
2.2 判定测试
2.3 条件测试
2.4 判定条件测试
2.5 条件决定测试
2.6 条件组合测试
2.7 线性代码序列和跳转测试
.2.8 路径测试
2.9 案例分析
2.9.1 实现各种测试覆盖
2.9.2 圈复杂度和路径测试
2.10 小结
第3章 基于规格说明的测试
3.1 等价类划分
3.1.1 识别等价类
3.1.2 创建测试用例
3.1.3 覆盖率准则
3.1.4 案例分析:lacp参数等价类测试
3.2 边界值分析
3.2.1 识别等价类
3.2.2 识别边界值
3.2.3 创建测试用例
3.2.4 覆盖率准则
3.2.5 案例分析:lacp参数边界值测试
3.3 决策表测试
3.3.1 确定条件桩和动作桩
3.3.2 初始决策表
3.3.3 优化决策表
3.3.4 创建测试用例
3.3.5 覆盖率准则
3.3.6 因果图和决策表
3.3.7 案例分析:atm取款的决策表测试
3.4 状态转换测试
3.4.1 状态转换图
3.4.2 测试用例
3.4.3 n-switch
3.4.4 覆盖率准则
3.4.5 案例分析:堆栈的状态转换测试
3.5 结对测试
3.5.1 基于正交矩阵的结对测试
3.5.2 allpairs
3.5.3 案例分析:用户认证系统的测试
3.6 分类树方法
3.6.1 简介
3.6.2 cte-xl
3.6.3 案例分析:测试编辑器的字体属性
3.7 用例/场景测试
3.7.1 用例的相关概念
3.7.2 用例规格说明
3.7.3 案例分析:atm取款的用例测试
3.8 动态分析
3.8.1 内存泄漏
3.8.2 野指针
3.8.3 性能分析
3.9 案例分析:综合应用测试技术
3.9.1 使用allpairs得到测试用例
3.9.2 基于分类树方法得到的测试用例
3.10 小结
第2部分 基于质量特性的测试设计
第4章 质量模型
4.1 mccall质量模型
4.1.1 软件质量框架
4.1.2 软件质量因素
4.1.3 软件质量标准
4.1.4 软件质量度量
4.2 boehm质量模型
4.2.1 软件质量特性树
4.2.2 代码质量度量
4.2.3 使用质量特性改进软件生命周期
4.3 dromey质量模型
4.3.1 质量模型框架
4.3.2 结构形式和产品属性
4.3.3 相互间的关系
4.4 iso/iec
4.4.1 质量模型
4.4.2 内部和外部质量
4.4.3 使用质量
4.4.4 软件质量度量
4.5 案例分析:质量模型在测试类型定义中的应用
4.5.1 获取测试类型
4.5.2 定义测试类型
4.5.3 测试类型改变了什么
4.6 案例分析:测试存储设备解决方案
4.6.1 方案介绍
4.6.2 存储设备解决方案的测试设计
4.7 小结
第5章 功能测试
5.1 适合性测试
5.1.1 案例分析:用户视频点播的适合性测试
5.1.2 案例分析:图书在线续借功能的适合性 测试
5.2 准确性测试
5.2.1 案例分析:网上购物系统中购物结算的 准确性测试
5.2.2 案例分析:计算器中的准确性测试
5.3 互操作性测试
5.3.1 案例分析:san卷控制器的互操作性测试
5.3.2 案例分析:gmail的互操作性测试
5.4 安全保密性测试
5.4.1 案例分析:pc安全性测试
5.4.2 案例分析:交换机安全性测试
5.5 辅助性测试
5.5.1 案例?析:命令行的辅助性测试
5.5.2 案例分析:网站的辅助性测试
5.6 小结
第6章 非功能测试
6.1 可靠性测试
6.1.1 可靠性测试介绍
6.1.2 软件可靠性工程测试
6.1.3 软件可靠性度量
6.2 易用性测试
6.2.1 易用性测试类型
6.2.2 易用性测试技术
6.3 效率测试
6.3.1 效率测试的主要类型
6.3.2 度量软件产品效率
?6.4 可维护性测试
6.4.1 维护活动的分类
6.4.2 提高软件的可维护性
6.5 可移植性测试
6.6 案例分析:dhcp的非功能测试
6.6.1 dhcp功能介绍
6.6.2 dhcp非功能测试设计
6.6.3 dhcp非功能测试用例概要
6.7 小结
第3部分 基于风险的测试设计
第7章 认识风险
7.1 基本概念
7.1.1 产品风险
7.1.2 项目风险
7.1.3 风险与?试
7.2 开展风险活动
7.2.1 风险识别
7.2.2 风险分析
7.2.3 风险应对
7.3 iso/iec
7.3.1 计划和实施风险管理
7.3.2 管理风险概要
7.3.3 执行风险分析
7.3.4 执行风险应对
7.3.5 执行风险监控
7.3.6 评估风险管理过程
7.4 小结
第8章 基于风险的测试设计
8.1 启发式分析方法
8.1.1 inside-out
8.1.2 outside-in
8.2 攻击
8.2.1 用户接口攻击
8.2.2 系统接口攻击
8.2.3 冲突测试
8.3 失效模式和影响分析
8.3.1 概述
8.3.2 应用领域
8.3.3 实现步骤
8.3.4 收益与成本
8.3.5 确定rpn
8.4 案例分析:综合实施基于风险的测试设计
8.4.1 了解测试对象
8.4.2 识别失效模式
?8.4.3 确定发生可能性
8.4.4 确定严重程度
8.4.5 确定检测难度
8.4.6 计算rpn
8.4.7 设计测试用例
8.5 小结
第9章 基于风险的测试管理
9.1 选择测试重点
9.2 选择合适的测试策略
9.2.1 测试策略
9.2.2 案例分析:风险管理在igmp功能中的应用
9.3 基于风险的测试实践
9.3.1 风险与测试过程的集成
9.3.2 尽早开展风险活动
9.3.3 风险活动的迭代
9.4 讨论:基于风险的测试
9.4.1 作用
9.4.2 优点
9.4.3 挑战
9.5 案例分析:通过风险监控测试过程
9.5.1 风险相关的度量
9.5.2 风险在测试过程监控中的应用
9.6 小结
第4部分 基于经验的测试设计
第10章 基于缺陷分类的测试
10.1 软件缺陷分类
10.1.1 异常分类
10.1.2 正交缺陷分类
10.1.3 其他分类
10.2 实施基于缺陷分类的测试
10.2.1 缺陷分类的作用
10.2.2 激发测试思想
10.2.3 创建缺陷分类
10.3 案例分析:缺陷分类在测试设计中的应用
10.3.1 获取功能基本信息
10.3.2 获取缺陷分类
10.3.3 评审和改进
10.3.4 测试用例设计和实现
10.4 小结
第11章 探索性测试
11.1 概述
11.1.1 测试的本?
11.1.2 脚本化测试的问题
11.1.3 探索性测试的引入
11.2 实施探索性测试
11.2.1 学习
11.2.2 设计
11.2.3 执行
11.2.4 结果分析
11.2.5 探索性测试人员
11.3 基于会话的测试管理
11.3.1 会话与会话管理
11.3.2 度量和估算
11.3.3 面临的挑战
11.4 案例分析:htsm
11.4.1 什么是htsm
11.4.2 应用htsm
11.5 小结
第12章 基于应用类型的测试
12.1 基于web的测试
12.1.1 web系统组成
12.1.2 客户端测试
12.1.3 服务器端测试
12.2 gui测试
12.2.1 gui的特点
12.2.2 rational functional tester
12.3 协议一致性测试
12.3.1 多种不同协议
12.3.2 ttcn在协议一致性测试中的应用
12.4 安全关键系统测试
12.4.1 安全关键系统
12.4.2 主要特征
12.4.3 测试安全关键系统的注意事项
12.5 综合系统测试
12.5.1 综合系统
12.5.2 主要特征
12.5.3 测试综合系统的注意事项
12.6 小结
参考文献
实例目录
第1章 静态测试
例1-1 “igmp系统需求规格说明”评审邀请信
例1-2 “igmp系统需求规格
说明”审查收集的数据
例1-3 c++编码?准命名规则(方法和函数命名)
第2章 基于结构的测试
例2-1 程序代码到控制流图的转换
第3章 基于规格说明的测试
例3-1 发放年终奖
例3-2 判断三角形类型
例3-3 某航空公司的订票系统
例3-4 测试某网站系统
第4章 质量模型
例4-1 不同软件的质量比较
例4-2 软件质量因素之间的联系
例4-3 对比型度量
例4-4 度量指标评估
例4-5 准确性内部度量
例4-6 安全保密性外部度量
例4-7 有效性使用度量
第6章 非功能测试
例6-1 某医院门诊信息管理系统的可靠性测试
例6-2 图书馆信息系统运行概况
例6-3 bridge模式和设置mac
老化时间的易用性测试
例6-4 bridge不同模式术语的不一致
例6-5 软件产品输入和输出的易理解性问题
例6-6 dhcp配置的易学性问题
例6-7 系统安装步骤过于复杂
? 例6-8 帮助信息不清晰
例6-9 cli命令格式不一致
例6-10 无法批量更改端口属性
例6-11 选择参数问题
例6-12 创建密码时的易用性验证
例6-13 ibm提供的维护活动(部分)
例6-14 系统需求规格说明的可维护性要求
例6-15 不同cpu架构的字节顺序
第7章 认识风险
例7-1 风险的可能性与风险的严重程度
例7-2 产品风险列表
例7-3 风险问卷调查法
例7-4 风险模板
第8章 基于风险的测试设计
例8-1 inside-out的模拟场景
例8-2 质量特性列表
例8-3 通用风险列表
例8-4 测试边界值
例8-5 打印机的冲突测试
第9章 基于风险的测试管理
例9-1 基于潜在风险列表选择测试重点
例9-2 基于优化的风险级别选择测试重点
例9-3 没有及时应对“采购igmp测试仪表”风险而导致的影响
第10章 基于缺陷分类的测试
例10-1 按发现的项目阶段分类缺陷
例10-2 按严重程度分类缺陷
例10-3 按优先级分类缺陷
例10-4 当“目标”为“需求/设计/代码”时对应的缺陷类型
例10-5 缺陷分类如何拓宽测试人员的测试思想
第11章 探索性测试
例11-1 不同的利益相关者对软件产品质量的理解不同
例11-2 环境驱动的测试
例11-3 脚本化测试与探索性测试
例11-4 探索性测试
例11-5 规格说明中的模糊问题
例11-6 规格说明中的可测试性问题
例11-7 何时应该根据失效设计测试用例
例11-8 如何通过失效设计测试用例
例11-9 结对测试
例11-10 测试用例执行结果判断准则
例11-11 测试章程
例11-12 测试章程相关的活动和非测试章程相关的活动
例11-13 针对光电转换模块sfp的测试会话报告
例11-14 根据平均会话数目估算测试工作量
第12章 基于应用类型的测试
例12-1 不同浏览器对同一web页面的解析
例12-2 selenium
例12-3 ibm? rational? ttcn suite
例12-4 企业级存储设备
例12-5 fda对软件开发活动的要求
例12-6 安全关键系统组件
例12-7 未来作战系统
软件测试设计
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×