版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
、基本信息:
课程名称:软件测试
课程性质:。必修。限选O选修。素拓。跨学科
授课专业
学生人数:
班级:
所处年级:0一年级O二年级O三年级O四年级
总学时:48理论课时:36实验课时:12
学分:3软件测试基础
考核单位
上课时间:(校考/院
考)
上课地点:考核方式闭卷
答疑时间:答疑地点:
先修课程:软件工程、高级程序设计语言
本课程在本课程面向计算机软件专业,属于专业课。通过本课程的
授课对象学习,学生了解最新的软件测试的通用方法。熟练掌握软件测
所学专业试在软件开发过程中的运用,利用各种方法提高测试效率,计划
人才培养和编制测试目标,报告发现的问题,评估测试目标和产品进度。将
中的作用使学生在软件测试思想、知识和能力方面达到专业水平。
与地位
本课程在
本课程并重理论和实践,理论讲授软件测试背景、软件开发
知识传授、
过程和测试流程、软件测试的实质、闭着眼睛测试软件、白盒
能力提升、
测试、性能测试、自动化测试与测试工具、软件质量:保证;上
素质培养
机实践实现测试用例的设计、相关测试软件。使得学生掌握测
各方面的
试的相关理论方法,能运用当今流行的软件测试工具。
教学目标
学生情况采用QQ群、网络教学平台等方式,和学生在课上课下积极沟
分析通,随时了解学生学习情况,答疑解惑。
三、教学大纲
犯教学日历
五、学生作业及平时考核情况记录表
六、课堂教学设计方案
第1次课软件测试背景
1、本次课教学目标:
本课程是计算机或软件专业课程,重在培养我们的实践
能力,适应软件企业的工作环境和业界标准,并和国际先进
的软件开发理念和测试技术保持同步。
通过本课程的学习,了解并掌握软件产品质量保证的基
本思想和科学体系、软件测试技术的基本内容,以及软件测
试的方法、技术和工具的使用,为全面掌握软件技术和软件
项目管埋打下坚实的基础
优秀的测试从业人员,不仅需要掌握测试理论、方法、
技术、工具,还需要深刻理解过程管理,更需要有很高的素
质(理念、思路、沟通、表达等);优秀的测试企业需要
People、ProcessandTechnology三要素有机结合。
这门课包括如下内容:
第一章软件测试背景
第二章软件开发过程和测试流程
第三章软件测试实质
第四章黑盒测试
第五章白盒测试
第六章性能测试
第七章自动化测试与测试工具
第八章软件质量保证
5、本次课教学过程设计
作为第一节课,首先和学生相互熟悉,进行自我介绍,
其后就软件测试课程在软件工程学科的诸多课程中的位置,
作用,以及与其他课程的关系是什么?其先行课是什么?等。
本次课先讲授臭名昭著的软件错误案例,从这些事实出
发,探究为什么?引出软件缺陷的相关的内容。其次回答怎
么办?介绍软件测试工程师的角色和职能。最后,给出测试
发展历程的相关知识。
第2次课软件开发过程和测试流程
1、本次课教学目标:
本次课讲授如下内容:
•产品的组成部分
•软件项目成员
•软件开发模式
•软件测试流程
2、本次课教学重点:
测试策略描述测试整体和每个阶段的方法。
软件开发模式和软件测试流程是本章学习的重点。
3、本次课教学难点:
软件测试流程,从测试计划、测试设计、测试执行(单元
测试、集成测试、确认测试、系统测试、验收测试,包括a
测试和B测试、回归测试)、测试评估等内容讲解。
(1)测试计划
测试计划是软件测试员与产品开发小组交流意图的主要
方式。测试计划规定了测试活动的范围、方法、资源和进度;
明确正在测试的项目、要测试的特性、要执行的测试任务、
每个任务的负责人,以及与计划相关的风险。测试计划只是
创建详细计划过程的一个副产品,重要的是计划过程,而不
是产生的结果文档。其最终目的是交流软件测试小组的意图、
期望,以及对将要执行任务的理解.。
(2)测试设计
测试设计是指将测试计划阶段制订的测试需求分解、细
化为若干个可执行的测试过程,并为每个测试过程选择适当
的测试用例,保证测试结果的有效性。
(3)测试执行
执行测试开发阶段建立的自动测试过程,并对所发现的
缺陷进行跟踪管理。测试执行一般由单元测试、集成测试、
确认测试、系统测试以及回归测试等步骤组成。
1)单元测试
单元测试又称为模块测试,什么是模块?并没有严格的
定义,不过按照一般的理解,模块应该具有以下的一些基本
属性:
•名字;
•明确规定的功能;
•内部使用的数据,或称局部数据;
•与其它模块或外界的数据我系;
•实现其特定功能的算法:
•可被其上层模块调用,也可调用其下属模块进行
协同工作。
单元测试的任务如下:
•模块接口测试:对被测模块,检测数据能否正确无误地进
入和流出模块;
・模块局部数据结构测试:检测模块在工作过程中,其内部
数据能否保持其完整性,包括内部数据的内容、形式以及
相互之间关系;
•模块边界条件测试:检测边界处模块能否正常工作;
•覆盖测试:检测模块运行能否满足特定的逻辑覆盖;
•出错处理检测:检测模块出错处理是否有效。
2)集成测试
集成测试主要关注下列问题
•模块间的数据传递是否正确?
•模块功能是否会对另一个模块功能产生错误影响?
・全局数据结构是否有问题,会不会被异常修改?
•模块组合起来的功能能否满足要求?
•模块的累积误差是否会扩大,是否达到不可接受的程度?
3)系统测试
系统测试实际上是针对系统中各个组成部进行的综合性
检验,很接近我们的日常测试实践。
系统测试的目标不是要找出软件故障,而是要证明系统的
性能,系统测试最好由独立的测试机构完成。
4)验收测试
验收测试是将最终产品与需求进行比较的过程,是软件
开发结束后,软件产品向用户交付之前进行的最后一次质量
检验活动,回答开发的软件产品是否符合预期的各项要求,
用户是否接受等问题。
验收测试不只检验软件某方面的质量,还要进行全面的
质量检验并决定软件是否合格。因此验收测试是一项严格的
正规的测试活动,并且应该在生产环境中而不是开发环境中
进行。
(4)测试评估
结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件
的质量和开发II队的工作进度及工作效率进行综合评价。
4、本次课教学方法:
本次课根据具体内容的不同,采用讲授法和启发式教学、
知识迁移法等相互配合。例如,软件项目成员的部分内容,
可先提出概念,通过与学生的交流,分析学生回答的正确与
错误,讲授教学。
5、本次课教学过程设计
本次课首先讲授软件产品的组成部分,采用提问方式,
通过与学生的交流,了解软件是一个内容复杂的产品,开发
一个软件涉及许多的因素。其次,就软件项目成员的组成进
行介绍,最后,介绍软件开发模式和软件测试流程。
第3次课测试用例设计(教学单元一)
1、本次课教学目标:
黑盒测试(等价类、边界值)
2、本次课教学重点:
两个实验:三角形问题和NextDate函数
(1)三角形问题:输入三个整数a、b和c分别作为三
角形的三条边,程序判断由这三条边构成的三角形类型是:
等边三角形、等腰三角形、一般三角形或非三角形(不能构
成一个三角)。
输入三个整数a、b和c分别作为三角形的三条边,要求a、
b和c必须满足:
Con1.Con4,a<b+c
Con2.1100Con5.b<a+c
Con3.1WcW100Con6.c<a+b
如果a、b和c满足Coni、Con2和Con3,则输出为四种情况
之一:
1).如果不满足条件Con4、Con5和Con6中有一,个,则程
序输出为“非三角形”。
2).如果三条边相等,则程序输出为“等边三角形”。
3).如果恰好有两条边相等,则程序输出为“等腰三角形”。
4).如果三条边都不相等,则程序输出为“一般三角形”。
(2)NextDate函数
NextDate函数是三个变量month、day和year的函数。输
出为输入日期后一天的日期。例如,如果输入为:2003年
10月29日,则NextDate函数的输日为:2003年10月30
日。要求输入month、day和year都是整数值,满足:
条件1.l^month^12
条件2.lWdayW31
条件3.1912^year^2050
3、本次课教学难点:
通过每个学生的亲自动手实践,了解理论知识,进行理论
与实践的相互作用,即,理论指导实践,实践验证理论。
4、本次课教学方法:
本次课属于实践类课程内容,主要通过学生的自学能力,
亲自动手去实践,完成指定的教学内容,采用任务驱动教学
法,学生自主学习法等。
5、本次课教学过程设计
本次课先介绍黑盒测试的理论知识,针对黑盒测试方法等
价类和边界值方法,通过三角形问题和NextDate函数两个实
验设计测试用例,学生亲自动手实践为主,教师指导答疑为
辅的方式进行教学。
第4次课软件测试的实质
1、本次课教学目标:
本次课讲授如下内容:
•测试原则
•测试的5W问题
・测试分类
・软件测试模型
・测试用例
2、本次课教学重点:
首先,软件测试主要涉及5W问题:
(1)谁来执行测试?(who)
(2)测试什么?(what)
(3)什么时候测试?(when)
(4)怎样进行测试?(how)
(5)测试停止的标准是什么?
其次,软件测试模型的含义是什么?如何理解?
再次,测试用例作为软件测试的中心内容,包括哪些内
容?
3、本次课教学难点:
(1)测试目的
GrenfordJ.Myers曾对软件测试的目的提出过以下观点:
•测试是为了证明程序有错,而不是证明程序无错误;
•一个好的测试用例是在于它能发现至今未发现的错误;
•一个成功的测试是发现了至今未发现的错误的测试。
(2)测试原则
•应当把“尽早地和不断地进行软件测试”作为软件开发者
的座右铭。
•严防寄生虫现象
•严防杀虫剂现象
•并非所有的软件缺陷都能修复
•难以说清的软件缺陷
•需求规格说明书不断变化
•测试用例的设计
•软件测试充分性准则
(3)软件测试分类
其中,外包测试需要注意如下问题:
・测试公司要执行那些测试任务?谁来定义?谁来批准?
•进度流程由谁来指定?如果超过最后期限会怎样?
•需要为测试公司提供那些内容?
•如何与测试公司联系?
•怎么样知道测试公司满足期望?
(4)软件测试模型
软件测试模型包括V模型、W模型、H模型、X模型和
前置模型,讲授每种模型是什么?有什么优缺点?相互之间
的关系是什么?
V模型是最为被认可和广为应用的,V模型最早提出测试
并不是一个事后弥补行为,而是一个与开发过程同样重要的
过程。V模型非常明确地标明了测试过程中存在的不同级别,
并且清楚地描述了这些测试阶段和开发过程中各阶段的对应
关系。
W模型针对V模型让人觉得“测试是开发之后的一个阶
段”,“测试的对象就是程序”等问题,强调需求、功能和
设计同样要测试,测试的对象不仅仅是程序,软件测试应该
贯穿整个开发周期。w模型属于V模型的改进,其实还属于
V模模型的范畴,它们的共同弱点是把系统开发过程划分为
具有固定边界的不同阶段,且依赖于开发文档的存在,及文
档的精确完整,导致在实际的开发过程中无法操作。
H模型和X模型很相似,都是为了解决V模型的问题,
提出测试应该在准备好后马上进行,与开发反复迭代进行,
并指出软件测试不仅仅指测试的执行过程本身,还应该包括
测试需求分析、测试计划、测试分析、测试编码、测试验证
等测试的准备活动。
前置模型有如下优点:
•开发和测试相结合
•对每一个交付内容进行测试
•让验收测试和技术测试保持相互独立
•反复交替的开发和测试
・引入新的测试理念
(5)测试用例
从测试用例的基本概念讲起,测试用例的作用、测试阶
段和用例关系、测试用例设计准则、测试用例的设计步骤、
测试用例设计书写标准、测试用例维护和测试用例设计的误
区等方面讲授。测试用例分为3个等级:测试设计说明、测
试用例说明、测试过程说明。测试用例计划的4个目标:组
织、重复性、跟踪和测试证实。测试用例细节基本上应用清
楚地解释要想软件发送什么值或者条件,以及预期结果。
4、本次课教学方法:
本次课采用讲授法和启发式教学法、知识迁移法等相互配
合。例如,调试与测试的异同比较,提出概念,通过与学生
的交流,分析学生回答的正确与错误,讲授教学。
5、本次课教学过程设计
本章需要回答软件测试的实质是什么的问题?主要从测
试原则、测试的5W问题、测试分类、软件测试模型和测试
用例几个方面进行介绍。
第5次课测试用例设计(教学单元二)
1、本次课教学目标:
测试用例的设计
白盒测试(逻辑分析法)
2、本次课教学重点:
使用C程序设计语言,完成测试用例的设计。逻辑覆盖
是一种使用最广泛的结构测试方法。逻辑覆盖以程序内部的
逻辑结构为基础设计测试用例,要求对被测程序的逻辑结构
有清楚的了解,甚至要能掌握源程序的所有细节。逻辑覆盖
法的测试用例包括语句覆盖、判定覆盖、条件覆盖、判定-
条件覆盖、条件组合覆盖,最后进行白盒测试方法对比。
3、本次课教学难点:
逻辑覆盖法的测试用例包括语句覆盖、判定覆盖、条件
覆盖、判定一条件覆盖、条件组合覆盖等,应讲清这些覆盖
方法的相同点和不同点,以及它们之间的相互关系。
(1)语句覆盖的目标是保证程序中每一条语句最小执行
一次,即使全部语句都被执行了,但是不能说走遍了软件的
所有路径。
(2)判定覆盖要求设计若干测试用例,运行被测程序,
使得程序中每个判断的取真分支和取假分支至少执行一次,
即判断的真假值均要被检测。判定覆盖又称为分支覆盖。
(3)条件覆盖要求设计测试用例,使得程序中每个判断
的每个条件的可能取值至少被执行一次。
(4)判定/条件覆盖要求设计足够的测试用例,执行被测
程序,使得判断中每个条件的所有可能取值至少被执行一次,
同时每个判断的所有可能判断结果也至少被执行一次。
4、本次课教学方法:
本次课属于实践类课程内容,主要通过学生的自学能力,
亲自动手去实践,完成指定的教学内容,采用任务驱动教学
法,学生自主学习法等C
5、本次课教学过程设计
本次课先介绍白盒测试的理论知识,针对逻辑覆盖法的测
试用例包括语句覆盖、判定覆盖、条件覆盖、判定一条件覆
盖、条件组合覆盖、路径覆盖,设计测试用例,学生亲自动
手实践为主,教师指导答疑为辅的方式进行教学。
第6次课黑盒测试(教学单元一)
1、本次课教学目标:
本次课讲授如下内容:
•黑盒测试的概述
•等价类划分
・边界值分析
2、本次课教学重点:
黑盒测试分为静态黑盒测试和动态黑盒测试。其中,静
态黑盒测试是指检查产品说明书,并在软件编写之前找出问
题。而动态黑盒测试是指在不了解软件如何工作的前提下进
行测试。
在静态黑盒测试中,首先需进行正式审查。正式审查具有
如下4个关键要素:查找问题、遵守规则、审查准备和编写
报告。正式审查报告包括如下内容:
(1)同事审查
(2)走查
(3)检验。
其正式程度运来越高,其中,检验与同事审查和走查的不同
之处在于表达代码的人一一表述者不是原来的程序员。
3、本次课教学难点:
(1)等价类划分
从等价类的概念讲起,介绍确定等价类的规则,以及设
计测试用例的步骤。等价类划分是一种典型的黑盒测试方
法,该方法完全不考虑程序的内部结构,只根据对软件的要
求和说明,即需求规格说明书,把程序输入域划分成若干部
分,然后从每个部分中选取少数代表性数据为作测试输入。
等价类划分为有效等价类和无效等价类。
(2)边界值分析
大量的故障发生在输入或输出范围的边界上,而不是在
输入范围的内部。实践表明,在设计测试用例时,对边界附
近的处理必须给予足够的重视,为检验边界附近的处理专门
设计测试用例,常常可以取得良好的测试效果。边界值分析
法就是对输入或输出的边界值进行测试的一种黑盒测试方
法。通常边界值分析法是作为对等价类划分法的补充,这种
情况下,其测试用例来自等价类的边界。
使用边界值分析方法设计测试用例,首先应确定边界情
况。输入等价类与输出等价类的边界,就是应着重测试的边
界情况。边界值分析方法的基本思想是,选取正好等于,刚
刚大于,或刚刚小于边界的值做为测试数据,而不是选取等
价类中的典型值或任意值做为测试数据。
4、本次课教学方法:
本次课采用讲授法和启发式教学法、知识迁移法等相互配
合。通过与学生的交流,分析学生回答的正确与错误,讲授
教学。
5、本次课教学过程设计
从学生的编程调试经历出发,其中的函数内容,函数有
三要素:自变量、对应法则和因变量,自变量和因变量的关
系用来引出闭着眼睛测试。举一例子,例如海伦公式,已知
三角形三边求三角形面积,
其后,讲解闭着眼睛测试,又称黑盒测试的主要的测试
方法:等价类划分和边界值分析方法。
第7次课测试软件工具(教学单元一)
1、本次课教学目标:
JUnit
2、本次课教学重点:
JUnit作为Java语言的单元测试软件工具,作为JAVA的回归测试
框架,详见网址:/index.htm
本次课教学难点:
本次课程主要完成Junit两个例子,具体如下所示:
.(1)判断三角形TriangleTest例子
首先,Triangle类为用户的类,功能是判断是否是三角形,求周长,
面积等。其次,引入JUnit,步骤如下所示:创建个TestCase的了类;
写一个测试方法断言期望的结果(注意:JUnit推荐的做法是以test作
为待测试的方法的开头,这样这些方法可以被自动找到并被测试。);
写一个suite。方法,它会使用反射动态的创建一个包含所有的testXxxx
方法的测试套;写一个main()方法以文本运行器的方式方便的运行测
试;运行测试。
(2).Eclipse中使用JUnit测试(Calculator类的各种方法)
运行Eclipse»新建一个workplace项目,点击文件->新建->项目,选
择Java项目,点击下一步。新建项目名JUnit_Test,在andycpp包中
编写Calculator类,实现简单的加、减、乘、除等计算功能,采用JUnit4
进行测试Calculator类的各种方法。
第一步,在eclipse中编写Calculator类。为了进行测试,故意给
出方法的错误代码。
第二步,将JUnit4单元测试包引入JUnil_Test项目。
第三步,生成JUnit测试框架。
第四步,运行测试代码。
4、本次课教学方法:
本次课采用讲授法和启发式教学法。教师讲解JUnit的基本内容,
学生亲自动手实践,在用中学,学中用。
5、本次课教学过程设计
本次课程从单元测试的理论知识出发,结合软件测试工具知识,
引出针对Java程序设计语言的测试工具JUnito本次课属于实践类课
程内容,主要通过学生的自学能力,亲自动手去实践,完成指定的教
学内容。
第8次课黑盒测试(教学单元二)
1、本次课教学目标:
本次课讲授如下内容:
•决策表测试
•因果图
•场景法
2、本次课教学重点:
决策表测试和因果图的学习作为本次课的教学重点。
3、本次课教学难点:
当变量确实是相互独立的,那么使用等价类的笛卡儿积
有意义。如果变量间存在逻辑依赖关系,那么这些依赖关系
在机械地选取输入值时可能丢失。决策表方法通过使用“不
可能动作”概念表示条件的不可能组合,强调这种依赖关系。
(1)决策表测试
在所有的黑盒测试方法中,基于决策表的测试是最严
格,最具有逻辑严格性的测试方法。决策表最突出的优点是,
它能把复杂的问题按各种可能的情况一一列举出来,简明而
易于理解,也可避免遗漏。
(2)因果图
因果图方法适合于描述对于多种条件的组合,产生多个
相应动作的测试方法,能够帮助测试人员按照一定的步骤,
高效率地开发测试用例,以检测程序输入条件各种组合情况C
(3)场景法
软件系统中流程的控制都由事件触发的,例如:申请一
个项目,需先提交审批单据,再由部门经理审批,审核通过
后由总经理来最终审批,如果部门经理审核不通过,就直接
退回。同一事件不同的触发顺序和处理结果形成事件流,每
个事件流触发时的情景便形成了场景。通过运用场景来对
系统的功能点或业务流程的描述,可以提高测试效果。
场景法一般包含基本流和备用流,从一个流程开始,通
过描述经过的路径来确定的过程,经过遍历所有的基本流和
备用流来完成整个场景。
4、本次课教学方法:
本次课采用讲授法和启发式教学法、知识迁移法等相互配
合。通过与学生的交流,分析学生回答的正确与错误,讲授
教学。
5、本次课教学过程设计
回顾上节课内容,通过提问等方式和学生共同复习,指
出等价类划分和边界值分析的不足,引出决策表测试、因果
图和场景法等。
第9次课测试软件工具(教学单元二)
1、本次课教学目标:
了解测试软件工具的功能,测试管理软件selenium学习。
2、本次课教学重点:
学习测试软件selenium
3、本次课教学难点:
1、观看教材和查找资料
2、测试管理软件selenium的安装、配置和使用
4、本次课教学方法:
本次课程采用自主学习法等,学生通过教材和网上资料•,
了解selenium测试软件,其后采用任务驱动教学法,让学生
完成测试安装、配置和使用
5、本次课教学过程设计
本次课程从软件测试工具知识出发,介绍国际上的流行
测试工具,如Loadrunner、QC等,其后,介绍泽众软件测试
公司的测试管理软件TestCenter测试工具。本次课属于实践
类课程内容,主要通过学生的自学能力,亲自动手去实践,
完成指定的教学内容。
第10次课白盒测试(教学单元一)
1、本次课教学目标:
本次课讲授如下内容:
•白盒测试的概述
•逻辑覆盖法
2、本次课教学重点:
白盒测试用于检查代码,其中,编码标准和规范有如下三
个重要原因:可靠性、可读性、移植性。
白盒测试分静态白盒测试和动态白盒测试。其中,静态白
盒测试是指通过正式审查和检验检查代码的细节。代码审查
错误有:数据引用错误、数据声明错误、计算错误、比较错
误、控制流程错误、子程序参数错误、输入'输出错误以及其
他错误。动态白盒测试是指在看到软件的工作方式时,根据
获得的信息对软件进行测试。
3、本次课教学难点:
动态白盒测试是指利用直看代码功能(做什么)和实现方
式(怎么做)得到的信息来确定哪些需要测试、哪些不需要
测试、如何开展测试?
动态白盒测试分为以下4个部分:
(1)直接测试底层函数、过程、子程序和库
(2)以完整程序的方式从顶层测,,式软件
(3)从软件获得读取变量和状态信息的访问权
(4)估算执行测试时“命中”的代码量和具体代码
动态白盒测试的目标是寻找软件缺陷,调试的目标是修
复缺陷,它们在隔离软件缺陷的位置和原因上确实存在交叉
现象。
逻辑覆盖法包括语句覆盖、判定覆盖、条件覆盖、判定
-条件覆盖、条件组合覆盖、路径覆盖。
(1)语句覆盖
语句覆盖的目标是保证程序中每一条语句最小执行一
次,即使全部语句都被执行了,但是不能说走遍了软件的所
有路径。
(2)判定覆盖
判定覆盖又称为分支覆盖或所有边覆盖,测试控制结构
中布尔表达式分别为真和假(例如if语句和while语句)。布
尔型表达式被认为一个整体,取值为true或false,而不考虑
内部是否包含“逻辑与”或者“逻辑或”等操作符。判定覆
盖的基本思想是指设计的测试用例,使得程序中每个判定至
少分别取“真”分支和取“假”分支至少经历一次,即判断
真假值均被满足。
(3)条件覆盖
条件覆盖是设计测试用例,使每个判断中每个条件的可
能取值至少满足一次。
(4)判定一条件覆盖
判定一条件覆盖的含义是通过设计足够的测试用例,使
得判断条件中的所有条件可能至少执行一次取值,同时,所
有判断的可能结果至少执行一次。因此,判定一条件覆盖的
测试用例满足如下条件:(1)所有条件可能至少执行一次取
值;(2)所有判断的可能结果至少执行一次。
(5)条件组合覆盖
条件组合覆盖的基本思想:设计测试用例使得判断中每
个条件的所有可能至少出现一次,并且每个判断本身的判定
结果也至少出现一次,与条件覆盖的差别是条件组合覆盖不
是简单地要求每个条件都出现“真”与“假”两种结果,而
是要求这些结果的所有可能组合都至少出现一次。
判定覆盖、条件覆盖、条件组合覆盖、路径覆盖等方法
对比如下图所示。
判定覆盖条件覆羞条件组合覆基珞径测试]
方法盖
筒单、无须细分每个判定增加了时符号判定情对程序进行清晰、测试用
况的测试较彻底的测例有效
诚,厦金面
优点广
往往大部分的判定语句是达到条件覆盖,需要对所有可能基本路径法.类
由多个逻辑条件组合而成足够多的测试用例,条件进行测似于分支的方法.
(如包含AN'D、OR等的组但条件覆盖还是不能试,需要设不能覆盖一些特
合),若仅仅判断其组合保证判定覆盖,这是计大量、复定的条件,这些
条件的结果.而忽略每个由于AW和OR不同的杂测试用例.条件往往是容易
条件的取值情况,必然会组合效果造成的工作量比较出惜的地方
缺点遗漏部分测试场景大
4、本次课教学方法:
本次课采用讲授法和启发式教学法、知识迁移法等相互
配合。通过与学生的交流,分析学生回答的正确与错误,讲
授教学。
5、本次课教学过程设计
首先,讲解白盒测试与黑盒测试的区别,就学生们在学
习计算机编程语言的过程中,调试代码的经历,引出白盒测
试。其后,就逻辑覆盖法进行讲解,它包括语句覆盖、判定
覆盖、条件覆盖、判定一条件覆盖、条件组合覆盖、路径覆
盖,最后进行白盒测试方法对比。
第11次课测试软件工具(教学单元二)
1、本次课教学目标:
了解测试软件工具的功能。
2、本次课教学重点:
学习功能测试软件
3、本次课教学难点:
4、本次课教学方法:
本次课程采用自主学习法等,学生通过学习教材,了解功
能测试软件LoadRunner测试软件,其后采用任务驱动教学法,
让学生完成功能测试软件LoadRunner的安装、配置和使用
5、本次课教学过程设计
本次课程从软件测试工具知识出发,介绍国际上的流行
测试工具,如Loadrunner等,了解性能功能测试软件Jmeter测
试工具。本次课属于实践类课程内容,主要通过学生的自学
能力,亲自动手去实践,完成指定的教学内容。
第12次课白盒测试(教学单元二)
1、本次课教学目标:
本次课讲授如下内容:
•路径分析
•数据流测试
・程序插桩技术
•黑盒测试与白盒测试的比较
•静态测试与动态测试
•验证测试与确认测试
2、本次课教学重点:
•路径分析
•数据流测试
•程序插桩技术
•黑盒测试与白盒测试的比较
3、本次课教学难点:
(1)独立路径和圈复杂度
程序控制流图是一个有向图,如果图中任何两个结点之
间都至少存在一条路径,这样的图便是强连通图。McCabe提
出,如果程序控制流图是一个强连通图,其复杂度V(G)可按
以下公式计算:
V(G)=e-n+1
e为图G中的边数,n为图G中的结点数。
(2)变量定义/引用分析
1)DEF(v,n)
变量v在结点n处定义,定义包括输入语句,赋值语句(等
号左侧),过程调用都是定义结点的例子,如果执行这些语句,
变量的值往往会发生变化。
2)USE(v,n)
变量v在结点n处被使用,使用包括输出语句、赋值语
句(等号右侧)、条件语句、循环语句、过程调用语句都是结点
的使用语句,如果执行这类语句,值不会被改变。
3)P-use
当且进当USE(v,n)是谓词使用,比如a>=2,对于P-use
的程序图出度>=2
4)C-use
当且仅当USE(v,n)是计算使用,对于C-use的程序图入度
<=1
5)定义使用路径
关于变量v的定义使用路径(记做du-path),存在定义
和使用结点DEF(v,m)和USE(v,n),使得m和n是该路径的
开始结点和结束结点。
6)清除路径
当定义结点和清除结点中间没有其他的定义结点的时候
为清除路径。
4、本次课教学方法:
本次课采用讲授法和启发式教学法、知识迁移法等相互
配合。通过与学生的交流,分析学生回答的正确与错误,讲
授教学。
5、本次课教学过程设计
回顾上节课内容,通过提问等方式和学生共同复习,了
解逻辑覆盖法包括语句覆盖、判定覆盖、条件覆盖、判定-
条件覆盖、条件组合覆盖、路径覆盖,最后进行白盒测试方
法对比。
其后,就本节课内容,数据流测试和程序插桩技术等进
行详细讲授。
(1)路径分析
路径能否被全面覆盖在软件测试中是一个重要的问题,
因为程序要取得正确的结果,就必须消除遇到的各种障碍,
沿着特定的路径顺利执行。如果程序中的每一条路径都得到
考验,才能说程序受到了全面检验。
(2)数据流测试
早期的数据流测试分析常常集中于定义/引用异常的缺
陷,用于如下三方面测试。1)变量被定义,但是从来没有使
用(引用);2)所使用的变量没有被定义;3)变量在使用之前
被定义两次。从中可以得出,早期的数据流测试主要用于检
测程序编写时出现的一些警告信息,如“所定义的变量未被
使用等”问题,这些问题光靠简单的语法分析器或者是语义
分析器是无法检测出来的。
(3)程序插桩
在程序的特定部位插入记录动态特性的语句,最终是为
了把程序执行过程中发生的一些重要的历史事件记录下来。
例如,记录在程序执行过程中某些变量值的变化情况,变化
的范围等。这些插入的语句常常被称为“探测器”或者“探
测点”o
程序插桩具有插桩位置、插桩策略、插桩过程等内容。
插桩位置一般选择如下位置:
1)程序的开始,即程序块的第1个可执行语句之前
2)转移指令之前
•for,do,do-while,dountil等循环语句处。
•if,elseif,else及endif等条件语句各分支处。
・输入/输出语句之后。
・函数、过程、子程序调用语句之后。
3)标号之前。
4)程序的出口
•return语句之后
call语句之后
(4)静态测试与动态测试
静态测试是指不利用计算机运行被测试的程序,通过其
它手段达到检测的目的,是对被测程序进行特性分析的一些
方法的总称。
动态测试则是指通常意义上的测试一一通过运行和使用
被测程序,发现软件故障,以达到检测的目的
(5)验证测试与确认测试
确认测试是对照软件需求规格说明书,对软件产品进行
评估以确定其是否满足需求规格的过程。
验证是对软件产品进行人工检查或评审。验证测试针对
开发过程中的任何中间产品进行,是为确定某一开发阶段的
产品是否满足在该阶段开始时提出的要求而对系统或部件进
行评估的过程。
验证就是对诸如需求规格说明,设计规格说明和代码之
类的产品进行评估、审查和检查的过程,属于静态测试。确
认是“基于计算机的测试”过程,属于动态测试。
第13次课性能测试
1、本次课教学目标:
本次课讲授如下内容:
•基本概念
•软件可靠性
・性能测试分类
•网站测试
2、本次课教学重点:
性能测试分类很多,如下所示:
(1)配置测试
配置测试(Configurationtesting)是指使用各种硬件来测
试软件运行的过程。《迪尼斯狮子王》缺陷。配置测试包括
如下内容:
1)何种外部硬件运行该软件?
2)硬件有哪些型号和软件版本可用?
3)硬件支持哪些特性或者可选项?
(2)软件兼容性测试
软件兼容性测试是指检查软件之间是否能够正确地交互
和共享信息、。兼容性对于软件的意义取决于开发小组决定用
什么来定义,以及软件运行的系统要求的兼容性级别。
1)软件设计要求与何种其他平台和应用软件保持兼容?
2)应该遵循何种定义软件之间交互的标准和规范?
3)软件使用何种数据和软件交互和共享信息?
(3)文档测试
文档测试具有提高易用性、可靠性和降低支持费用。
3、本次课教学难点:
网站测试涉及性能测试的许多内容,包括网页测试、配置
和兼容性测试、文档测试、安全性测试、易用性测试等内容C
网页由文字、图片、声音、视频和超级连组成的文档。
(1)采用黑盒测试方法,建立状态表,把每个网页当做
不同的状态,超链接当做状态之间的连接线。
(2)网页文本当做文档对待,检查读者的水平、术语、
内容以及题目素材、准确度。
(3)每个链接都需要检查,确保它跳转至正确的目的地,
并在正确的窗口中打开。注意检查孤页。
(4)图片是否正确被载入和显示。
(5)表单是指网页中用于输入和选择信息的文本框、列
表框和其他域。
网站易用性测试的十大缺陷问题:
(1)盲目使用不成熟的新技术
(2)滚动文字、滚动块和不停运行的动画
(3)非标准的链接颜色
(4)滚动显示的长页面
(5)过期信息
(6)下载时间过长
(7)缺少导航支持
(8)孤页
(9)负责的网站地址(URL)
(10)使用框架
4、本次课教学方法:
本次课采用讲授法和启发式教学法、知识迁移法等相互
配合。通过与学生的交流,分析学生回答的正确与错误,讲
授教学。
5、本次课教学过程设计
本次课从软件的需求出发,功能需求和性能需求,先讲授
性能需求的基本概念,就软件可靠性进行介绍,给出性能测
试分类,特别就当前的BS架构软件一一网站测试进行详细介
绍。
第14次课自动化测试与测试工具
1、本次课教学目标:
本次课讲授如下内容:
・自动测试发展历程
•测试成熟度模型
・自动测试原理
•自动化测试工具特征
•软件测试工具分类
•软件测试工具选择
2、本次课教学重点:
为什么测试T具和自动化是必须的?工具的优点是,速
度、效率、准确度和精确度、节省资源。软件测试工具不能
代替软件测试员。
测试工具包括如下内容:
(1)查看器和监视器:能够看到正常情况下看不到的软
件运行细节。
(2)代码覆盖分析器作为入侵式工具,因为它们需要编
译并链接原程序中才能获得所需
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF 2469-2026光学频率梳技术性能评价方法
- T/SPFA 003-2023豆豉
- T/SASQ 0002-2024组织质量能力评价准则 制造业
- T/CSTEA 00071-2024陈年茉莉花茶
- T/CI 003-2023橡胶表面碳薄膜制备及评价方法
- T/CSPSTC 151-2025滨海湿地水文连通性生态监测与评估技术规范
- T/SSCIPA 003-2024气田中后期投资价值评估规范
- 2025~2026学年河北省邢台市任泽区校联考冀教版三年级上册12月月考数学试卷【附答案】
- PHP基础综合试题(含详细答案解析)
- Photoshop 7.0 招聘笔试试题汇编及详细答案
- 2026年二建水利实务电子版真题及答案
- 七年级上册人教版英语第一次月考试卷(含答案)
- 消防工程确保工期的技术组织措施
- 2026中考冲刺-九年级数学知识点梳理
- 2025年软考《网络规划设计师》历年真题
- 卡丁车赛车场项目可行性研究报告
- 浙江省杭州市2026届高三上学期教学质量检测数学试卷(杭州一模)(含答案)
- 脊髓炎诊疗中国指南(2026 版)
- 康复护理:日常生活活动能力训练
- 贝壳卖房委托书
- 病案首页填写培训课件
评论
0/150
提交评论