整整十年前——2000年,我们就全身心投入“软件测试”这一学科,但那时,“软件测试”还没有引起大家足够的关注,虽然今天“软件测试”这一领域已欣欣向荣,软件测试的培训很热,从业人员也是一个很大的数字,测试方面的图书也是琳琅满目,但是5年前,软件测试方面的图书很少,只有几本从国外翻译过来的。5年前,我们的《软件测试方法和技术》第1版和读者见面了,深受读者喜欢,多次印刷,还获得一些殊荣,例如第8届大学生图书节畅销图书一等奖、被选为“高等学校十一五国家级规划教材”。同时,也陆续收到读者的反馈,提出了不少宝贵的意见。
为了不辜负读者的厚望,我们认真吸取读者的反馈意见,参考更多的资料,历时一年多,对第1版内容做了大量修改。虽然保持了本书的整体结构,但对一些章节也做了调整。例如,将“白盒测试方法和黑盒测试方法” 的基本内容从原来(第1版)第5章、第14章移到现在的第3章;将测试策略、测试计划(第1版3.2和3.3节)内容移到最后第17章,从测试项目管理角度来全面介绍测试策略制定和测试计划,其中测试策略可以看作是测试计划过程中的重要工作之一。第2版还删除了一些和测试内容关系不够紧密的内容,例如“1.1 软件的含义”、“1.2 软件开发过程特性”、SQA和CMM相关内容、“9.1 应用服务器的分类和特征”、“16.1.2 软件度量的分工和过程”和“17.1.1 软件项目管理的共性”等,使本书更加专业,留出更大空间来介绍更多的软件测试知识和技术。所以,在第2版增加了比较多的内容,包括:
³ 正交试验法。
³ 形式化测试方法。
³ 基于模型的软件测试。
³ 扩展有限状态机方法。
³ 模糊测试方法。
³ 基于客户角度的Java测试。
³ 基于程序角度的Java测试。
³ 测试过程模型TMap。
³ 测试过程改进模型TMM/TPI/CTP/STEP。
³ 虚拟机技术。
³ 自动化部署。
³ 开源测试工具。
³ 嵌入式软件测试工具。
等,使之跟上软件技术的发展,更贴近软件测试领域的实际应用,同时,第2版在内容上更加完整,涵盖了实际测试工作上所需的各项技能。
第2版在第1、2、3、4章上做了很大改动,加上前面所述的修改,使本书在内容组织上更加自然、合理,从基本概念到方法,再从方法到技术,逐步推进,使软件测试这门课程学习到达最好的效果。第2版在测试工具应用上增加了份量,不仅提高了测试技术水平,而且涉及面更广,从单元测试、GUI功能测试到服务器的性能测试等各个方面,进行了更深入的讨论。在性能测试上,也比第1版有更详细的介绍.
第一篇 软件测试的原理与方法
第1章 引论
1.1 软件测试的必要性
1.2 为什么要进行软件测试
1.3 什么是软件测试
1.4 软件测试和软件开发的关系
1.5 测试驱动开发的思想
小结
思考题
第2章 软件测试的基本概念
2.1 软件缺陷
2.2 验证和确认
2.3 软件测试的分类
2.4 测试阶段
2.5 软件测试的工作范畴
小结
思考题
第3章 软件测试方法
3.1 白盒测试方法
3.2 黑盒测试方法
3.3 静态测试和动态测试
3.4 主动测试和被动测试
3.5 形式化测试方法
3.6 基于风险的测试
3.7 模糊测试方法
3.8 ALAC测试和随机测试方法
小结
思考题
第4章 软件测试依据和规范
4.1 测试过程模型
4.2 测试过程改进模型
4.3 软件测试标准和规范
4.4 软件测试管理和评判体系
小结
思考题
第二篇 软件测试的技术
第5章 单元测试
5.1 什么是单元测试
5.2 单元测试的目标和任务
5.3 静态测试
5.4 驱动程序和桩程序
5.5 调试与评估
5.6 单元测试的管理
5.7 单元测试工具
小结
思考题
第6章 集成测试和系统测试
6.1 系统集成的模式与方法
6.2 功能测试
6.3 回归测试
6.4 非功能性测试
小结
思考题
第7章 验收测试
7.1 验收测试过程
7.2 产品规格说明书的验证
7.3 用户界面和可用性测试
7.4 兼容性测试
7.5 安装测试和可恢复性测试
7.6 文档测试
小结
思考题
第8章面向对象软件的测试
8.1 概述
8.2 面向对象的单元测试
8.3 面向对象的集成测试
8.4 基于客户角度的Java测试
8.5 基于程序角度的Java测试
小结
思考题
第9章 基于应用服务器的测试
9.1 基于Web服务器应用的测试
9.2 基于数据库应用服务器的测试
9.3 基于Java EE应用服务器的测试
小结
思考题
第10章软件本地化测试
10.1 什么是软件本地化
10.2 翻译验证
10.3 本地化测试的技术问题
10.4 本地化的功能测试
小结
思考题
第11章 软件测试自动化
11.1 测试自动化的内涵
11.2 测试自动化实现的原理
11.3 测试自动化的实施
11.4 功能测试工具
11.5 性能测试工具
11.6 安全性测试工具
11.7 缺陷跟踪系统
11.8 管理工具
小结
思考题
第三篇 软件测试的实践
第12章 组建测试团队
12.1 测试团队的地位和责任
12.2 测试团队的构成
12.3 如何从零开始
12.4 测试团队的管理和发展
小结
思考题
第13章 部署测试环境
13.1 测试环境的重要性
13.2 测试环境要素
13.3 虚拟机的应用
13.4 建立测试实验室
13.5 如何建立项目的测试环境
13.6 自动部署测试环境
13.7 测试环境的维护和管理
小结
思考题
第14章 设计和维护测试用例
14.1 测试用例构成及其设计
14.2 测试用例的组织和跟踪
小结
思考题
第15章 报告所发现的缺陷
15.1 软件缺陷的描述
15.2 软件缺陷相关的信息
15.3 软件缺陷跟踪和分析
15.4 软件缺陷跟踪系统
小结
思考题
第16章 软件测试和质量分析报告
16.1 软件产品的质量度量
16.2 评估系统测试的覆盖程度
16.3 基于缺陷分析的产品质量评估
16.4 测试报告的具体内容
小结
思考题
第17章 软件测试项目管理
17.1 测试项目管理的特点
17.2 如何做好测试项目管理
17.3 软件测试项目的过程管理
17.4 测试项目的资源管理
17.5 测试项目的进度管理
17.6 测试项目的风险管理
17.7 软件测试文档的管理
小结
思考题
附录A 软件测试中英文术语及中文解释
附录B 测试计划中文解释模板
附录C 测试用例设计模板
附录D 软件缺陷模板
附录E 测试报告模板
附录F Java Code Inspection Checklist
参考文献
参考:
《软件测试方法和技术》电子课件下载
软件测试演义——中高级系列(序)