随着软件在各行各业的广泛使用,人们对软件质量提出了更高要求。然而,由于软件规模和软件复杂性的不断增加,软件的质量却不尽人意,软件产品在开发过程以及运维过程中存在严重的缺陷与不足。因此,软件质量保证及软件测试技术显得尤为重要,其广度和深度在很大程度上影响着软件产品的质量。
软件行业的发展日新月异,软件测试技术也在不断地发展和完善中,近年来涌现了大量的测试技术并在实际软件项目中得到广泛应用。课程结合教学团队多年的工作经验,注重理论与实践相结合,致力于为软件质量保证人员和测试人员提供系统化的理论知识,并培养其实践能力。课程主要介绍软件质量保证基础知识,软件测试基本流程;重点介绍多类主流软件测试技术,包括:黑盒测试技术、白盒测试技术、集成测试、系统测试、验收测试、面向对象的测试、变异测试、组合测试、模型测试等;最后,重点讲述自动化测试理论、软件测试工具及部分工具的应用。
与同类课程相比,本课程具有如下特色:
1)内容具有较高的广度和深度。既讲述基础的软件测试技术,又讲述具有一定难度的高级测试技术;
2)注重理论与实践相结合。在讲述完每种测试技术的理论知识以后,给出应用案例来说明它如何应用;
3)系统性和实用性强。课程给出的部分应用案例,在多个章节中都有出现,用于说明各种测试方法的优缺点,使学习者能够学以致用。
软件质量保证是软件工程专业的必修课,也和计算机专业及其它相近专业有密切关系。课程不仅适用于在校本科生及研究生,也可以作为软件测试人员、开发人员以及质量保证人员的工作参考。希望通过对本课程的学习,学习者能够系统地掌握软件质量保证及软件测试 的理论知识,能够培养起软件质量意识,开发出符合业界需要的高质量软件。
第1周 软件质量保证基础知识
1.1 软件缺陷基本概念
1.2 软件质量及保证
1.3 软件测试基本概念
1.4 软件测试原则与测试思想
第1周 单元测验
第1周 单元作业
第2周 软件测试流程
2.1 RUP测试流程
2.2 定义评估任务
2.3 测试与评估
2.4 完成验收任务
2.5 其它测试环节
第2周 单元测验
第2周 单元作业
第3周 单元测试(黑盒技术)
3.1 边界值分析技术
3.2 等价类测试技术
3.3 基于决策表的测试
3.4 黑盒单元测试技术小结
第3周 单元作业
第3周 单元测验
第4周 单元测试(白盒技术)
4.1 路径测试
4.2 基路径测试
4.3 数据流测试
4.4 白盒单元测试小结
第4周 单元测验
第4周 单元作业
第5周 集成测试
5.1 集成测试概述
5.2 集成测试策略
5.3 基于调用关系的集成
5.4 基于路径的集成
5.5 集成测试应用
第5周 单元测验
第5周 单元作业
第6周 系统测试
6.1 系统测试概述
6.2 基于用例的测试
6.3 基于风险的测试
6.4 性能测试与压力测试
6.5 可靠性测试
第6周 单元测验
第6周 单元作业
第7周 验收测试与面向对象测试
7.1 验收测试
7.2 面向对象测试
第7周 单元测验
第7周 单元作业
第8周 高级测试技术
8.1 变异测试
8.2 组合测试
8.3 基于模型的测试
第8周 单元测验
第8周 单元作业
第9周 自动化测试及工具
9.1 自动化测试概述
9.2 测试工具概述
9.3 JUnit
9.4 Web测试及Selinium应用
9.5 移动APP测试及Appium应用
第9周 单元测验
第9周 单元作业