《软件测试与质量保证》教学大纲
课程名称:
| 软件测试与质量保证
|
|
|
课程编号:
| 408305
| 436019
|
|
适用专业:
| 计算机科学与技术
| 软件工程
|
|
课程类别:
| 软件开发方向
| 专业必修
|
|
课程学分:
| 3
|
|
|
总学时:
| 54
|
|
|
其中:理论学时
| 28
|
|
|
实验学时
| 26
|
|
|
先修课程:
| C语言程序设计、面向对象程序设计、软件工程
|
一、课程的性质、目的与任务
课程性质:本课程是为软件工程专业开设的必修课,也是计算机科学与技术软件开发方向课程。
课程教学目的: 软件测试工作要求学生具备软件测试基本理论、技术方法和项目测试实施及项目测试管理等职业能力,课程通过使学生学习测试基本理论与技术、主流的自动化测试工具、软件项目的测试实施及项目测试管理等内容,使学生能够设计测试用例、使用自动化工具完成完整的项目测试和项目测试管理,使学生能基本承担起软件测试的工作任务,具备软件测试岗位必备的职业能力,同时为学生获取软件测试工程师职业资格证书奠定基础。
任务:
1、 解软件测试的必要性和重要性。
2、 掌握功能性测试(黑盒测试)各方法,包括边界值测试、等价类测试和基于决策表的测试。
3、 掌握结构性测试(白盒测试)中的逻辑覆盖测试和基路径测试,了解数据流测试。
4、 掌握软件测试的层次,其中包括单元测试、集成测试和系统测试。
5、 了解性能测试的内容,并能运用常用的测试工具进行测试。
6、 掌握测试用例的编写方法,并能编写测试方案和测试报告。
7、 了解面向对象测试的层次,面向对象环境下的单元测试、集成测试和系统测试,了解图形用户界面测试。
二、课程教学基本要求及基本内容
第一章 软件测试基础
(一)基本教学内容
1.1 软件测试的背景、目的和作用
1.2 软件测试的相关概念
1.3 软件测试的分类和测试原则
1.4 测试用例的定义和标识
1.5 错误与缺陷定义和分类
1.6 测试案例
(二)基本要求
教学目的:理解软件测试的目的和作用、了解软件测试的相关概念、了解测试分类、
教学重点: 软件测试的目的和作用、 软件测试的原则、 软件测试的分类、测试用例的定义和测试用例的标识
教学难点:为什么不可能做到穷举测试
第二章 黑盒测试(功能性测试)
(一)基本教学内容
2.1 黑盒测试的概念、目标和方法
2.2 边界值分析、健壮性测试、最坏情况测试、特殊值测试和随机测试
2.3 等价类测试:等价类、弱一般等价类测试、强一般等价类测试、弱健壮等价类测试和强健壮等价类测试
2.4 判定表的概念、判定表的结构和基于判定表的测试
2.5 案例分析:运用边界值测试、等价类测试和基于判定表的测试方法进行测试设计。
(二)基本要求
教学目的:了解黑盒测试的概念、目标和方法,掌握使用边界值分析、等价类测试、判定表方法进行墨盒测试
教学重点:边界值测试,健壮性测试,最坏情况测试,用边界值分析方法设计测试用例。 等价类的概念与划分规则。各等价类测试方法的区别
教学难点:用判定表设计测试用例
第三章 白盒测试(结构性测试)
(一)基本教学内容
3.1 白盒测试的概念、目标和方法
3.2 逻辑覆盖测试:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖
3.3 基本路径测试方法:独立路径、圈复杂度
3.4 数据流测试
3.5 其他结构性测试方法,如基于程序片的测试、域测试、符号测试等
3.6 功能性测试和结构性测试的比较
3.7 测试的有效性、漏洞和冗余,测试停止的标准
(二)基本要求
教学目的:了解白盒测试的概念、目标和方法。掌握逻辑覆盖测试,了解基本路径测试方法和数据流测试
教学重点:逻辑覆盖测试中的判定覆盖、条件覆盖、判定/条件覆盖、路径覆盖, 基路径测试法, 结构性测试方法与功能性测试方法的比较
教学难点:条件组合覆盖、基于程序片的测试
第四章 测试模型与过程
(一)基本教学内容
4.1 软件测试过程与模型、测试层次的划分
4.2 单元测试的概念、测试的内容、测试的环境和测试策略
4.3 集成测试和单元测试的关系
4.4 集成测试概念、基于分解的集成、基于调用图的集成、基于路径的集成
4.5 系统测试的概念、测试内容和测试策略
4.6 Web系统的测试
4.7 C/S系统的测试
4.8 案例分析
(二)基本要求
教学目的:了解测试模型,掌握测试的基本过程
教学重点:测试层次的划分,单元测试的内容,集成测试中基于分解的集成,MM-路径,系统测试的内容和方法
教学难点:单元测试的内容,集成测试的集成策略
第五章 性能测试
(一)基本教学内容
5.1 性能测试概念、目标
5.2 主要性能指标(客户端、服务器上、网络)
5.3 性能测试的分类(负载测试、压力测试、并发测试、容量测试、可靠性测试等)
5.4、 性能测试方案(确定目标、环境设计、数据设计、场景设计、脚本准备)
5.5 常用的性能测试工具
(二)基本要求
教学目的:了解性能测试概念、目标、分类、主要性能指标,掌握常用的性能测试工具的使用
教学重点:负载测试,压力测试,并发测试
教学难点:性能测试数据的分析
第六章 面向对象的测试
(一)基本教学内容
6.1 面向对象测试的层次、面向对象的测试层次的划分
6.2以方法为单元的测试和以类为单元的测试
6.3 面向对象的集成测试(面向对象软件的MM—路径,事件驱动和消息驱动的Petri网)
6.4 面向对象的系统测试
6.5 图形用户界面(GUI)测试
教学目的:了解面向对象测试的层次、面向对象的测试层次的划分,理解以方法为单元的测试和以类为单元的测试、面向对象的集成测试和系统测试、GUI测试
教学重点: 面向对象测试层次的划分,面向对象软件的MM—路径,GUI测试
教学难点:面向对象的集成测试和系统测试、GUI测试
第七章 自动化测试
(一)基本教学内容
7.1 自动化测试定义、自动化测试使用领域、自动化测试的发展
7.2 自动化测试技术(代码分析技术、录制和回放技术、测试脚本技术、虚拟用户技术和测试管理技术)
7.3 介绍一些适用的自动化测试工具(如:Junit(单元测试工具)、AutoRunner(功能测试工具)、LoadRunner(性能测试工具))
7.4 自动化测试的组织与实施
(二)基本要求
教学目的:了解自动化测试定义、使用领域和发展,理解自动化测试技术,掌握常用自动化测试工具的使用
教学重点:自动化测试技术,功能测试工具和性能测试工具的使用
教学难点:自动化测试的组织与实施
三、课程各章节学时分配
章节
| 内容
| 理论学时
| 实验学时
|
计科
| 软工
| 计科
| 软工
|
1
| 软件测试基础
| 2
| 2
| 2
| 2
|
2
| 黑盒测试
| 6
| 6
| 6
| 6
|
3
| 白盒测试
| 6
| 6
| 4
| 4
|
4
| 测试模型与过程
| 4
| 4
| 2
| 2
|
5
| 性能测试
| 4
| 4
| 4
| 4
|
6
| 面向对象的测试
| 2
| 2
| 2
| 2
|
7
| 自动化测试
| 4
| 4
| 4
| 4
|
合计
| 28
| 28
| 26
| 26
|
四、本课程课外学习与修学指导
《软件测试与质量保证》课程是软件技术专业的核心课程,也为学生就业提供主要的技能支撑。该课程难度较大,且具有很强的实践性,所以要学好本课程,必须做到理论与实践紧密结合,才能达到较好的学习效果。要求学生多参阅相关书籍,多做练习,多上机实验。了解工程项目中软件测试的具体实施过程,将理论与实践紧密联系在一起。
五、本课程考核方式及成绩评定标准
考核方式:闭卷考试
成绩评定方法:本课程的考核是平时成绩、实验成绩和期终考试成绩相结合。具体比例为:上课出勤、作业占20%,实验占20%,期末考试成绩占60%。
其中期未考试总分100分,基础题占50%,中等难度题占40%,较难题占10%。考试题型主要有:选择题、填空题、简答题、计算题、算法题、分析题、综合应用题等。
六、教材及参考书
教材:江开耀,韩永国著.软件测试技术.西安电子科技大学出版社.2009
主要参考书:
[1] 朱少民,软件测试方法和技术,清华大学出版社,2006
[2] John Watkins著.贺红卫,杨芳等译.实用软件测试过程.机械工业出版社.2004
[3] Ron Patton著.张小松,王钰,曹跃等译.软件测试.机械工业出版社.2006年4月
[4] (美)Paul C.Jorgensen著韩柯杜旭涛译.软件测试.机械工业出版社,2003.7
大纲撰写人: 肖敏雷
大纲审阅人: 罗如为
教学副主任: 易叶青
编写日期:2012.6