软件测试与质量保证 陆鑫
课程概述

《软件测试与质量保证》是软件工程专业一门重要的专业核心课程,该课程介绍软件质量工程的基本概念与理论,软件测试原理与方法、软件测试技术、软件测试规范和软件测试工具实践等内容。通过本课程学习,培养学生对软件质量工程的正确认识,掌握软件测试与质量保证的基本方法和核心技术,建立软件测试的工程实践能力。

考核要求

本课程考核评价环节组成:课程作业评价(占15%)、单元测试评价(占15%)、课程实验评价(占20%),期末考试评价(占 50%)。

预备知识

软件工程基础、JAVA程序设计 等先修课程基础

授课大纲

《软件测试与质量保证》课程教学大纲

课程英文名称:Software Test and Quality Assurance

课程代码 G2215230         48     3

课程类型:专业核心课程               

适用学科专业:软件工程

先修课程:软件工程基础、Java/C程序设计

  者:陆鑫   编写日期:20213 人:汤羽

 

一、课程简介(Course Introduction

《软件测试与质量保证》是软件工程专业一门重要的专业核心课程,该课程介绍软件质量工程的基本概念与理论,软件测试原理与方法、软件测试技术、软件测试规范和软件测试工具实践等内容。通过本课程学习,培养学生对软件质量工程的正确认识,掌握软件测试与质量保证的基本方法和核心技术,建立软件测试的工程实践能力。

The software testing and quality assurance is an important specialized core course in software engineering major. This course introduces the basic concepts and theories of software quality engineering, software testing principle, software testing specification and software testing tools practice content. Through the course study, the students have a correct understanding of software quality engineering, master the basic methods and key technologies of software testing and quality assurance, and establish the engineering practice ability of software testing.

二、课程目标(Course Objectives

通过本课程理论知识学习和课程实践训练,使学生掌握软件测试原理与方法、软件测试技术及其工具实践方法,以及软件工程质量保证方法。本课程承担培养学生具备基本的软件测试和软件质量保证专业能力。

Through the theoretical knowledge learning and practical training, students will grasp the principles and methods of software testing, software testing techniques and tools, as well as software engineering quality assurance methods. This course undertakes to train students to have the basic software testing and software quality assurance professional ability.

课程采用基于学习成果的工程教育模式(Outcomes Based EducationOBE)实施教学具体的课程目标、课程模块、培养要求之间的关系见表1所示。

1 课程目标、课程模块、专业培养要求之间关系

课程目标

(CO)

CO1:通过软件测试与质量保证理论知识学习,理解软件测试基本原理方法,具备基本的软件测试方法应用能力。

CO2:通过软件测试技术方法学习,建立基本的软件测试技术能力。

CO3通过软件测试规范学习,具备规范的软件测试设计方案能力

CO4:通过完成软件测试项目实践,培养撰写软件测试报告,清晰阐述复杂软件工程问题能力

CO5:通过应用主流软件测试工具搭建软件测试环境开展软件测试实践,建立软件测试实践能力

课程模块

(CM)

CM1:软件测试概述

    软件测试定义,软件测试与开发关系,软件测试与质量保证关系,软件缺陷、软件质量内涵、软件质量模型,软件测试分类,软件测试级别,软件测试计划,软件测试用例,专业测试人员职责、能力要求。

CM2: 软件测试方法

    错误推测方法,等价类方法,边界值方法,判定表方法,因果图方法,成队组合测试方法,正交试验方法,判定覆盖方法,条件覆盖方法,判定-条件覆盖方法,条件组合覆盖方法,基本路径覆盖方法,基于缺陷模式方法。

CM3:软件测试流程与规范

    传统软件测试过程、W模型、TMap Next模型,敏捷测试过程,测试过程改进,软件测试规范。

CM4:软件测试技术

    单元测试、集成测试、系统功能测试、性能测试、验收测试,软件测试工具及自动化。

CM5:软件质量保证

软件质量的度量;软件质量保证概述;软件质量保证的内容;软件质量保证的过程;软件质量保证中的评审和审查。

CM6:软件测试实践

JUnit软件单元测试;UFT软件系统功能测试;JMeter软件系统性能测试;软件测试报告。

培养目标

毕业要求指标点

课程目标

课程模块

PO3

 

GR10.1能够撰写报告和设计文稿,清晰阐述复杂软件工程问题

CO4

CM6

PO4

GR4.1 能够采用科学的方法对复杂工程问题中的关键环节,设计相应的实验方案,搭建实验环境,开展实验。

CO5

CM6

 

本课程目标达成度评价方式见表2所示。

2 课程目标达成度评价

课程

目标

考核方式

考核

标准

权重系数

考核模块

考试

考查

作业

实验

其他

CO1

 

 

 

 

百分制

0.2

CM1-CM5

CO2

 

 

 

 

百分制

0.2

CM4CM5

CO3

 

 

 

 

百分制

0.2

CM3CM4

CO4

 

 

 

 

百分制

0.1

CM6

CO5

 

 

 

 

百分制

0.3

CM6

达成度评价方式

CO1达成度

考试到达值/考试预期值

CO2达成度

考试到达值/考试预期值

CO3达成度

考试到达值/考试预期值

CO4达成度

实验报告到达值/实验报告预期值

CO5达成度

上机测评到达值/上机测评预期值

课程目标达成度

(CO1达成度)*0.2 + (CO2达成度)*0.2 + (CO3达成度)*0.2 + (CO4达成度)*0.1+ (CO5达成度)*0.3

 

本课程满足毕业要求指标点的达成度评价方式见表3所示。

3 毕业要求指标点达成度评价

指标点

*权重

 系数

考核方式

考核模块

考试

考查

作业

实验

其他

GR4.1

0.20

 

 

 

 

CM6

GR10.1

0.20

 

 

 

 

CM6

达成度

评价方式

GR4.1达成度

由课程目标CO5支撑与达成度计算:(CO5达成度)*1.0

GR10.1达成度

由课程目标CO4支撑与达成度计算:(CO4达成度)*1.0

 

三、课程内容安排和要求

(一)教学内容、要求及教学方法

本课程共48学时,课堂讲授32学时,上机实践16学时。课程采用工程教育模式实施教学,教学方法主要为“案例教学”、“研讨式教学”。课程内容由如下章节组成:

第一章 软件测试概论(CM1) 4学时

教学内容:软件测试的必要性;为什么要进行软件测试;什么是软件测试;软件测试和开发的关系;测试和质量保证的关系;测试驱动开发的思想。软件缺陷;软件测试的分类;静态测试和动态测试;主动测试与被动测试;软件测试计划与用例;专业测试人员的责任和要求。在讲解软件测试人员责任与要求时,加入课程思政元素,如软件测试人员应具有良好的社会责任、职业道德,所开发的软件系统应遵从国家法律、工程伦理,保护用户隐私数据。

重点: 软件测试概念,软件测试和开发的关系;测试和质量保证的关系

难点:软件测试计划与用例;专业测试人员的责任和要求

教学要求:了解典型的软件缺陷,软件测试学科的形成,测试驱动开发的基本概念和实施过程;质量的内涵,软件缺陷的相关术语,软件测试的分类标准。理解为什么要开展软件测试活动,软件测试正反两个方面的思路特点,软件测试的风险观点和经济观点的分析;软件质量特征 (ISO 9126)ISO 9126软件质量三层模型,软件缺陷的产生原因,专业测试人员的责任和要求。掌握软件测试的定义,通过V模型把握软件测试和开发的关系,软件测试和质量保证的关系;软件质量内涵,软件缺陷内涵,软件缺陷现象,软件缺陷构成,静态测试与动态测试,主动测试与被动测试,黑盒测试与白盒测试,软件测试的各个级别,软件测试计划与用例。

教学方法:以案例研讨教学为主,通过剖析典型软件缺陷案例所导致的严重后果,激发学生对软件测试重要性的关注与学习兴趣。纠正学生关于软件测试、软件质量保证概念的模糊认识,引导学生正确认识软件测试与质量保证概念。

 

第二章 软件测试方法CM2) 10学时

教学内容:基于直觉和经验的方法;基于输入域的方法;基于组合及其优化的方法;基于逻辑覆盖的方法;基于缺陷模式的测试;基于模型的测试。

重点: 基于输入域的方法;基于组合及其优化的方法;基于逻辑覆盖的方法

难点:基于缺陷模式的测试;基于模型的测试

教学要求:了解软件测试方法的分类,Ad-hoc测试方法和ALAC测试,模糊测试方法。理解错误推测法,Pair-wise方法,正交实验法,常见的缺陷模式。掌握等价类划分法,边界值分析法,判定表方法,因果图方法,判定覆盖,条件覆盖,判定-条件覆盖,条件组合覆盖,MCDC测试;基本路径覆盖,功能图法。培养学生建立软件测试方法的应用能力。

教学方法:采用案例探讨教学为主,每种测试方法都应通过分析典型实例,并辅之以课堂练习,引导学生对本章知识的学习,培养学生建立软件测试方法的应用能力。

 

第三章 软件测试流程与规范CM3) 4学时

教学内容:传统的软件测试过程;敏捷测试过程;软件测试学派;基于风险的测试策略;测试过程的改进;软件测试规范。

重点: 传统的软件测试过程;敏捷测试过程

难点:测试过程的改进;软件测试规范

教学要求:了解敏捷测试的特征,软件测试过程,软件测试规范。理解传统的软件测试流程,Tmap Next模型,敏捷测试流程,基于风险的测试策略。掌握W模型,基于脚本测试和探索式测试。培养学生建立基本的软件测试规范能力。

教学方法:采用研讨式教学方式,引导学生对相关知识的学习,通过布置课外研究报告的方式引导学生掌握相关知识和分析方法培养学生建立基本的软件测试规范能力。

 

第四章 单元测试与集成测试(CM4)  4学时

教学内容:单元测试的目标和任务;静态测试;动态测试;代码评审;分层单元测试;单元测试工具;系统集成的模式与方法。

重点: 单元测试的目标和任务;单元静态测试;单元动态测试;代码评审

难点:分层单元测试;单元测试工具;系统集成的模式与方法

教学要求:了解分层单元测试,开源的单元测试工具,商业的单元测试工具。理解为何要进行单元测试,代码评审中各项典型检查要点,集成测试模式,混合集成策略,持续集成。掌握单元测试的目标与要求,单元测试的任务,编码的标准与规范,代码评审的主要形式及其内容,驱动程序和桩程序,类测试,JUnit工具,代码静态检查工具,自底向上与自顶向下的集成方法。培养学生建立基本的单元测试与集成测试技术能力。

教学方法:采用案例研讨式教学方式,通过对实例的剖析加深学生对单元测试与集成测试重要性的认识;通过实例分析单元测试和集成测试的实施过程;通过讨论引导学生对代码评审和其他相关知识的学习,培养学生建立基本的单元测试与集成测试技术能力。

 

第五章 系统测试(CM4) 4学时

教学内容:系统级功能测试;回归测试;性能测试;安全性测试;容错性测试;可靠性测试。

重点: 系统级功能测试;回归测试;性能测试

难点:安全性测试;容错性测试;可靠性测试。

教学要求:了解AutoIT及其客户端测试工具,嵌入式测试工具。理解Web服务器的功能测试,Web功能测试工具,系统负载及其模式,JMeter及系统性能测试工具,Web安全性测试,安全性测试工具,数据库并发控制测试,硬件兼容性测试。掌握功能测试要求,回归测试目的,回归测试策略与方法,系统性能指标和测试类型,性能测试基本过程,性能测试结果分析,Web性能测试,压力测试,容量测试,安全性测试的范围与方法,容错性测试的要点,软件兼容性测试,数据共享兼容性测试,可靠性测试的方法。培养学生建立基本的软件测试技术能力。

教学方法:采用案例研讨式教学方式,通过实例的分析与讨论加深学生对系统测试方法的认识。注意对系统测试工具的使用的讲解,培养学生建立基本的软件测试技术能力。

 

第六章 验收测试(CM4) 2学时

教学内容:验收测试过程,产品规格说明书的验证用户界面和可用性测试,安装测试和可恢复性测试。

重点: 验收测试过程,产品规格说明书的验证用户界面和可用性测试

难点:安装测试和可恢复性测试。

教学要求:了解产品规格说明书的各种形式。理解文档的种类与测试方法,可恢复性测试。掌握验收测试的步骤、通过标准与注意事项,产品规格说明书的评审,产品规格说明书的验证,用户界面的7个要素,安装与卸载测试。培养学生建立基本的软件测试技术能力。

教学方法:采用案例研讨教学方式,通过实例的分析与讨论加深学生对验收测试方法的认识,培养学生建立基本的软件测试技术能力。

 

第七章 本地化测试(CM4)    2学时

教学内容:软件本地化概念;软件国际化概念;软件全球化概念;字符集问题;软件国际化标准;软件国际化测试内容;软件本地化测试过程;软件本地化测试内容。软件翻译验证;本地化测试的技术问题;本地化功能测试。

重点: 软件本地化概念;软件国际化概念;软件全球化概念;字符集问题;软件国际化标准;软件国际化测试内容

难点:软件本地化测试过程;软件本地化测试内容。软件翻译验证;本地化测试的技术问题;本地化功能测试。

教学要求:了解软件本地化测试内容;软件国际化测试内容;解决本地化测试的技术问题。理解软件本地化、国际化、全球化之间的关系;软件国际化标准;本地化的功能测试内容。掌握软件本地化测试方法,软件翻译验证,本地化功能测试,培养学生建立基本的软件测试技术能力。

教学方法:采用案例研讨教学方式,通过实例的分析与讨论加深学生对本地化测试认识以及掌握,培养学生建立基本的软件测试技术能力。

 

第八章 软件质量保证(CM5)    2学时

教学内容:软件质量的度量;软件质量保证概述;软件质量保证的内容;软件质量保证的过程;软件质量保证中的评审和审查。

重点: 软件质量的度量;软件质量保证概述;软件质量保证的内容

难点:软件质量保证的过程;软件质量保证中的评审和审查。

教学要求:了解软件质量保证内涵,与SQA计划直接相关的工作,软件质量保证过程,软件质量保证中的评审和审查的内容及实施中的要点。理解软件质量保证的目标,参与项目的阶段性评审和审计,对配置管理工作的检查和审计,跟踪问题的解决情况,收集新方法,提供过程改进的依据。掌握软件质量度量的特点,需求分析模型度量方法,设计模型度量方法,源代码度量方法,测试度量方法。培养学生建立基本的软件质量保证能力。

教学方法:采用案例研讨教学方法,以实例剖析典型的软件质量保证体系,由此加深学生对软件质量保证的基本概念及重要性的认识。

(二)自学内容和要求

针对典型软件测试工具,在教师对这些软件测试工具进行基本介绍后,要求学生对这些软件测试工具技术资料进行自学,主要包括JUnitUFTApache JMeter。了解这些测试软件工具的技术特点、软件操作方法、软件应用方法,能够运用这些软件测试工具进行系统测试。

(三)实践性教学环节和要求

本课程16个学时的实验教学(CM6),由如下三个实验组成:

实验一 软件单元测试实验(4学时),通过开源的JUnit单元测试工具学习与实践,让学生掌握软件单元测试的技术方法,培养基本的软件单元功能测试实践能力,并建立通过撰写测试用例设计方案及测试报告描述复杂软件工程问题能力

实验二 软件系统功能测试实验(6学时),通过UFT软件功能测试产品工具学习与实践,使学生掌握软件系统功能黑盒测试技术方法,培养基本的软件系统功能测试实践能力,并建立通过撰写测试用例设计方案及测试报告描述复杂软件工程问题能力

实验三 软件系统性能测试实验(6学时),通过开源的Apache JMeter性能测试工具学习与实践,使学生掌握软件系统的负载测试、压力测试等技术方法,培养系统性能测试实践能力,并建立通过撰写测试用例设计方案及测试报告描述复杂软件工程问题能力

四、课程考核评价方式

本课程考核评价环节组成:课程作业评价(占15%)、单元测试评价(占15%)、课程实验评价(占20%),期末考试评价(占 50%)。

课程作业考核评价依据学生完成课程作业的正确性、合理性、针对性、规范性情况给出成绩,学生缺勤可以在课程作业成绩中扣负分。课程作业评价内容针对本单元所属课程目标设计。评价标准见本课程作业评分细则。

单元测试评价依据学生回答本模块知识、能力问题的正确性给出评价成绩。单元测试评价内容针对本单元所属课程目标设计。评价标准见本课程单元测评评分细则。

实验评价依据由上机测评(占70%)和实验报告(占30%)给出实验成绩。主要依据学生上机实践测评内容正确性给出评价成绩,实验报告评价学生报告规范性。实验测评内容针对课程目标CO5设计。评价标准见本课程上机测评评分细则。实验报告内容针对课程目标CO4设计。评价标准见学院实验教学系统报告评分细则。

期末考试评价依据学生回答期末试题的正确性,给出期末成绩。期末考试内容针对课程目标CO1、CO2、CO3设计

五、建议教材及参考资料

(一)教材 

软件测试方法和技术(第3版),朱少民,清华大学出版社,2015.1

(二)参考资料

1.软件测试,Ron Patton著,张小松等译,机械工业出版社,2007年10月

2.Introduction to Software TestingP.Ammann,机械工业出版社,2010.10.

3.软件测试与质量保证——理论与实践,(加)Kshirasagar Naik,郁莲译,电子工业出版社,2013年1月

 

 

参考资料

(一)教材 

软件测试方法和技术(第3版),朱少民,清华大学出版社,2015.1

(二)参考资料

1.软件测试,Ron Patton著,张小松等译,机械工业出版社,2007年10月

2.Introduction to Software TestingP.Ammann,机械工业出版社,2010.10.

3.软件测试与质量保证——理论与实践,()Kshirasagar Naik,郁莲译,电子工业出版社,20131

开课信息
2024-2025-2学期
学生名单 自动生成
本次课程
已结束
开课:2025年02月24日 00:00:00
结束:2025年07月13日 00:00:00
课程信息
课程时长: 48
课程负载: 32课堂+16实验
内容类型: 视频,文档,随堂测试,讨论
课程分类: 工程技术
选课学生
学期学期类别选课人数
2024-2025-2学期 自动生成 54
2023-2024-2学期 自动生成 26
2022-2023-2学期 自动生成 172
2021-2022-2学期 自动生成 192
2020-2021-2学期 自动生成 207
信息中心

成都市高新区(西区)西源大道2006号

沙河校区:成都市建设北路二段四号

028-61831184

info.uestc.edu.cn

教育技术部

成都市高新区(西区)西源大道2006号

沙河校区:成都市建设北路二段四号

028-61831186

info.uestc.edu.cn