课程简介

课程简述

课程包括到目前为止所有可用的软件测试方法,每一种方法不仅介绍相应的理论和应用步骤,还配以实例和实践环节, 让学生亲身体验各种方法的使用。同时,尽量介绍目前已有的一些软件测试工具,软件测试研究动态等, 不论学生将来是在产业界从事软件测试工作,在教育界从事软件测试教育工作, 还是在学术界从事软件测试研究工作都可以从这门课程中得到一个很好的起点。

目标

通过此课程学习,系统地了解软件测试的理论,方法和技术,掌握软件测试的基本技能。

教材

软件测试的概念与方法, 第一版, 聂长海, 清华大学出版社

本书以软件测试方法的分类为线索,以软件测试的各种方法为内容,系统地介绍各种软件测试方法的概念、理论、特点和在工程实践中应用的例子,内容力求简洁、清楚。与已有的软件测试教材和相关书籍相比,本书的特色是以各种软件测试方法为中心,系统地介绍到目前为止,几乎所有的可以查到或见到的软件测试方法,是对目前已经出版的软件测试书籍的一个重要补充。

主要参考书

软件测试的艺术(原书第二版) 梅尔斯 (G.J. Myers) 著; 王峰, 陈杰译. 北京. 机械工业出版社. 2006.1

考核方式

平时出勤 (10%) + 大作业 (20%) + 期末闭卷考试 (70%)

教学内容

理论

  • 软件测试概论(概念、目标、原则、分类等),2学时
  • 常用黑盒测试方法(等价类、边际值、错误猜测、状态图、因果图等),2学时
  • 常用白盒测试方法(语句、分支、条件、路径、跳转、定义引用对覆盖等),2学时
  • 不同开发阶段的测试(单元、集成、系统、验收测试等),2学时
  • 针对不同开发方法和应用环境的测试方法(面向对象软件测试、面向方面软件测试、 面向服务软件测试、构件软件测试、嵌入式软件测试、Web 应用软件测试、 普适计算环境下的软件测试、云计算环境下的软件测试等),8学时
  • 针对不同特性和方面的测试方法(负载测试、压力测试、性能测试、安全性测试、 安装测试、可用性测试、稳定性测试、授权测试、用户接受性测试、一致性测试、 配置测试、文档测试、兼容性测试和 Playtest 等),4学时
  • 不同特殊的测试技术(组合测试、蜕变测试、变异测试、演化测试、 FUZZ 测试、基于性质的测试、基于故障的测试、基于模型的测试、基于操作剖面的测试、 基于用例和/或用户陈述开发测试用例、基于规格说明的测试、统计测试、逻辑测试、随机测试、 自适应随机测试、GUI 测试、冒烟测试和探索测试等),8学时
  • 实践及考核环节,利用各种方法进行软件测试实验,4学时

实践

利用软件测试的各种方法具体测试一个软件系统

课件下载