内容简介
随着软件测试技术从简单的查错、排错,发展到贯穿软件开发的各个阶段,高级的测试方法和测试管理越来越重要,本书旨在全面系统地介绍软件测试技术。
《软件测试》作者由清华大学、南开大学计算机系、清华同方公司软件研究院的人员组成。作者总结了多年在软件工程、软件测试教学经验的基础上,系统回顾了测试发展与概念的定义,深入讲解了测试方法与测试过程,全面介绍了测试管理与主流测试工具。
《软件测试》可以作为计算机、软件工程、软件测试及相关专业的本科、硕士研究生教材,也可以作为测试工程师培训用书。
内页插图
目录
第1章 绪论
1.1 软件危机和软件生存期
1.2 软件测试的意义
1.3 什么是软件测试
1.4 应该怎样认识软件测试
1.5 软件测试发展的历史回顾
1.5.1 历史回顾
1.5.2 与软件测试相关课题的发展
习题
第2章 软件测试策略
2.1 测试的生命周期
2.2 测试步骤
2.2.1 单元测试
2.2.2 集成测试
2.2.3 确认测试
2.2.4 系统测试
2.3 静态方法与动态方法
2.4 黑盒测试与白盒测试
2.4.1 黑盒测试
2.4.2 白盒测试
2.4.3 黑盒测试与白盒测试的比较
2.5 回归测试方法
2.6 人工测试与自动测试
2.6.1 人工测试技术概述
2.6.2 软件审查
2.6.3 软件审查的作用
2.6.4 自动测试
习题
第3章 黑盒测试
3.1 等价类划分
3.1.1 方法简介
3.1.2 应用等价类划分方法进行测试用例设计的实例
3.2 因果图
3.3 正交实验设计法
3.3.1 提取功能说明,构造因子--状态表
3.3.2 加权筛选,生成因素分析表
3.3.3 利用正交表构造测试数据集
3.3.4 方法评价
3.4 边值分析
3.4.1 单变量边界值的选取
3.4.2 多个变量组合情况下边界值的选取
3.5 判定表驱动测试
3.5.1 什么是判定表
3.5.2 判定表在功能测试中的应用
3.6 功能测试
3.6.1 功能测试的系统化
3.6.2 模块功能的分解测试
习题
第4章 白盒测试
4.1 程序结构分析
4.1.1 控制流分析
4.1.2 数据流分析
4.1.3 信息流分析
4.2 逻辑覆盖
4.2.1 几种常用的逻辑覆盖测试方法
4.2.2 最少测试用例数计算
4.2.3 测试覆盖准则
4.3 域测试
4.4 符号测试
4.5 路径分析
4.5.1 程序路径表达式
4.5.2 程序中路径数的计算
4.5.3 程序路径的树表示及路径编码
4.5.4 测试路径枚举
4.5.5 路径测试系统
4.6 程序插装
4.6.1 方法简介
4.6.2 断言语句
4.7 程序变异
4.7.1 程序强变异
4.7.2 程序弱变异
习题
第5章 集成测试
5.1 集成测试的必要性
5.2 程序结构分析
5.3 集成的方法
5.3.1 一次性集成
5.3.2 自顶向下集成
5.3.3 自底向上集成
5.3.4 协作集成
5.3.5 基干集成
5.3.6 层次集成
5.3.7 客户/服务器集成
5.3.8 分布服务集成
5.3.9 高频集成
5.3.10 基于调用图集成
习题
第6章 系统测试
6.1 非功能测试
6.1.1 安装测试
6.1.2 兼容性测试
6.1.3 安全性测试
6.1.4 恢复测试
6.2 性能测试
6.2.1 负载测试
6.2.2 压力测试
6.2.3 容量测试
6.3 其他测试
6.3.1 α测试
6.3.2 β测试
6.3.3 文档测试
6.3.4 界面测试
习题
第7章 测试组织和管理
7.1 测试准备
7.1.1 测试需求分析和计划
7.1.2 测试环境搭建
7.1.3 测试用例
7.2 测试实施
7.2.1 测试用例执行
7.2.2 测试数据记录
7.2.3 测试沟通
7.2.4 测试用例验证
7.3 测试总结
7.3.1 测试数据整理
7.3.2 测试用例修订
7.3.3 用例库的维护
7.3.4 配置管理
7.4 缺陷管理
7.4.1 缺陷描述
7.4.2 测试缺陷追踪
7.4.3 缺陷统计分析
7.4.4 寻找薄弱环节
7.5 测试成熟度模型
7.6 测试度量
习题
第8章 测试工具
8.1 测试工具综述
8.1.1 白盒测试工具
8.1.2 黑盒测试工具
8.1.3 测试管理工具
8.1.4 其他测试工具
8.2 JUnit(白盒测试工具)
8.2.1 JUnit简介
8.2.2 JUnit测试过程
8.2.3 JUnit断言设置
8.2.4 JUnit测试用例
8.3 LoadRunner(黑盒测试工具)
8.3.1 创建Vuser脚本
8.3.2 定义方案场景
8.3.3 运行方案场景
8.3.4 分析负载结果
8.4 TestDirector(测试管理工具)
8.4.1 测试需求定义
8.4.2 测试计划
8.4.3 测试执行
8.4.4 缺陷跟踪
8.5 WAST(专用测试工具)
8.5.1 准备测试脚本
8.5.2 设置测试脚本
8.5.3 运行测试脚本
8.5.4 应用侧重点
8.6 Introscope(测试辅助工具)
8.6.1 Introscope工作模式
8.6.2 Introscope测试策略
8.6.3 Introscope测试过程
8.6.4 Introscope监控指标
8.7 开源测试工具解决方案
习题
第9章 软件评审
9.1 软件评审方法
9.1.1 软件评审方法概述
9.1.2 软件项目评审应用举例
9.1.3 软件评审的定义
9.1.4 相关国际标准及能力成熟度模型中对软件评审的要求
9.2 软件评审的作用
9.2.1 软件评审的意义
9.2.2 代码评审的成功实例
9.2.3 评审与其他验证方法的比较
9.3 软件评审的实施
9.3.1 正式评审
9.3.2 需求评审
9.3.3 设计评审
9.3.4 代码评审
9.4 如何做好软件评审
9.4.1 软件评审中经常出现的问题
9.4.2 做好软件评审工作的建议
9.4.3 一个软件需求规格说明书的评审用检查单
习题
第10章 软件质量与软件质量管理
10.1 软件质量问题的挑战
10.1.1 软件质量问题引发的系统事故屡见不鲜
10.1.2 软件质量事故问题分析
10.1.3 解决软件质量问题的途径
10.2 软件错误类型分析
10.3 程序中隐藏错误数量估计
10.3.1 撒播模型
10.3.2 回归模型
10.4 软件质量特性
10.5 与软件质量管理相关的若干过程
10.5.1 软件质量保证过程
10.5.2 软件验证过程
10.5.3 软件确认过程
10.5.4 软件评审过程
10.5.5 软件审核过程
10.5.6 软件问题解决过程
10.6 软件质量因素和质量特性
10.7 软件质量保证的任务
10.8 程序排错
10.8.1 排错工作概述
10.8.2 排错方法
10.8.3 排错策略
习题
第11章 测试可靠性与软件可靠性
11.1 测试可靠性理论
11.1.1 测试可靠性的奠基性理论
11.1.2 路径测试可靠性理论
11.1.3 暴露子域理论
11.1.4 测试的数学符号系统
11.2 软件可靠性概念
11.3 软件可靠性模型
11.4 软件可靠性在软件测试中的应用
11.5 近几年的发展状况
习题
第12章 程序正确性证明
12.1 程序正确性证明概述
12.2 以公理语义学为基础的正确性证明技术
12.2.1 程序规范
12.2.2 程序及其运行状态
12.2.3 程序正确性与部分正确性
12.2.4 公理正确性证明
12.2.5 FLOY D的归纳断言法
12.2.6 HOARE的公理方法
12.2.7 E. W. Dijkstra的最弱前置条件法
12.2.8 程序正确性证明技术存在的问题
12.3 程序综合
12.3.1 面向目标的程序推导
12.3.2 不变式推导技术
12.4 进一步研究的方向
习题
参考文献
前言/序言
软件测试 电子书 下载 mobi epub pdf txt