软件测试课程教与学(教学大纲)

2019年5月23日 338点热度 0人点赞 0条评论

课程概况


开课单位

软件学院

课程类型

学科基础课程和专业必修课程

课程名称

软件质量保证与测试

课程代码

1610362B

开课学期

6学期

学时/学分

32/2.5

选课对象

软件工程专业本科生

先修课程

软件工程导论、软件架构设计、需求工程、软件构造

课程教材

朱少民软件测试方法和技术(第3版,国家十二五规划教材)清华大学出版社

课程简介

本课程为软件工程专业开设的必修课,也是计算机科学与技术软件开发方向课程。

本课程与培养目标的关系是:软件测试工作要求学生具备软件测试基本理论、技术方法和项目测试实施及项目测试管理等职业能力,使学生能够设计测试用例、使用自动化工具完成完整的项目测试和项目测试管理,使学生能基本承担起软件测试的工作任务,具备软件测试岗位必备的职业能力,同时为学生获取软件测试工程师职业资格证书奠定基础。

课程主要讲述的内容为:测试基本理论与技术、主流的自动化测试工具、软件项目的测试实施及项目测试管理等内容。

课程目标(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.口试

%

教学安排

课次

学时

课程目标

教 学 主 要 内  容

教学方式

评估方式

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学时

教学日历表

课程类别

专业必修课

课程代码

 5204150

课 序 号

01

课程名称

软件质量保障与测试

学分

2.5

归属学院

信息学院

主讲教师

朱少民

授课章节

全部

联系电话

答疑时间与地点

17周周一到周五下午第二大节

总学时

学 时 分 配

授课班级

讲授

实验

上机

讨论课

2014计科123

48

32

16

课程建设

精品或重点课程

双  语

o国家级   o市级   o校级   o院级

¡   ●否

考核性质

●考试 ¡考查

考核形式

¡开卷    ¡闭卷    ¡论文   ●答辩

成绩评定

总成绩比  %

平时成绩比  %

期末

平时

出勤

作业

实验

实习

讨论

测验

其它

40

60

10

15

20

30

10

15

0

成绩评定和学习要求描述

以开卷、实验情况与小论文相结合。主要考核学生对软件质量保证与软件测试策略和方法的掌握,以及对测试技术的应用。成绩构成:最终理论考试、平时考核(包括作业、小测验、提问等)、实验环节考核成绩的总和。

教   材

名 称

软件测试方法与技术

编著者

朱少民

版 别

           清华大学出版社

版 次

2014 年6  月 第 3 版

性 状

●统编   ¡自编   ¡翻印

n近三年 n国省部优秀 n国家规划

周次

星期

学时

授课主要内容和形式

课后作业及阅读

1

1

2

课程介绍、引论

阅读《软件测试的艺术》

1

3

2

软件测试的基本概念:缺陷、质量、质量模型

教材第2章思考题23

2

1

2

软件测试基本方法-基于需求的测试方法

教材第3章思考题46

2

3

2

软件测试基本方法-结构化测试方法

3

1

2

上机练习:用例设计(第3章思考题358

3

3

2

软件测试流程、过程模型、标准规范

阅读ISO   29119文档

4

1

2

单元测试-面向对象的测试、代码评审

教材第5章思考题68

4

3

2

上机练习:JUnit 安装及其应用

阅读《有效的单元测试》

5

1

2

系统功能测试

阅读《全程软件测试》

5

3

2

上机练习:移动app功能测试

6

1

2

国际化/本地化测试

阅读教材

6

3

2

负载测试原理和性能测试

教材第5章思考题3

7

1

2

上机练习:Web 服务器性能测试

7

3

2

安全性测试

阅读OWASP材料

8

1

2

上机练习:安全性测试

8

3

2

验收测试

阅读《全程软件测试》

9

1

2

自动化测试原理与工具

阅读:自动化测试最佳实践

9

3

2

上机练习:Selenium + WebDriver

10

1

2

测试风险分析、测试估算、测试计划

教材第10章思考题2

10

3

2

测试用例设计与维护

教材第11章思考题1

11

1

2

测试执行、缺陷报告与缺陷跟踪

教材第13章思考题2

11

3

2

软件测试和质量分析报告

教材第14章思考题35

12

1

2

课程期末答辩

12

3

2

课程期末答辩

附注:1. 本表(电子版)于每学期开学预备周交学院,同时需上传EOL网络教学平台,供选课学生查看。

2. 填写时,可续页,可自行调整行高,但不要改变列宽及其它格式。

教学内容及要求

I) 课程部分

第一单元(章) 引论

教学要求

了解软件测试的概念、软件测试的发展历史,理解为什么要进行软件测试、软件测试和软件开发的关系。

教学重点

软件测试的概念、软件测试和软件开发的关系

教学难点

从不同视角理解什么是软件测试。

第二单元(章) 软件测试的基本概念

教学要求

了解缺陷、质量、软件测试的分类、阶段和过程等概念,理解软件测试辩证的关系、质量保证与测试的区别、为什么测试越早越好等。

教学重点

软件缺陷(Bug)的含义,验证和确认、软件测试的分类,静态测试与动态测试、主动测试与被动测试、黑盒测试与白盒测试、测试级别:单元、集成、系统和验收、软件测试计划与用例、质量保证与测试的区别。

教学难点

软件测试分类、软件测试辩证的关系、质量保证与测试的区别。

第三单元(章)软件测试方法

教学要求

了解各种软件测试方法,理解软件测试方法的应用场景,掌握软件测试的各种具体方法,如等价类划分、边界值分析、判定表、因果图、两两组合方法、正交实验法、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、基本路径覆盖。

教学重点

基于直觉和经验的方法、基于输入域的方法、基于组合及其优化的技术、基于逻辑覆盖的方法、基于故障模式的测试方法。

教学难点

基于模型的测试方法、形式化方法。

第四单元(章)软件测试流程和规范

教学要求

了解软件测试流程和规范,理解传统的软件测试过程与敏捷测试过程的区别、软件测试学派的特点,掌握基于风险的测试策略。

教学重点

传统的软件测试过程、敏捷测试过程、基于风险的测试策略、测试过程改进、软件测试规范。

教学难点

基于风险的测试策略、测试过程改进。

第五单元(章)单元测试与集成测试

教学要求

了解单元测试与集成测试的相关知识,理解单元测试的重要性和不同形式的应用场景,掌握单元测试与集成测试的方法、工具等。

教学重点

代码评审、动态测试技术、单元测试的常用工具、持续集成测试环境搭建。

教学难点

动态测试技术、持续集成测试环境搭建。


第六单元(章) 软件系统测试

教学要求

了解系统的不同测试类型及其过程,理解不同类型的系统测试特点、回归测试策略,掌握不同类型的系统测试的方法和工具。

教学重点

功能测试与回归测试、性能测试、压力测试、容量测试、安全性测试、容错性测试、兼容性测试的方法和工具。

教学难点

性能测试、安全性测试、回归测试策略。


第七单元(章) 验收测试

教学要求

了解验收测试及其相关测试的过程,理解传统开发中验收测试和敏捷开发中验收测试的区别,掌握验收测试的方法。

教学重点

用户界面和易用性测试、可安装性和可恢复性测试。

教学难点

易用性测试、可恢复性测试


第八单元(章)软件本地化测试

教学要求

了解软件国际化(I18N)和本地化(L10N)的概念、过程,理解为什么要进行I18NL10N测试,掌握I18NL10N测试方法、工具等。

教学重点

软件国际化(I18N)和本地化(L10N)的测试方法和注意事项,包括对字符集、语言、时区、度量衡单位、文化等方面的验证。

教学难点

字符集、时区、文化等方面的验证。


第九单元(章) 软件自动化测试及其框架

教学要求

了解软件自动化测试及其框架等概念和相关知识,理解软件自动化测试实现的原理,掌握自动化测试工具的使用。

教学重点

流行测试工具的分类和应用,包括自动化测试框架、数据驱动脚本、关键字驱动脚本。

教学难点

自动化测试框架、关键字驱动脚本


第十单元(章)测试需求分析与测试计划

教学要求

了解测试需求分析与测试计划的具体工作,理解测试需求分析与测试计划的重要性,掌握如何进行测试需求分析、如何制定测试计划的方法。

教学重点

测试目标和准则、测试需求分析、测试风险和测试策略、测试项目的估算与进度安排、测试计划的内容与编制。

教学难点

测试需求分析、测试风险和测试策略。


第十一单元(章) 测试用例设计

教学要求

了解测试用例设计的具体工作,理解测试用例的重要性,掌握测试用例设计的基本原则和书写格式等。

教学重点

测试用例设计书写标准、测试用例设计基本原则和考虑因素。

教学难点

测试用例设计基本原则。


第十二单元(章) 测试执行、缺陷报告与跟踪

教学要求

了解测试执行、缺陷报告与跟踪的具体工作,理解软件缺陷跟踪和分析的重要性,掌握测试执行、缺陷报告与跟踪等方法、工具和实践。

教学重点

软件测试执行与跟踪、软件缺陷生命周期、软件缺陷的描述、软件缺陷跟踪和分析、软件缺陷跟踪系统。

教学难点

软件测试执行与跟踪、软件缺陷生命周期。


第十三单元(章) 质量分析与软件测试报告

教学要求

了解质量分析与软件测试报告的具体工作,理解质量度量、测试覆盖率等内涵,掌握质量分析方法、工具。 

教学重点

软件产品的质量度量、评估系统测试的覆盖程度、基于缺陷分析的产品质量评估、测试报告的具体内容。

教学难点

评估系统测试的覆盖程度、基于缺陷分析的产品质量评估。


II)实验部分


一、实验项目与内容提要

学时

实验项目

实 验 主 要 内 容

实验类别

2

实验一  针对某个具体问题的验证进行测试用例设计

1.       加深对测试概念的理解

2.       运用基本的测试方法来设计测试用例

3.       验证测试用例的合理性和正确性

验证、设计性

2

实验二   JUnit安装和应用

1.       熟悉单元测试的工具

2.       运用JUnit在代码层完成测试

3.       检验测试代码的有效性

验证、设计性

2

实验三  搭建持续集成测试的环境

1.       综合运用版本构建工具、配置管理工具、静态测试工具

2.       构建完整的持续集成环境

验证、设计性

2

实验四  针对应用系统完成其基本的性能测试

1.  设计性能测试场景,包括负载模式

2.   开发性能测试脚本

3.   运用性能测试工具

4.   对测试结果进行分析

验证、设计性

2

实验五  针对应用系统进行渗透性测试

1.      了解网络应用软件安全性漏洞

2.      掌握安全性测试工具

3.      验证和评估系统的安全性

验证、设计性

2

实验六  构建轻量级的自动化测试框架

理解自动化测试框架的构成

测试工具开发能力训练

验证、设计性


二、实验的主要仪器设备

本实验课程主要使用的自动化测试工具,主要是开源的单元测试、功能测试、性能测试、安全性测试工具。


三、实验指导书具体要求

目标:使学生加深所学理论知识的理解,掌握常用的软件测试设计方法、自动化脚本开发技术;提高学生解决实际问题的能力。

要求:

1)以实验内容为核心,讲述实验内容和实验方法;

2)安排预习内容及思考题,增强学生独立思考和解决问题的能力;

3)采用典型案例和学生自己软件工程项目相结合的方式,保证学生在对基本方法消化吸收的基础上,提高学生的实践操作能力;

4)每个实验后都有针对实验的相关思考题。


四、实验报告内容及要求

实验报告内容含三个部分:


1、预习部分:

1)明确实验的目的;

2)明确实验的具体任务;

3)了解实验要操作和使用的测试工具,阅读工具的相关文档(如用户指导手册);

4)预习和实验相关的理论知识,在测试计算机上安装好工具。


2、实验中操作部分:

1)设计测试用例、开发自动化测试脚本,并执行用例或脚本;

2)记录测试结果,对结果进行分析;

3)如果发现缺陷,按缺陷格式记录所发现的缺陷。


3、实验后:

1)提交完整的测试报告;

2)回答实验指导书中的相关思考题;

实验报告的要求:

1)数据必须客观、准确。

2)能够描述或记录完整测试过程,包括测试环境、所做的测试、不能执行的测试。

 

实践(大作业)要求

一、每个小组选定一个应用各组所选定的应用不能相同,选定的应用应事先(某个时间前)报告给老师,获得老师的肯定。

(1)可以是C/S 架构,也可以是B/S架构,但必须包含两部分客户端(web/Windows/Mac)和服务器

(2)应用不能过于简单,测试可以选其中一个模块或组件

 

二、基于这个应用,完成下列测试

(1)单元测试:针对JavaC++的代码进行单元测试,代码量在千行数量级,工具采用JUnitCppUnit, 提交测试类代码和测试结果(Log)等。

(2)功能测试:针对Windows客户端或Web客户端,功能测试工具:Selenium  AutoIT

要求:

  • 设计20个以上的测试用例;

  • 采用两种及其以上的方法(等价类、边界值、决策表等)来设计测试用例;

  • 开发相应的测试脚本,包括修改、调试脚本的关键记录;

  • 执行测试用例,发现若干个缺陷。

 

(3)性能测试:针对Web服务器、数据库服务器或应用服务器,进行测试。

性能测试工具:JMeter  LoadRunner

要求:

  • 说明如何选定关键业务

  • 设计合适的负载模式,包括负载大小、加载方式等

  • 参数设计,如Thinking time , 通过testaction threadpause  constanttimer两种方法实现;

  • 测试2种及2种以上的协议(FTP/HTTP/JDBC/LDAP,其中HTTP是必选项;

  • 使用HTTP Cookie 管理器、HTTP授权管理器等;

  • 需要验证某些必要的结果,使用两种以上的Assertion(断言)。

  • 对测试结果(表格和图形)进行分析

 

三、需提交的内容

  • 功能测试用例及其脚本:文档类型为WordExcel,以及脚本程序文件

  • 性能测试方案设计和结果分析:Word 文档

  • 缺陷报告:Excel 文档

  • 总的测试报告:Word 文档

  • 总结陈述报告:PPT文件包括对上面3项内容的总结,以及每个成员的贡献。

 

四、内容提交的截止时间

  某日过期算自动放弃,这部分(30%)得分为零.

 

五、答辩时间:

  某日    ( 答辩可作为考试)

课程教材

图片

十二五”普通高等教育本科国家级规划教材、教育部高等学校软件工程专业教学指导委员会规划教材。提供PPT课件,教学大纲。

作者:朱少民

定价:44.50元

ISBN:9787302370314

本书共分为三篇: 软件测试的原理与方法、技术和实践。本书首先系统地介绍软件测试相关概念,从不同的视角来探讨软件测试的本质及其内涵; 全面而又系统地讲解了软件测试所需的基本方法,按照SWEBOK 3.0对方法进行了重新分类和组织,能够满足不同应用系统的测试需求; 并且简要地介绍了软件测试规范、软件测试过程及其改进等内容,有利于读者提纲挈领地掌握软件测试的知识全貌。

本书的第2篇介绍了软件测试各个层次(单元测试、集成测试、系统测试和验收测试)的测试技术及其工具,系统、务实而有效,和业界的实践保持高度一致,学以致用; 而且还介绍了软件国际化和本地化的测试、软件测试自动化的原理和框架,可使读者有效地提高动手能力。为了更好地将测试方法和技术应用于实际项目中,本书的第3篇从软件测试需求分析、测试计划开始,逐步深入测试用例设计、测试环境部署、测试执行、缺陷报告跟踪与报告、测试结果分析与报告,贯穿整个软件开发生命周期。

图片

《软件测试方法和技术(第3版)》的配套实验教程

作者:朱少民 等

定价:39.50元

ISBN:9787302523734

这本实验教程是对教材《软件测试方法和技术》的有力补充,指导教学过程中所需要的实验,含实验目的、环境、内容和详细的过程指导。全书共有19个实验,覆盖单元测试、集成测试、功能测试、性能测试、安全性测试和验收测试等,主要以当今流行的Web应用、移动App应用为测试对象,并增加了一些深度的实验,如反编译安全测试、开源测试框架Fitnesse的解析等,是软件测试教学不可多得的实验教材。

以上两本书详细目录及内容介绍,可以在书圈搜索查询书号。

-----------

点击页面下方[阅读原文], 可以查看几十门课程教学大纲

71870软件测试课程教与学(教学大纲)

这个人很懒,什么都没留下

文章评论