本课程为普通高校师生(多层次)与社会学习者而开设。课程既为在校学生获得软件测试专业技能较高的‘入门’水平或继续深造奠基,也为软件测试从业者提升职业能力服务。
本课程定位于软件测试/软件开发工程师,为学习培养从事软件测试各项工作而应具备的专业技能而设立具体目标。
本课程涵盖软件测试基础理论、经典测试技术、各软件领域应用场景的测试策略及测试过程,以及测试工程的实践共五个部分。课程内容覆盖面广、层次多样、内涵丰富,并尽力体现‘与时俱进’。
本课程突出MOOC特点,依据软件测试内在联系与逻辑层次进行整体构建,并有机组合为知识点、知识链及相关的技能训练为单元课程或模块内容。课程资源具备‘独立、联系、颗粒’的特征,使学习者既能保持系统性的递进方式,又能采取自主灵活的选择性模式进行学习,‘量体裁衣,各取所需’。课程以期最大化地实现‘能学、好学、资源共享’的课程设计理念。
本课程教学策略及学习路径大体为:讲解阐述、分析引导、方法解析、技术实践及认知巩固5个步骤,阅文档、观视频、作习题、交流互动和测验考试均为保证学有所获的必要环节。
本课程本期安排17周(76学时,仅线上)。
第1单元 软件测试概述 (6学时)
1.1 软件测试定义演进
1.2 软件测试概要
1.3 软件测试基本测试策略与模式
1.4 软件测试的几个测试模型分析
1.5 软件生命周期与通用测试流程
第1单元 要点回顾与检查
第1单元 软件测试概述 作业 (互评)
第1单元 软件测试概述 单元测验
第2单元 软件测试经典技术 (14学时)
2.1 静态测试概要(含第2单元 导学)
2.2 静态测试 评审
2.3 静态测试-数据流分析
2.4 静态测试-控制流分析
2.5 软件复杂度度量及运用
2.6 基于结构的测试-逻辑覆盖测试
2.7 基于结构的测试-路径测试
2.8 基于规格说明的测试-等价类划分法
2.9 基于规格说明的测试-边界值分析
2.10 基于规格说明的测试-因果图与决策表法
2.11 基于规格说明的测试-配对测试法
2.12 基于规格说明的测试-分类树方法
2.13 基于规格说明的测试-状态转换测试法
2.14 基于规格说明的测试-用例/场景测试和动态分析
第2单元 经典测试技术 学习要点回顾 检查
第2单元 软件测试经典技术-作业
第2单元软件测试经典技术 单元测验
第3单元 软件测试策略与过程(1) 自动化 / Web / GUI / 移动APP 测试 (10学时)
3.1 自动化测试概要-基本问题及解决框架
3.2 软件应用类型测试-基于Web应用系统的测试
3.3 软件应用类型测试-基于GUI(图形用户界面)的测试
3.4 移动(设备)APP的测试
第3单元 要点回顾与检查
第3单元 软件测试策略与过程(1)自动化/ Web/GUI/ 移动APP 测试 单元测验
第4单元 软件测试策略与过程(2) 基于质量特性的测试(8学时)
4.1 基于软件质量特性的测试-软件质量体系
4.2 基于软件质量特性的测试-功能测试
4.3 基于软件质量特性的测试-非功能测试
第5单元 软件测试策略与过程(3)基于经验/基于风险/基于模型 测试(12学时)
5.1 基于经验的测试
5.2 基于风险的测试
5.3 基于模型的测试
第5单元 要点回顾与检查
软件测试策略与过程(3)基于经验/基于风险/基于模型测试 单元测验
第6单元 软件测试策略与过程(4)软件安全性测试 ( 6学时 )
6.1 基于质量特性的测试- 安全性测试
6.2 发掘安全漏洞的模糊测试
6.3 Web应用安全性测试实践-Web安全测试工具及应用
第6单元 要点回顾与检查
第7单元 软件测试管理 ( 6学时)
7.1 软件测试管理概要
7.2 软件测试管理 测试组织管理
7.3 软件测试管理- 测试计划管理
7.4 软件测试管理-测试过程管理
7.5 软件测试管理-测试缺陷管理
7.6 软件测试管理-测试配置管理
第7单元 要点回顾与检查
第8单元 软件测试工程实践 (14学时)
8.1 JUnit5 概述
8.2 JUnit5 命名规则及建议
8.3 JUnit5 常用注解
8.4 JUnit5 生命周期方法及测试实例生命周期
8.5 JUnit5 内置断言和假设
8.6 Math.sqrt 方法的单元测试实践
8.7 JUnit5 参数化测试
8.8 Math.sqrt 方法的参数化单元测试实践
8.9 JUnit5 标记过滤
8.10 使用模拟对象隔离单元测试的依赖-借助Mockito框架

