随着软件规模越来越大,复杂度越来越高,应用领域越来越广泛和深入,社会对软件产品的质量要求,尤其是可靠性、安全性等要求越来越高,软件产品的质量风险越来越大,重要软件,如果生产过程中没有严格的质量保证措施,不经过充分测试,就投入使用,可能造成恶性事故,导致难以挽回和无法估量的巨大损失,在这样的发展背景下,软件质量保证与测试越来越重要。
《软件质量保证与测试》是软件工程专业的一门核心课程。本课程主要讲授软件质量保证与测试的发展过程、基本概念、核心思想、基础知识、基本原理、主要方法、基本过程、常用技术和工具。
本课程要求学习者通过对软件质量保证与测试的重要性和意义、原则和局限性、静态测试和动态测试、黑盒测试和白盒测试、软件质量和模型、人工测试和自动化测试、测试过程和环节、测试组织和管理、软件评审等内容的学习和实践,掌握软件质量保证与测试的原理、方法和技术,掌握自动化测试工具和辅助工具软件的使用,具备软件测试需求分析能力,具备软件测试项目的计划和组织能力,具备软件测试分析和测试用例设计能力,具备软件测试的执行、记录、结果分析和评价能力。
为方便学习者学习、测验和交流互动,本课程配备了教学视频、PPT课件、课堂提问、测验题、讨论题等。为培养学生自学能力,本课程安排一部分拓展学习内容,要求学习者自行通过查阅资料、交流讨论等来进行学习。
通过学习本课程,学习者应:
①掌握软件质量保证与测试的基础知识、基本理论和方法,并能用于解决复杂软件质量保证与测试工程问题。
②掌握软件测试分析方法,有能力对软件系统进行测试分析、验证和质量评价。
③掌握软件测试设计方法,能够设计测试方案及用例,能够进行功能模块的测试设计、测试开发和执行,记录测试结果,提交缺陷报告,编写测试总结。
④掌握软件质量保证与测试常用工具,并能选择使用恰当的技术、资源和工具,解决较为复杂的软件质量保证与测试实际工程问题。
⑤培养质量意识、工匠精神和社会责任。
⑥能达到ITSS软件测试职位系列2级能力标准。
第 1 章 绪论
1.1 软件质量保证与测试的产生与发展
1.2 软件缺陷、软件错误、软件故障
1.3 软件质量保证与测试的意义、原则和挑战
第1章单元测验
第1章作业
第 2 章 软件测试策略
2.1 软件测试的模型、过程和生命周期
2.2 软件测试的方法和技术
第2章单元测验
第2章作业
第 3 章 黑盒测试
3.1 黑盒测试概述
3.2 等价类划分测试
3.3 边界值测试
3.4 错误推测法
3.5 判定表驱动法
3.6 因果图法
3.7 场景法
3.8 正交实验法
第3章单元测验
第3章作业
第 4 章 白盒测试
4.1 白盒测试概述
4.2 静态白盒测试
4.3 逻辑覆盖
4.4 基本路径覆盖
4.5 循环测试
4.6 变异测试
4.7 符号测试
4.8 程序插桩和调试
第4章单元测验
第4章作业
第 5 章 软件测试过程
5.1 单元测试
5.2 集成测试
5.3 系统测试
5.4 验收测试
5.5 回归测试
第5章单元测验
第5章作业
第 6 章 面向对象测试
6.1面向对象测试
第6章单元测验
第6章作业
实验一
实验一
实验二
实验二
实验三
实验三
第 7 章 自动化测试
7.1 自动化测试概述
7.2 自动化黑盒测试
第7章单元测验
第7章作业
第 8 章 软件评审
8.1 软件评审概述
8.2 软件评审会议
第8章单元测验
第8章作业
第 9 章 软件质量与质量保证
9.1 软件错误及分类
9.2 程序中隐藏错误数量估计
9.3 软件质量
9.4 软件质量模型
9.5 软件质量管理
9.6 软件质量管理体系
第9章单元测验
第9章作业
第 10 章 软件测试组织和管理
10.1 人员和资源组织
10.2 过程和进度管理
10.3 文档、用例和缺陷管理
第10章单元测验
第10章作业
1. 程序设计(结构化程序设计、面向对象程序设计)
2. 软件工程过程
这些预备知识,学习者既可以通过先修课程《软件工程导论》、《Java面向对象程序设计》或者《Java程序设计》等来获得,也可以通过自学来获得。
具有编程经验的学习者能更好的理解课程的知识点,掌握相关的方法和技术。
参考书目:
[1] Bill Hetzel,《The complete guide to software testing》,Qed Information Sciences, 1988
[2] Glenford J.Myers,张晓明等译,《软件测试的艺术》第3版,机械工业出版社,2013
[4] Stephen Vance, 《优质代码:软件测试的原则、实践与模式》,人民邮电出版社,2015
[5] Graham,D.等,朱少民等译,《自动化测试最佳实践:来自全球的经典自动化测试案例解析》,机械工业出版社,2013
[6] Andrew Hunt,《单元测试之道java版——使用junit》,电子工业出版社,2005
[7] 郑人杰.软件测试(第1版).北京:人民邮电出版社,2011.
[8] 佟伟光等,软件测试技术,人民邮电出版社,2010
[9] 朱少民,《全程软件测试(第2版)》,电子工业出版社,2014
[10] 朱少民等,《软件测试方法和技术(第3版)》,清华大学出版社,2014
[11] 王智钢 等.软件测试实验指导与习题.南京:南京大学出版社,2013.
[12] 朱少民.软件测试(第二版).北京:人民邮电出版社,2016.
[13] Ron Patton 著 张小松,王钰,曹跃 等译. 软件测试. 北京:机械工业出版社,2014.
[14] 王兴亚 王智钢 赵源 陈振宇. 开发者测试. 北京:机械工业出版社,2019.
参考数字化资源:
中国大学慕课软件测试 https://www.icourse163.org/course/NJU-1001773008
中国大学慕课软件测试与质量 https://www.icourse163.org/course/HUST-1001907003
优课在线软件质量保证与测试在线课程 https://www.uooconline.com/course/1420294878
金陵科技学院软件质量保证与测试在线课程 https://mooc1.chaoxing.com/course/201139148.html
金陵科技学院软件质量保证与测试精品课程 https://it.jit.edu.cn/course/rjzlbzycs
慕测平台 https://www.mooctest.net/
软件测试网 https://www.51testing.com/html/
全国大学生软件测试大赛 https://www.mooctest.org/#/
1. 软件开发人员也需要学习软件质量保证与测试吗?
答:是的,软件质量保证与测试贯穿于整个软件过程,软件开发人员也需要参与相关工作,每一个软件开发人员都应对自己的工作承担质量责任,例如程序员应对自己开发的代码完成单元测试。
2.本课程主要面向的对象是谁?
答:(1)应用型本科院校软件工程、计算机及相关专业的学生;(2)软件开发、测试、项目管理、质量保证等从业人员;(3)准备参加计算机等级“软件测试”科目考试的学生;(4)准备参加“软件测试”岗位职业能力评测的在职人员。
3.本课程的先修课程有哪些?
答:本课程的先修课程有(1)《软件工程导论》 (2)《Java面向对象程序设计》或者《Java程序设计》
4.本课程一般在教学计划中的第几学期开设?
答:本课程一般在教学计划中的第4、第5或者第6学期开设。
5.本课程每个学期都在线同步开设吗?
答:是的,本课程每个学期都在线同步开设。