第一篇:软件质量保证与测试课程教学大纲
《软件质量保证与测试》课程教学大纲
一、课程基本信息
中文名称:软件质量保证与测试
英文名称:Software Quality Assurance and Testing 开课学院:计算机科学学院 课程编码:S0835401 学分:2 总学时:32 适用专业:软件工程学术硕士,软件工程专业硕士 修读基础: 软件工程,面向对象程序设计 课程负责人:胥林(副教授)
主讲教师:胥林(副教授);肖斌(副教授);廖浩德(副教授)
二、课程目的任务
1.课程地位作用(课程在实现培养目标中的地位作用)
《软件质量保证与测试》是软件工程专业的专业必修课。其教学目的是通过本课程学习,使学生系统地学习软件测试的基本概念和基本理论,深刻理解和掌握软件测试和软件测试过程的基本方法和基本技术。了解和掌握现代各种新的软件测试技术和主要发展方向,学生能够设计测试用例、使用自动化工具完成完整的项目测试和项目测试管理,学生能基本承担起软件测试的工作任务,为学生将来从事实际软件测试工作和进一步深入研究打下坚实的理论基础和实践基础。
2.课程主要内容(简述:主要内容、重点、难点等)
1、了解软件测试的必要性和重要性。
2、了解软件测试的层次,其中包括单元测试、集成测试和系统测试。
3、掌握黑盒测试方法。
4、掌握白盒测试方法。
5、掌握测试用例的编写方法,并能编写测试方案和测试报告。
6、了解性能测试的内容,并能运用常用的测试工具进行测试。3.学生应达到的基本要求
学生能够熟练掌握软件测试的基本方法和技术,独立完成软件测试过程的相关内容(计划,设计,实施,报告,缺陷管理),具备基本的软件测试的业务能力。
三、教学内容与学时分配
(含各时段学生课外学习要求)
第一章 软件测试基础(2学时(课内))
目的与要求:理解软件测试的目的和作用、了解软件测试的相关概念、了解测试分类
第一节
软件质量与软件测试 1. 软件测试的背景、目的和作用
2.软件测试的相关概念 3.软件测试的分类和测试原则 4.软件质量保证
重点: 软件测试的目的和作用、软件测试的原则、软件测试的分类 难点:软件测试的原则 第二节
软件缺陷与测试用例 1.测试用例的定义和标识
2.错误与缺陷定义和分类 3.测试案例
重点:测试用例的定义和测试用例的标识 难点:测试用例的标识
第二章 测试模型与过程(2学时(课内))
目的与要求:了解测试模型
第一节 软件测试模型与过程(2学时)1.软件测试模型
2.软件测试过程
重点:测试层次的划分
难点:软件测试多种模型的区别 第三章 黑盒测试(6学时(课内))
目的与要求:了解黑盒测试的概念、目标和方法,掌握使用边界值分析、等价类测试、判定表方法进行墨盒测试
第一节 边界值测试
1.黑盒测试的概念、目标和方法 2.边界条件 3.边界值分析 4.健壮性边界测试 5.最坏情况测试 6.案例分析
教学重点:边界值测试,健壮性测试,最坏情况测试 教学难点:用边界值分析方法设计测试用例 第二节 等价类测试
1.等价类 2.等价类测试类型 3.用等价类设计测试用例 4.等价类测试指导方针 5.案例分析
教学重点:等价类测试分类
教学难点:等价类的概念与划分规则 第三节 基于判定表的测试 1.判定表的组成
2.基于判定表的测试 3.基于判定表测试的指导方针 4.案例分析
教学重点:基于判定表的测试 教学难点:用判定表设计测试用例 第四节
案例分析
1.各等价类测试方法的区别
2.运用边界值、等价类和基于判定表的测试方法进行测试设计
教学重点:各等价类测试方法的区别 教学难点:各种方法的综合运用 第四章 白盒测试(6学时(课内))
目的与要求:了解白盒测试的概念、目标和方法。掌握逻辑覆盖测试,了解基本路径测试方法和数据流测试
第一节
逻辑覆盖测试
1.白盒测试的概念、目标和方法
2.语句覆盖 3.判定覆盖 4.条件覆盖 5.判定/条件覆盖
重点:逻辑覆盖测试中的判定覆盖、条件覆盖、判定/条件覆盖 难点:判定/条件覆盖
第二节
逻辑覆盖与基本路径测试 1.条件组合覆盖
2.路径覆盖
3.独立路径、圈复杂度
重点:逻辑覆盖测试中的路径覆盖,基路径测试法 难点:基路径测试法
第三节 案例分析
1.运用逻辑覆盖测试与基本路径测试方法进行测试设计
2.功能性测试和结构性测试的比较
重点:结构性测试方法与功能性测试方法的比较 难点:两种方法的综合运用 第五章 单元测试(2学时(课外))
目的与要求:掌握单元测试的基本过程 第一节
单元测试 1.单元测试的概念
2.单元测试的内容 3.测试的环境和测试策略
重点:单元测试的内容 难点:测试的环境和测试策略 第六章 集成测试(2学时(课外))
目的与要求:掌握集成测试的基本过程 第一节
集成测试
1.集成测试和单元测试的关系
2.集成测试概念 3.基于分解的集成 4.基于调用图的集成 5.基于路径的集成
重点:集成测试中基于分解的集成,MM-路径 难点:集成测试的集成策略 第七章 系统测试(2学时(课外))
目的与要求:掌握系统测试的基本过程 第一节
系统测试 1.系统测试的概念
2.系统测试内容和测试策略 3.系统测试策略
重点:系统测试的内容和方法 难点:系统测试的策略
第八章 性能测试(4学时(课内))
目的与要求:了解性能测试概念、目标、分类、主要性能指标,掌握常用的性能测试工具的使用
第一节
性能测试指标与分类 1.性能测试概念、目标
2.主要性能指标 3.性能测试的分类
重点:负载测试,压力测试,并发测试 难点:主要性能指标的理解 第二节 性能测试方案与工具 1.性能测试方案 2.常用的性能测试工具
重点:性能测试方案的设计 难点:性能测试数据的分析 第九章 自动化测试(6学时(课内))
目的与要求:了解自动化测试定义、使用领域和发展,理解自动化测试技术,掌握常用自动化测试工具的使用
第一节 自动化测试概念 1.自动化测试定义
2.自动化测试使用领域 3.自动化测试的发展 4.自动化测试的组织与实施
重点:自动化测试概念及使用领域 难点:自动化测试的组织与实施 第二节
自动化测试技术与脚本 1.自动化测试技术
2.自动化测试脚本 1.重点:自动化测试技术
2.难点:自动化测试脚本 第三节 自动化测试工具 1.测试工具分类
2.测试工具介绍 3.测试工具的选择
重点:功能测试工具和性能测试工具的使用 难点:自动化测试的组织与实施
第十章 Web系统测试案例(6学时(课内)+6学时(课外))
目的与要求:通过博客系统测试案例分析熟悉软件项目测试全过程管理的方法与流程。
第一节
Web系统测试计划与功能测试 1.测试需求 2.测试资源 3.测试策略 4.测试标准 5.测试用例设计 6.测试实施 7.测试报告 8.缺陷统计
重点:测试需求分析与测试标准 难点:测试需求分析 第二节 博客系统的性能测试 1.测试计划 2.测试用例设计 3.测试脚本开发 4.测试环境 5.测试执行 6.测试结果分析
重点:测试用例设计与脚本开发 难点:测试脚本开发
四、考核方式与成绩评定
1.考核方式:(笔试、论文、口试等)
论文
2.成绩评定办法:(平时成绩、期末考试成绩……等比例)平时成绩40%,期末成绩60%
五、教材及主要参考书目
(一)教材:
1、江开耀,韩永国著.软件测试技术.西安电子科技大学出版社.第1版
(二)参考书:
1、朱少民,软件测试方法和技术,清华大学出版社.第1版
2、John Watkins著.贺红卫,杨芳等译.实用软件测试过程.机械工业出版社.第1版
3、Ron Patton著.张小松,王钰,曹跃等译.软件测试.机械工业出版社.第1版
4、(美)Paul C.Jorgensen 著韩柯杜旭涛译.软件测试.机械工业出版社.第1版
六:其他需要说明的问题
大纲执笔人:胥林
大纲审批机构:计算机科学学院教授委员会
2015年8月18日
第二篇:软件测试与质量保证实验指导
实验一.NET软件调试及测试计划
一、实验目的
通过本实验,熟悉.NET软件调试环境与技巧及测试计划的内容,并掌握测试计划的制定过程,能够针对具体项目完成测试策略的制定、测试人员的安排、测试进度安排、测试资源组织等工作。
二、实验内容
1.掌握.NET软件调试环境与调试技巧。基本内容如下:
一、学习附件一的内容,掌握调试技巧;
二、学习c# 中跟踪和调试的技巧-------如何使用 Debug
2.研究给定项目的需求规格说明书,提取测试需求,按照小组的人员情况,安排测试进度,为每一阶段的测试选定测试方法,最后按照给定的测试计划书模版生成完整的测试计划书。
项目需求规格说明书及测试计划模版由教师给出(见相关附件)。
(http://blog.csdn.net/zhouhuozhi/archive/2009/05/14/4180605.aspx)
三、实验要求
1、做好实验预习,掌握,并熟悉本实验中所使用的测试环境及相应的测试软件。
2、写出实验报告,内容是:
(1)实验日期(2)实验题目(3)实验内容
(4)实验结果,包括测试用例,代码清单、测试结果分析和心得体会。
3、本实验以小组为单位,每组上交一篇报告,报告的名称要包括组内人员的姓名。
四、实验学时
本实验需要2学时。
注:实验二与实验三任选一个做;实验四与实验五任选一个做
实验二 单元测试
一、实验目的
通过本实验,熟悉单元测试的目的、内容,并掌握黑盒单元测试的基本方法,能够按照具体要求对指定的程序设计测试用例并进行单元测试。
二、实验内容
1、黑盒单元测试(二选一)
(1)等价类划分法
三角形问题的需求规格描述如下:
输入三个整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及构不成三角形。
现在要求输入三个整数a、b、c,必须满足以下条件:
条件1 1≤a≤100 条件2 1≤b≤100 条件3 1≤c≤100 条件4 a
1、条件2和条件3,程序给出“边的取值超出允许范围”的信息。
如果输入值a、b、c 满足条件
1、条件2和条件3,则输出下列四种情况之一:(1)如果不满足条件
4、条件5和条件6中的一个,则程序输出为“非三角形”。(2)如果三条边相等,则程序输出为“等边三角形”。(3)如果恰好有两条边相等,则程序输出为“等腰三角形”。(4)如果三条边都不相等,则程序输出为“一般三角形”。针对此需求:
1、自己编写程序实现,程序语言不限,并要求在实验前完成;
2、分析该程序的输入,建立等价类划分表,并根据等价类表设计测试用例;
3、根据边界值条件设计不少于10组的测试用例;
4、用所有测试用例对程序进行测试,记录每组测试用例对应的输出结果,并对结果进行分析;
5、确定是否存在bug,如果存在bug,分析其原因并调试修复。(2)因果图法
有一个饮料的自动售货机,其规格说明如下:投入相应的钱数,然后按下相应饮料的按钮,如果钱数不够,则给出信息“投入钱数不够!请继续投入!”,如果金额够,就给出饮料,并找零。如果机器内该饮料已经售完,则提示“该饮料已经售完!”,如果不再买其它的饮料则退钱。如果光投入钱没有选择饮料,则给出提示“请选择饮料!”,如果没有投钱就选择饮料,也会给出提示。(本程序由教师给出)分析该需求中的原因和结果,列出来; 画出因果图;
根据因果图生成判定表(决策表); 根据判定表设计测试用例;
运用测试用例对程序进行测试,并记录测试结果;
6、提交实验报告,报告内容如下:实验题目、实验目的、实验内容、程序清单、测试用例、测试结果、结果分析、心得体会。
三、实验要求
1、做好实验预习,提前编写相关程序,并设计测试用例。
2、写出实验报告,内容是:
(1)实验日期(2)实验题目(3)实验内容
(4)实验结果,包括测试用例,代码清单、测试结果分析和心得体会。
3、本实验以小组为单位,每组上交一篇报告,报告的名称要包括组内人员的姓名。
四、实验学时
本实验需要4学时。
实验三 单元测试
一、实验目的
通过本实验,熟悉单元测试的目的、内容,并掌握白盒单元测试及面向对象的单元测试的基本方法,能够按照具体要求对指定的程序设计测试用例并进行单元测试。
二、实验内容
1、白盒单元测试(二选一)
(1)对实验二中编写的三角形程序,画出其程序流程图;分析程序流程图,确定程序分支;
(2)设计分别满足语句覆盖、路径覆盖、条件覆盖及条件组合覆盖和路径覆盖的测试用例;
(3)用测试用例对程序进行测试,记录测试结果,并对结果进行分析,如果存在缺陷则修改程序,继续测试;
2、面向对象的单元测试
对给定的类设计桩程序或驱动程序,设计测试用例,对其进行单元测试。
三、实验要求
1、做好实验预习,提前编写相关程序,并设计测试用例。
2、写出实验报告,内容是:
① 实验目的
② 实验内容
③ 实验结果,包括测试用例,代码清单、测试结果分析和心得体会。
3、上报实验源代码(或测试脚本、测试结果文件、测试报告),本实验以小组为单位,每组上交一篇报告,报告的名称要包括组内人员的姓名。
四、实验学时
本实验需要4学时。
实验四 集成测试
一、实验目的
通过本实验,熟悉集成测试的目的、内容,并掌握自底向上和自顶向下集成测试的基本方法,能够按照具体要求对指定的程序设计测试用例并按要求进行集成测试。
二、实验内容
自选一个包含多个模块的程序,完成以下工作: *
1、编写辅助程序
2、自底向上集成
三、实验要求
1、做好实验预习,提前编写相关程序,并设计测试用例。
2、写出实验报告,内容是:
① 实验目的。② 实验内容
③ 实验结果,包括测试用例,代码清单、测试结果分析和心得体会。
3、上报实验源代码(或测试脚本、测试结果文件、测试报告),本实验以小组为单位,每组上交一篇报告,报告的名称要包括组内人员的姓名。
四、实验学时
本实验需要4学时。
实验五 系统功能测试
一、实验目的
通过本实验,熟悉系统功能测试的目的、内容,并掌握功能测试基本方法,能够功能规格说明对指定的系统设计测试用例并进行测试。
二、实验内容
对指定的系统,参照系统功能设计测试用例,并进行功能测试,记录测试结果。计算器程序功能测试
给定简单四则运算计算器系统由两个窗体构成,一个是计算窗体,一个是帮助信息窗体。该系统的主要功能是进行十进制的二元加、减、乘、除运算。
系统需求描述如下:四则运算计算器计算用户输入的两个数字的计算结果,要求既能用鼠标点击文本框和命令按钮,也可以脱离鼠标,完全用键盘操作。当用户输入的内容不是合法的数字时,要求程序能给出提示。当用户进行除法运算,并且输入“0“作为分母时,要求程序能给出相应的错误提示。当用户以任何顺序输入数据时,要求程序都能计算出正确结果。当用户完成一次计算后,即可以不清除就再次输入数据,也可以按“清除”键后再输入运算数。要为用户提供帮助功能,用户可以通过点击计算窗体中的帮助按钮进入帮助窗体。在计算窗体中,按返回按钮应退出系统。
三、实验要求
1、做好实验预习,提前编写相关程序,并设计测试用例。
2、写出实验报告,内容是:
① 实验目的② 实验内容
③ 实验结果,包括测试用例,代码清单、测试结果分析和心得体会。
3、上报实验源代码(或测试脚本、测试结果文件、测试报告),本实验以小组为单位,每组上交一篇报告,报告的名称要包括组内人员的姓名。
四、实验学时
本实验需要4学时。
第三篇:《软件测试与质量保证》读书报告
学生课程读书报告
姓
名
某某某
学号_
0000000_
专
业_ 软件工程__ 班级_**级软件*班
读书报告题目
××××××××××××× 指导教师及职称
XXX
开课学期
2011
至_ 2012 学年_1_学期
此处写题目(应用此格式)
学号:
姓名:
1.一级标题格式(黑体小四)
正文格式(宋体五号)
1.1 二级标题格式(楷体五号加粗)
正文格式(宋体五号)
参考文献
[1] 作者一, 作者二, 作者三等.论文题目.期刊名称, 年份, 卷号(期号):起始页-终止页.[2] 作者一, 作者二, 作者三等.书名(版次).出版社, 年份, 起始页-终止页.
第四篇:软件测试课程学习心得
我所理解的软件测试
《软件测试方法和技术》这门课程,还是由张建东老师教我们的。在张老师的讲解下,我深刻的体会到软件测试是很有必要的。一个软件,从最开始的可行性分析、需求分析、概要设计、详细设计、编写代码。这一系列的开发之下。千辛万苦的,花费了大量的人力物力、金钱时间,终于把软件给做出来了。你试着想一下,要是送到客户的手上,客户突然发现,软件用不了,或者是软件存在很大的缺陷。导致软件不好用、甚至比原先没有这个软件,还麻烦了。客户是很愤怒的。客户一愤怒,就导致客户不会付钱。这最终,项目失败,造成资源的大量浪费,所以说软件测试还是很有必要的。再者就是,软件测试可以发现软件的缺陷,从而通知编程人员不断改进软件。在这样不断测试,不断改进的情况下。将软件性能不断提高,软件变得越来越好用。
软件测试,旨在发现软件的缺陷。可以这样说,软件测试就是以发现软件缺陷,为最终目的的测试活动。它通过软件测试方法,白盒的、黑盒的、静态的或是动态的。借助软件测试工具,来找到缺陷。然后在缺陷评审和确认之后将缺陷记录下来,并用缺陷管理工具管理,详细描述,关注软件缺陷的发生周期。对它的严重性、和优先级下一个定义。书写软件缺陷报告,具名缺陷的重现步骤、测试的期望结果与实际结果、还有相关图片、文字资料。提交给软件编程人员,来完成软件缺陷的修复。
软件测试的方法,包括:白盒测试和黑盒测试。其中,白盒测试之中,有含有:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖、等方法。黑盒测试方法中,有:等价类划分法、边界值分析法、判定表法、因果图法等。软件测试方法,按照是否运行代码来看,可以分为:静态测试和动态测试。其中静态测试有,对代码的走查和评审。动态测试,则是要通过运行代码来执行。白盒测试多用于软件的单元测试上,黑盒测试多用于功能性测试上。代码的静态测试和动态测试,则是每一个软件项目都必须的。
单元测试,多构造桩函数或是驱动程序来测试。一般借助与各种软件测试工具。软件测试,或者说程序测试。一般先是进行单元测试。单元测试,修改完单元之中的缺陷、错误之后,就是集成测试。集成测试多针对程序功能进行测试,看程序的各项功能是否达到要求,是否齐全。集成测试之后就是系统测试。系统测试是针对整个软件系统的。看软件系统是否达到性能的要求。从而改进代码,以求达到系统的严格要求。最后就是验收测试,这个测试,一般都分成两半来做。一半是,程序员模拟客户环境,进行测试。而,另一半则是,真正的客户参与的测试。最大程度的体现客户的真实环境。客户在试运行的情况下,看是否会发现,平时发现并且以前的环境发现不了的问题。
验收测试,包含对界面的测试和软件可用性的测试,运用尼尔森十大原则,来测试软件是否好用。软件是否达到用户的对软件界面的需求。
无论是软件编写,还是软件测试,都需要相应的文档管理。还有针对软件测试制定的测试计划,软件测试执行等。
通过本学期的学习,我感受到软件测试是一门非常需要学习的课程。即使作为考察课程,它也是软件行业人士所必须了解的知识。它对软件工程项目的作用是至关重要的。现在,作为学生的我所做的项目虽然都是一些小的项目,但是在小组共同开发的时候还是需要用到项目的测试。如今这门课程我学的还不是很好,但我相信在今后的实训及工作当中,能够更好的体验和感受到项目测试的精髓,对软件项目测试有更深入的了解。我也希望,学校的老师能够在今后的教学当中重视软件项目测试课程,多让学生了解实例,去感受、体会软件项目测试所遇到的问题和解决方案,理解软件项目测试的精髓。
第五篇:《软件测试技术》课程总结报告
《软件测试技术》课程总结报告
班级:姓名:学号:
一、课程概述
二、课程实训项目
三、课程知识点总结
四、收获和体会