随着软件规模越来越大,复杂度越来越高,应用领域越来越广泛和深入,社会对软件产品的质量要求,尤其是可靠性、安全性等要求越来越高,软件产品的质量风险越来越大,重要软件,如果生产过程中没有严格的质量保证措施,不经过充分测试,就投入使用,可能造成恶性事故,导致难以挽回和无法估量的巨大损失,在这样的发展背景下,软件质量保证与测试越来越重要。
《软件质量保证与测试》是软件工程专业的一门核心课程。本课程主要讲授软件质量保证与测试的发展过程、基本概念、核心思想、基础知识、基本原理、主要方法、基本过程、常用技术和工具。
本课程要求学习者通过对软件质量保证与测试的重要性和意义、原则和局限性、静态测试和动态测试、黑盒测试和白盒测试、软件质量和模型、人工测试和自动化测试、测试过程和环节、测试组织和管理、软件评审等内容的学习和实践,掌握软件质量保证与测试的原理、方法和技术,掌握自动化测试工具和辅助工具软件的使用,具备软件测试需求分析能力,具备软件测试项目的计划和组织能力,具备软件测试分析和测试用例设计能力,具备软件测试的执行、记录、结果分析和评价能力。
为方便学习者学习、测验和交流互动,本课程配备了教学视频、PPT课件、课堂提问、测验题、讨论题等。为培养学生自学能力,本课程安排一部分拓展学习内容,要求学习者自行通过查阅资料、交流讨论等来进行学习。
网络教学部分的成绩按占总学时(总的理论是32学时)的比重来折算。
为保证网络教学的质量,网络教学阶段的考核环节包括:视频学习中的随堂提问、测试、作业、讨论。
其中:
1. 视频学习中的随堂提问不计分;
2. 单元测验占15%;
3. 单元作业占20%;
4. 视频完整学习及考勤占10%;
5. 参与网络学习、讨论占5%;
6. 以上成绩总和为平时成绩,期末考试占50%。
1. 程序设计(结构化程序设计、面向对象程序设计)
2. 软件工程过程
这些预备知识,学习者既可以通过先修课程《Java程序设计》、《软件工程》等来获得,也可以通过自学来获得。
具有编程经验的学习者能更好的理解课程的知识点,掌握相关的方法和技术。
说明:
A- 应掌握的知识点
B- 应理解的知识点
C- 应了解的知识点
第1章 绪论(2学时)
1.0 课程概述(C)
1.1软件质量保证与测试的产生与发展(C)
1.2软件缺陷(B)
1.3软件质量保证与测试的意义、原则和挑战(C)
第2章 软件测试策略(2学时)
2.1软件测试的模型、过程和生命周期(B)
2.2软件测试的方法和技术(B)
第3章 黑盒测试 (6学时)
3.1黑盒测试概述(C)
3.2等价类划分(A)
3.3边界值法(A)
3.4判定表驱动法(B)
3.5因果图法(C)
3.6场景法(B)
3.7正交试验法(C)
第4章 白盒测试 (6学时)
4.1白盒测试技术概述(C)
4.2程序静态测试(B)
4.3逻辑覆盖(A)
4.4基本路径覆盖(B)
4.5循环测试(C)
4.6程序变异测试(C)
4.7程序插桩和调试(C)
第5章 软件测试过程(6学时)
5.1单元测试(A)
5.2集成测试(B)
5.3系统测试(B)
5.4验收测试(C)
5.5回归测试(C)
第6章 面向对象测试(2学时)
6.1面向对象测试简介(C)
6.2面向对象测试的层次与数据流(B)
6.3 面向对象的单元测试、集成测试(B)
参考书目:
[1] 朱少民.软件测试(第二版).北京:人民邮电出版社,2016.Bill Hetzel,
[2] Glenford J.Myers,张晓明等译,《软件测试的艺术》第3版,机械工业出版社,2013
[4]秦航. 软件质量保证与测试(第2版), 清华大学出版社,2018年
[5] Graham,D.等,朱少民等译,《自动化测试最佳实践:来自全球的经典自动化测试案例解析》,机械工业出版社,2013
[6] Andrew Hunt,《单元测试之道java版——使用junit》,电子工业出版社,2005
[7] 郑人杰.软件测试(第1版).北京:人民邮电出版社,2011.
[8] 佟伟光等,软件测试技术,人民邮电出版社,2010
[9] 朱少民,《全程软件测试(第2版)》,电子工业出版社,2014
[10] 朱少民等,《软件测试方法和技术(第3版)》,清华大学出版社,2014
[11]王智钢 等.软件测试实验指导与习题.南京:南京大学出版社,2013.
[12]《The complete guide to software testing》,Qed Information Sciences, 1988
[13]Ron Patton 著 张小松,王钰,曹跃 等译. 软件测试. 北京:机械工业出版社,2014.
参考数字化资源:
中国大学慕课软件测试 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)《Java程序设计》(2)《软件工程》
4.本课程一般在教学计划中的第几学期开设?
答:本课程一般在教学计划中的第6学期开设。