软件测试

2023 秋季学期

Everything is ruled by program except program. Program is ruled by bugs.

软件测试是提高和保障软件质量的一种重要手段,是一项富有挑战和充满创造力的软件开发活动,同时也是任何软件从业者都必备的知识和技能。

本课程将对现代软件测试方法体系进行系统介绍,包括基本的白盒测试和黑盒测试方法、软件开发过程中的测试方法、软件不同特性和方面的测试方法、以及一批广受工业界和学术界关注的自动化和智能化软件测试方法。在这一过程中,我们将从为什么进行测试、对什么进行测试、什么时候进行测试、以及怎样进行测试等角度介绍软件测试的基本概念和方法,并深入探讨测试何时可以停止 (Test Adequacy Crietria & Test Input)软件行为是否正确 (Test Oracle) 等软件测试领域的关键问题和挑战。

不论将来是在工业界从事软件开发和测试工作,还是在学术界从事软件测试和软件质量研究,本门课程都可以作为一个很好的出发点。

📅 基本信息

  • 上课时间:周四 第3节 - 第4节 10:10 - 12:00
  • 上课地点:仙 Ⅱ-504
  • 任课教师吴化尧聂长海
  • 参考教材:软件测试的概念与方法,聂长海 编著,清华大学出版社

📋 目标和要求

As you can find bugs while they cannot, they should pay you.

我们希望学生能通过此课程学习,系统全面地了解软件现代测试的相关理论,方法和技术,并掌握软件测试的基本技能。在此基础上,能进一步灵活应用所学到的内容,具备在软件开发实践中「应用好一种测试方法」和「测试好一个软件」的基本能力。

基于此,本门课程的学习将主要包括以下四个方面:

  • 系统了解一套软件测试方法体系 (Listener)
  • 深入研究一种流行的软件测试方法 (Researcher)
  • 测试一个真实的软件系统 (Practitioner)
  • 对测试结果做一次精彩的汇报和展示 (Speaker)

📑 考核方式

  • 平时成绩:20% (随堂练习)
  • 测试实践:40% (额外加分)
  • 期末考试:40% (闭卷考试)