出版社:清华大学出版社
年代:2011
定价:36.0
本书详细地阐述了软件测试领域的基本理论、基本技术及专门测试领域的测试技术。
第1章 软件测试基础知识
1.1 软件测试的数学理论基础
1.1.1 集合论
1.1.2 函数
1.1.3 关系
1.1.4 命题逻辑
1.1.5 概率论
1.1.6 图论
1.2 软件测试的现状与发展
1.2.1 软件测试的现状
1.2.2 软件测试的发展趋势
1.3 软件测试和软件质量
1.3.1 什么是软件测试
1.3.2 什么是软件质量
1.3.3 软件测试和软件质量保证的区别
1.3.4 进行多少测试才终止
1.4 为什么需要软件测试
1.4.1 导致软件缺陷的原因
1.4.2 软件测试在软件开发、维护和使用中的角色
1.4.3 软件测试心理学
1.5 软件测试的目的
1.6 软件测试的原则
1.6.1 所有的软件测试都应追溯到用户需求
1.6.2 尽早地和不断地进行软件测试
1.6.3 不可能完全地测试
1.6.4 增量测试,由小到大
1.6.5 避免测试自己的程序
1.6.6 设计完善的测试用例
1.6.7 注意测试中的群集现象
1.6.8 确认缺陷的有效性
1.6.9 合理安排测试计划
1.6.10 进行回归测试
1.6.11 测试结果的统计和分析
1.6.12 及时更新测试
1.7 软件测试级别和模型
1.7.1 软件测试级别
1.7.2 软件测试生命周期
1.7.3 开发和测试模型
1.8 软件测试的类型
1.8.1 功能性测试
1.8.2 非功能性测试
1.8.3 软件结构性测试
1.8.4 变更相关的测试(再测试和回归测试)
1.9 基本的软件测试过程
练习
第2章 静态测试技术
2.1 静态测试技术概要
2.2 评审技术概述
2.2.1 评审的定义和类型
2.2.2 评审过程
2.2.3 责任和角色
2.3 代码检查
2.3.1 代码检查类型
2.3.2 代码检查内容
2.3.3 编码规范
2.3.4 代码缺陷检查表
2.4 正规技术评审
2.4.1 定义
2.4.2 技术评审的目的
2.4.3 评审小组成员
2.4.4 技术评审活动过程
2.4.5 技术评审注意事项
练习
第3章 动态测试技术
3.1 黑盒测试技术
3.1.1 边界值分析法
3.1.2 等价类测试法
3.1.3 错误推测法
3.1.4 因果图法
3.1.5 决策表测试法
3.1.6 Use Case法(场景法)
3.1.7 正交实验法
3.1.8 黑盒测试方法选择的策略
3.2 白盒测试技术
3.2.1 白盒测试概念
3.2.2 程序结构分析
3.2.3 逻辑覆盖测试法
3.2.4 程序插装
3.2.5 其他白盒测试方法简介
3.2.6 白盒测试方法选择的策略
练习
第4章 单元测试
4.1 单元测试概述
4.2 单元测试环境及过程
4.3 单元测试策略
4.4 单元测试的分析和用例设计
4.5 单元测试实例
练习
第5章 集成测试
5.1 集成测试概述
5.2 集成测试环境及过程
5.3 集成测试方法
5.4 集成测试的分析和用例设计
5.5 集成测试实例
练习
第6章 系统测试
6.1 系统测试概述
6.2 系统测试环境及过程
6.3 系统测试类型
6.4 系统测试的分析和用例设计
6.5 系统测试实例
练习
第7章 验收测试
7.1 验收测试概述
7.2 验收测试过程
7.3 验收测试实例
练习
第8章 面向对象软件测试
8.1 面向对象技术简介
8.1.1 面向对象的概念
8.1.2 面向对象的开发模式
8.1.3 统一建模语言
8.2 面向对象测试模型
8.3 面向对象的用例设计方法
8.3.1 基于缺陷的测试
8.3.2 OO类的随机测试
8.3.3 类层次的划分测试
8.3.4 类行为模型测试
8.4 面向对象测试的策略
8.4.1 面向对象分析的测试
8.4.2 面向对象设计的测试
8.4.3 面向对象编程的测试
8.4.4 面向对象的单元测试
8.4.5 面向对象的集成测试
8.4.6 面向对象的系统测试
练习
第9章 专用应用系统测试
9.1 GUI测试
9.1.1 GUI测试概述
9.1.2 GUI测试原则
9.1.3 GUI测试内容
9.1.4 GUI测试的设计及自动化
9.2 Web应用系统测试
9.2.1 Web系统基本组成
9.2.2 Web应用系统测试综述
9.2.3 Web应用系统测试的实施
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 嵌入式测试环境的创建与实施
9.4.4 嵌入式测试的工具
9.4.5 嵌入式测试应用——手机测试
9.5 负载压力测试
9.5.1 负载压力测试基础
9.5.2 负载压力测试的策略
9.5.3 负载压力测试的解决方案和实施
9.5.4 负载压力测试结果分析
9.5.5 系统性能调优
9.6 游戏测试
9.6.1 游戏测试的基本概念
9.6.2 游戏测试的主要内容
9.6.3 游戏测试的实施
练习
第10章 软件测试管理
10.1 测试计划的制定与估算
10.2 测试的组织
10.3 测试过程监控
10.4 测试文档
10.5 软件配置管理
10.6 测试与风险
10.7 缺陷管理
练习
第11章 软件测试工具
11.1 测试工具的类型
11.1.1 测试管理工具
11.1.2 静态测试工具
11.1.3 功能测试执行工具
11.1.4 覆盖工具(结构性测试工具)
11.1.5 性能和压力测试工具
11.1.6 其他工具
11.1.7 测试工具的选择
11.2 测试自动化与手工测试
11.2.1 手动测试的不足
11.2.2 自动测试的优点
11.2.3 自动测试的局限性
练习
第12章 开源测试工具应用
12.1 单元开源测试工具JUnit
12.1.1 JUnit简介
12.1.2 安装
12.1.3 使用
12.2 开源负载压力测试工具Jmeter
12.2.1 Jmeter的基本框架
12.2.2 常用测试范围
12.2.3 Web服务器测试
附录A 部分正交实验表
附录B 软件测试中英文术语对照表
参考文献
本书详细地阐述了软件测试领域的基本理论、基本技术及专门测试领域的测试技术。首先,从软件测试的数学基础入手,介绍了和软件测试相关的基础知识;然后全面深入地介绍了静态测试技术和动态测试技术;在了解这些基础技术的基础上,再从单元测试、集成测试、系统测试及验收测试4个层面分析了如何进行测试的计划、用例分析和设计等过程;由于面向对象的测试技术是随着面向对象技术的发展在原有测试技术基础上发展起来的,本书专列一章重点介绍面向对象的测试技术;本书还用较长的篇幅阐述了专用应用系统测试,主要包括GUI测试、Web系统测试、数据库测试、嵌入式系统测试、负载压力测试及游戏测试;最后,讨论了软件测试管理和软件测试自动化技术并介绍了两个开源测试工具的使用方法。附录中收录了正交试验法的部分正交试验表和软件测试中英文术语对照表。本书作为软件测试的理论、技术及应用参考书,不但突出基础知识和方法,而且阐述了一些高级的测试技术和方法,同时也注重测试技术的应用。作者在分析知识点的同时,均用实际的案例进行深入浅出的分析,使读者能更好地理解和掌握软件测试理论知识,并能很好地运用到实际测试工作中去。本书可以作为不同层次高等院校的计算机、软件工程等相关专业的本科生、研究生的教学用书,也可作为软件测试技术人员的参考书。