《软件测试方法和技术(第3版)》课程教学大纲
- 格式:doc
- 大小:137.50 KB
- 文档页数:7
《软件质量保证与测试》课程教学大纲
1. 课程概况
开课单位 软件学院 课程类型 学科基础课程和专业必修课程
课程名称 软件质量保证与测试 课程代码 1610362B
开课学期 第6学期 学时/学分 32/2.5
选课对象 软件工程专业本科生
先修课程 软件工程导论、软件架构设计、需求工程、软件构造
课程教材 朱少民. 软件测试方法和技术(第3版,国家十二五规划教材). 清华大学出版社,2014
课程简介:
本课程为软件工程专业开设的必修课,也是计算机科学与技术软件开发方向课程。
本课程与培养目标的关系是:软件测试工作要求学生具备软件测试基本理论、技术方法和项目测试实施及项目测试管理等职业能力,使学生能够设计测试用例、使用自动化工具完成完整的项目测试和项目测试管理,使学生能基本承担起软件测试的工作任务,具备软件测试岗位必备的职业能力,同时为学生获取软件测试工程师职业资格证书奠定基础。
课程主要讲述的内容为:测试基本理论与技术、主流的自动化测试工具、软件项目的测试实施及项目测试管理等内容。
课程目标(Course Objectives, CO) 对应的专业培养目标 (Learning Objectives, LO)
(CO1)掌握软件测试的基本概念和知识 (LO3)具备语言、交流、写作等基本的软件从业能力,拥有较好的沟通技巧和团队工作能力,通晓、遵守、认同现行的法律、道德和伦理。
(LO5) 受到良好的软件工程训练,具有较强的工程实践能力;熟悉软件工程相关工具,具备运用先进的工程化方法、技术和工具从事某一应用领域软件分析、设计、开发、维护等工作的能力。
(LO6) 对软件系统、计算机系统、信息系统乃至与计算机软件相关的社会系统具有系统级的认识能力,有较强的实践能力,具有一定的系统分析和软件设计的能力,初步具备面向领域需求的信息化系统设计和开发能力。 (CO2)掌握软件测试的方法、技术及其工具
(CO3)基于项目背景和用户需求,能够完成测试任务的分析、设计和执行
教学方式(Pedagogical
Methods,
PM) □√PM1.讲授法教学 16 学时 45 % □√PM2.研讨式学习 8 学时 25 %
□√PM3.案例教学 4 学时 15 % □PM4.网络教学 学时 %
□PM5.角色扮演教学 学时 % □√PM6.体验学习 4 学时 15 %
□PM7.服务学习 学时 % □PM8.自主学习 学时 0 %
评估方式(Evaluation
Methods,
EM) □√EM1.课堂测试 15% □EM 2.期中考试 %
□√EM5.实验分析报告 15% □EM3.期末考试 %
□√EM4.作业撰写 15% □√EM6.期末报告 35 %
□√EM7.课堂演讲 15% □EM8.论文撰述 %
□EM11.设计报告 % □√EM9.出勤率 5 %
□EM10.口试 %
2. 教学日历
课次 学时 课程目标 教 学 主 要 内 容 教学方式 评估方式
1 2 CO1 课程介绍、软件测试基本概念 PM1 EM9
2 2 CO1 软件质量、质量度量模型、测试与SQA关系 PM1 EM4
3 2 CO2 软件测试基本方法-基于需求的测试方法 PM2
PM6 EM4
4 2 CO3 软件测试基本方法-结构化测试方法 PM3 EM7
5 2 CO3 实验一 针对某个具体问题的验证进行测试用例设计 EM5
6 2 CO1 过程模型和标准 PM3 EM7
7 2 CO2 单元测试-代码评审 PM1 EM1
8 2 CO2 单元测试-JUnit PM3 EM7
9 2 CO3 实验二 JUnit安装和应用 EM5
10 2 CO2 持续集成测试 PM1PM6 EM8
11 2 CO3 实验三 搭建持续集成测试的环境 EM5
12 2 CO2 系统功能测试 PM1 EM4
13 2 CO2 国际化/本地化 PM1 EM4
14 2 CO2 系统测试 -性能测试 PM3
PM6 EM7
15 2 CO3 实验四 针对应用系统完成其基本的性能测试 EM5
16 2 CO2 系统测试 -安全性测试 PM3 EM7
17 2 CO2 验收测试 PM1 EM4
18 2 CO3 实验五 针对应用系统进行渗透性测试 EM5
19 2 CO2 自动化测试原理与工具 PM1
PM6 EM4
20 2 CO3 实验六 构建轻量级的自动化测试框架 EM7
21 2 CO2 测试用例设计与维护 PM1 EM8
22 2 CO2 缺陷报告与测试报告 PM1 EM4
23 2 CO3 课程期末答辩 PM2 EM6
总学时44 其中课内 32学时,实验12学时 上机0学时
4教学内容及要求
(I) 课程部分
第一单元(章) 引论
教学要求
了解软件测试的概念、软件测试的发展历史,理解为什么要进行软件测试、软件测试和软件开发的关系。
教学重点
软件测试的概念、软件测试和软件开发的关系
教学难点
从不同视角理解什么是软件测试。
第二单元(章) 软件测试的基本概念
教学要求
了解缺陷、质量、软件测试的分类、阶段和过程等概念,理解软件测试辩证的关系、质量保证与测试的区别、为什么测试越早越好等。
教学重点
软件缺陷(Bug)的含义,验证和确认、软件测试的分类,静态测试与动态测试、主动测试与被动测试、黑盒测试与白盒测试、测试级别:单元、集成、系统和验收、软件测试计划与用例、质量保证与测试的区别。
教学难点
软件测试分类、软件测试辩证的关系、质量保证与测试的区别。
第三单元(章)软件测试方法
教学要求
了解各种软件测试方法,理解软件测试方法的应用场景,掌握软件测试的各种具体方法,如等价类划分、边界值分析、判定表、因果图、两两组合方法、正交实验法、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、基本路径覆盖。
教学重点
基于直觉和经验的方法、基于输入域的方法、基于组合及其优化的技术、基于逻辑覆盖的方法、基于故障模式的测试方法。
教学难点
基于模型的测试方法、形式化方法。
第四单元(章)软件测试流程和规范
教学要求
了解软件测试流程和规范,理解传统的软件测试过程与敏捷测试过程的区别、软件测试学派的特点,掌握基于风险的测试策略。
教学重点
传统的软件测试过程、敏捷测试过程、基于风险的测试策略、测试过程改进、软件测试规范。
教学难点
基于风险的测试策略、测试过程改进。
第五单元(章)单元测试与集成测试
教学要求
了解单元测试与集成测试的相关知识,理解单元测试的重要性和不同形式的应用场景,掌握单元测试与集成测试的方法、工具等。
教学重点
代码评审、动态测试技术、单元测试的常用工具、持续集成测试环境搭建。
教学难点
动态测试技术、持续集成测试环境搭建。
第六单元(章) 软件系统测试
教学要求
了解系统的不同测试类型及其过程,理解不同类型的系统测试特点、回归测试策略,掌握不同类型的系统测试的方法和工具。
教学重点
功能测试与回归测试、性能测试、压力测试、容量测试、安全性测试、容错性测试、兼容性测试的方法和工具。
教学难点
性能测试、安全性测试、回归测试策略。
第七单元(章) 验收测试
教学要求
了解验收测试及其相关测试的过程,理解传统开发中验收测试和敏捷开发中验收测试的区别,掌握验收测试的方法。
教学重点
用户界面和易用性测试、可安装性和可恢复性测试。
教学难点
易用性测试、可恢复性测试
第八单元(章)软件本地化测试
教学要求
了解软件国际化(I18N)和本地化(L10N)的概念、过程,理解为什么要进行I18N、L10N测试,掌握I18N、L10N测试方法、工具等。
教学重点
软件国际化(I18N)和本地化(L10N)的测试方法和注意事项,包括对字符集、语言、时区、度量衡单位、文化等方面的验证。
教学难点
字符集、时区、文化等方面的验证。
第九单元(章) 软件自动化测试及其框架
教学要求
了解软件自动化测试及其框架等概念和相关知识,理解软件自动化测试实现的原理,掌握自动化测试工具的使用。
教学重点
流行测试工具的分类和应用,包括自动化测试框架、数据驱动脚本、关键字驱动脚本。
教学难点
自动化测试框架、关键字驱动脚本
第十单元(章) 测试需求分析与测试计划
教学要求
了解测试需求分析与测试计划的具体工作,理解测试需求分析与测试计划的重要性,掌握如何进行测试需求分析、如何制定测试计划的方法。
教学重点
测试目标和准则、测试需求分析、测试风险和测试策略、测试项目的估算与进度安排、测试计划的内容与编制。
教学难点
测试需求分析、测试风险和测试策略。
第十一单元(章) 测试用例设计
教学要求
了解测试用例设计的具体工作,理解测试用例的重要性,掌握测试用例设计的基本原则和书写格式等。
教学重点
测试用例设计书写标准、测试用例设计基本原则和考虑因素。
教学难点
测试用例设计基本原则。
第十二单元(章) 测试执行、缺陷报告与跟踪
教学要求
了解测试执行、缺陷报告与跟踪的具体工作,理解软件缺陷跟踪和分析的重要性,掌握测试执行、缺陷报告与跟踪等方法、工具和实践。
教学重点
软件测试执行与跟踪、软件缺陷生命周期、软件缺陷的描述、软件缺陷跟踪和分析、软件缺陷跟踪系统。
教学难点
软件测试执行与跟踪、软件缺陷生命周期。
第十三单元(章) 质量分析与软件测试报告
教学要求
了解质量分析与软件测试报告的具体工作,理解质量度量、测试覆盖率等内涵,掌握质量分析方法、工具。
教学重点
软件产品的质量度量、评估系统测试的覆盖程度、基于缺陷分析的产品质量评估、测试报告的具体内容。
教学难点
评估系统测试的覆盖程度、基于缺陷分析的产品质量评估。
(II)实验部分