软件在现代计算机科学中发挥着越来越重要的作用,奠定了数字时代信息系统的核心基石。软件开发在国家的发展战略中占据重要地位,是国家的 “十四五” 信息化规划中的一个重要方面。
随着软件规模以及开发团队的扩张,软件质量变得愈加难以保障。软件测试是软件生命周期中一项非常重要的工作,对软件可靠性保证具有重要意义。软件质量问题不仅会使开发维护和用户使用的成本大幅增加,在一些关键应用(如核电站安全控制系统)中使用质量有问题的软件可能造成灾难性的后果。
作为软件工程的支撑学科,北京理工大学软件测试与质量保证课程面向经典软件与智能软件系统的设计测试知识体系,融合软件工程与项目管理等多学科知识,理论与实践相结合,全面提升学生的专业认知深度和广度,培养其良好的软件测试能力。本课程重点介绍软件测试的概念、原理、方法和工具;讲述软件测试出现的历史背景、软件测试的基本原理及其优缺点;完整讲授软件测试的各种分类体系以及每个分类体系下的各种测试方法;覆盖软件测试与质量保证的完整流程,确保课程的完整性。相比线上的软件测试类课程,本课程具有融合前沿AI测试、授课方法深入浅出、课程团队经验丰富。
本课程的特色之一在于将人工智能技术引入软件测试与质量保证,系统讲述了基于人工智能的软件测试方法(AI for Testing)以及面向智能软件的测试方法(Testing for AI)。基于前沿的研究理论和研究成果,分析了AI for Testing的技术背景与基本思路,介绍了一系列具体、生动、可操作的前沿技术;剖析了Testing for AI的必要性,揭示了AI软件的独特性,详细讲解了常见的面向AI的测试技术。
本课程的特色之二在课程讲授的方法,提出了“背景引导、原理优先、概念为本、方法落地”的授课方法。教学团队充分挖掘软件工程,尤其是软件测试的发展历史脉络,对每一个重要技术,详细解释其历史背景,明确引入该技术的历史原因和技术背景,讲解该技术背后的基本原理,进而引入相关的概念和方法。其授课方法层层铺垫、循序渐进、授抽象概念于精彩故事,以不变原理统领演化之技术,习得思想之精化,能以不变应万变。
本课程的第三个特色在于课程团队具有深厚的专业研究背景和授课经验。三位教师均师出北京大学,长期从事软件工程和软件测试领域的研究工作,在国际顶级学术会议和期刊发表论文近百篇,获得ACM 杰出论文奖、最佳研究论文奖、IET Premium Award等奖励,承担了软件测试相关的国家自然科学基金重点项目、国家重点研发项目等国家级科研项目。本教学团队在北京理工大学计算机学院讲授本课程近十年,好评如潮;近2年线上选课人数超过一万人,获五星好评。