前言 本书旨在让学生或软件从业人员根据书中理论与案例边学边练,既能掌握软件测试与质量保证的基本概念、常用方法和基本技术,又可以通过动手实践,掌握各类工具的使用方法,更能通过递进的实践案例和项目培养贯穿整个软件生命周期的测试和质量保证的思想,掌握整个软件生命周期的软件测试与质量保证方法,从而始终与行业实践保持高度一致。本书结构组织如下。 第1章结合软件、软件工程的特征,介绍软件测试的概念、意义以及软件测试与软件开发过程、软件质量保证的关系,重点强调软件测试、软件质量在软件生命周期中的重要性。 第2章介绍软件质量工程的相关概念和度量控制方法,包括软件质量的标准与模型、软件质量度量的方法和工具、软件质量控制与改进、软件配置管理、软件评审等,并通过实践案例介绍开展软件质量保证工作的过程。 第3章介绍软件测试的基本概念,包括软件缺陷、测试计划、测试用例、测试策略、测试方法、测试过程和规范,最后给出专业测试人员的责任和要求。 第4章围绕软件测试管理和软件缺陷概念展开,分别介绍软件测试管理的基本内容和软件缺陷管理的基本方法,并基于软件缺陷追踪管理工具Bugzilla介绍管理和跟踪软件缺陷过程、编写和管理缺陷报告。 第5章介绍黑盒测试,重点介绍黑盒测试常用方法,包括Adhoc测试方法、ALAC测试方法、等价类划分法、边界值分析法、判定表法、因果图法、基于组合优化的正交实验法、基于组合优化的Pairwise法,并通过实例,利用JUnit完整地介绍黑盒单元测试全过程。 第6章介绍白盒测试,重点介绍动态白盒测试的基于逻辑覆盖的测试方法和基于路径覆盖的测试方法,并通过JUnit完整地介绍白盒单元测试全过程。第7章介绍性能测试,包括性能测试的概念、指标、类型、流程、原则和方法,以及性能测试工具,并以JMeter性能测试工具为例,介绍在实践项目中进行性能测试的过程。 第8章借助自动柜员机模拟系统介绍整个测试过程,包括分析测试需求、制订测试计划、设计测试用例、部署测试环境、执行测试和跟踪软件缺陷,并形成完整的测试报告。 本书第1、4章由高静编写;第3、5、8章,附录A、B由张丽编写;第2章由陈俊杰编写;第6、7章,附录C由朝鲁蒙编写。本书在编写过程中,参阅了百度百科、知乎、CSDN博客、简书等网站,也吸取了国内外教材的精髓,对这些作者的贡献表示由衷的感谢。本书在编写过程中,得到多位同行专家的指导,同时得到清华大学出版社的大力支持,在此表示诚挚的感谢。 由于作者水平有限,书中难免有不妥和疏漏之处,恳请各位专家、同仁和读者不吝赐教和批评指正,并与笔者讨论。\软\件\测\试\与\质\量\保\证\/前言/ 作者2021年12月