图书前言

前〓〓言

随着软件规模和复杂程度的大幅度提升,如何保证软件产品质量的问题变得日益突出。软件测试是保证软件产品质量的重要手段,在整个软件生命周期中占有重要的地位。我国软件测试行业仍处于起步阶段,软件测试技术体系仍不够成熟,人才缺口较大。

软件测试是高等学校计算机、软件工程相关专业的主干课程。近年来,随着云计算、大数据、大模型等技术的不断发展,软件测试相关技术的发展日新月异。因此,软件测试的教学内容也需要进行同步更新。

作为培养软件工程人才的课程,软件测试的教学目的不仅是教会学生使用软件测试工具,更重要的是通过对软件测试基础理论和测试工具的学习,理解软件测试的基本知识和方法,了解测试自动化工具设计与实现的底层逻辑。软件测试课程的教学目标是学生在毕业后用到课堂中学习的软件测试方法,可以选择适合的测试工具,能够很快地掌握软件测试工具,甚至根据需要设计自动化测试工具、探索软件测试的新方法和新技巧。

本书注重基本理论与基本技能的教学,重点体现国家一流课程的竞赛和科研特色。

本书面向初、中级读者介绍了软件测试的基本理论和当前流行的一些软件测试技术,较为全面地涵盖了当前软件测试领域的专业知识,并反映了当前最新的软件测试理论、技术和工具。

本书主要内容包括3部分。第1部分软件测试理论涉及概念、流程、分类、策略和方法等; 软件测试方法和过程,黑盒测试方法涉及等价类、边界值、决策表、因果图、场景法、正交试验法、错误猜测法和规范导出法,白盒测试方法包括基本路径测试法和逻辑覆盖测试法,同时融合了科研元素的自动化测试工具设计,如插装、随机测试、蜕变测试和变异测试等。第2部分软件测试实际应用介绍软件测试自动化工具的使用,包括单元测试工具JUnit、性能测试工具JMeter等,还面向具体应用和学科竞赛讲解了Web测试和移动测试。第3部分软件测试实验与工具设置了6个实验,其中两个常规软件测试基础实验、两个自动化测试工具设计实验,以及两个自动化测试工具使用的实验。

本书课后习题的参考答案可登录清华大学出版社官网下载。

本书标*的内容为选学内容,读者可根据需要和能力选择性学习。

本书主要特色如下。

1. 内容全面系统,知识体系完整

本书涵盖了软件测试的多个方面,从基础概念到经典方法再到实际应用和实验,知识体系完整,可帮助读者全面了解软件测试的细节和方法。

2. 实践性强

本书在讲解理论的同时提供了大量实例,并介绍了JUnit、JMeter等多个常用软件测试工具,使读者能够更好地理解软件测试理论并应用于测试实践。本书设置的软件测试实验题目针对性强,既包含基础实验,也包括引领入门的科研实验。

3. 科研引领,提高课程高阶性

本书结合软件测试研究的新进展,加入科研内容和案例,如智能算法生成测试用例实例、变异测试等。本书深入探究前沿问题,引领学生科研入门。

本书在编写过程中得到多位领导、同事和同学的支持与帮助,尤其霍婷婷老师为本书提供了大量插图和部分实验文本; 高艳菁、韦蓓蓓和张畅航参与了部分校稿工作,在此表示衷心的感谢。我们也参阅了大量国内外的专著、教材、论文、报告及网络资料,在此对相关作者表示衷心的感谢。本书得到黑龙江省教育厅项目(面向工程教育认证的软件工程专业课程群构建研究与实践,SJGY20220607)和牡丹江师范学院教材专项项目资助。

由于编者水平有限,书中难免存在疏漏,敬请广大读者批评指正。

丁蕊

2024年6月