




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程(课堂教学-第九课次)计算机科学与技术系 张家锐 第8章 软件测试o 一、测试的基本概念o 二、黑盒测试o 三、白盒测试o 四、开发过程测试一、测试的基本概念1、什么是软件测试? IEEE给出的软件测试定义是:在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价;或者是分析某个软件系统项以发现现存的和要求的条件之差别并评价此软件项的特性。 G.J.Myers在软件测试技巧一书中给出的软件测试定义是:程序测试是为了发现错误而执行程序的过程。3/40一、测试的基本概念2、软件测试的目的、任务 目的:发现程序的错误。 任务:通过在计算机上执行程序,找出程序中潜在的错误。3、
2、测试的特性(特点) (1)(1)挑剔性挑剔性 (2)(2)复杂性复杂性 (3)(3)不彻底性不彻底性 (4)(4)经济性经济性4/40一、测试的基本概念4、软件测试的分类 软件测试依据开发阶段可划分为单元测试单元测试、集成测集成测试、确认测试、系统测试试、确认测试、系统测试和验收测试验收测试; 依据测试技术可划分为白盒测试白盒测试、黑盒测试黑盒测试及灰盒灰盒测试测试; 依据执行状态可划分为静态测试静态测试和动态测试动态测试; 依据执行主体可划分为:开发方测试开发方测试、用户测试及用户测试及第三方测试第三方测试。5/40一、测试的基本概念5、测试的相关文档 测试计划:包括测试项目名称,各项测试的
3、目的、步骤和进度,以及测试用例的设计。 测试报告:包括测试项目名称,实测结果与期望值的比较,发现的问题,以及测试达到的效果。-测试结果6、测试用例-测试时选用的例子 测试用例=测试数据+期望结果 测试结果=测试数据+期望结果+实际结果6/40二、黑盒测试1、黑盒测试含义 黑盒测试是软件测试的主要方法之一。 黑盒测试也称功能测试功能测试、数据驱动测试数据驱动测试、基基于规格说明的测试于规格说明的测试。 测试者不需具备应用程序的代码、内部结构不需具备应用程序的代码、内部结构和编程语言的专门知识和编程语言的专门知识,只需知道程序的输输入、输出和系统的功能入、输出和系统的功能,从用户的角度针对软件界面
4、、功能及外部表现进行测试,而不考虑程序内部逻辑结构。7/40二、黑盒测试2、黑盒测试能找出的错误类型黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误: 功能不正确或遗漏功能不正确或遗漏; 界面错误界面错误; 输入和输出错误输入和输出错误; 数据库访问错误数据库访问错误; 性能错误性能错误; 初始化和终止错误初始化和终止错误等。8/40二、黑盒测试3、黑盒测试常用的用例设计方法: (1)等价分类法等价分类法 (2)边界值分析法边界值分析法 (3)错误推测法 (4)因果图法 (5)判定表驱动法 (6)正交试验设计法 (7)功能图法等。9/40二、黑盒测试4、等价分类法-含义 等价分类法
5、是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。 该方法是一种重要的,常用的黑盒测试用例设计方法。10/40二、黑盒测试4、等价分类法-等价类 等价类是指某个输入域的子集合输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据取得较好的测试结果。11/40二、黑盒测试4、等价分类法-等价类的划分o 等
6、价类划分包括:有效等价类有效等价类和无效等价类无效等价类。o 有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。o 无效等价类:与有效等价类的定义恰巧相反。12/40二、黑盒测试4、等价分类法-等价类划分的准则在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。在规定了输入数据的一组值(假定n个),并
7、且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。在规定了输入数据必须遵守的规则时,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。13/40二、黑盒测试5、等价分类法-测试用例设计 设计测试用例时,要同时考虑这两种等价类。因为,软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。 在确立了等价类后,可建立等价类表,列出所有划分出的等价类。14/40二、黑盒测试o 5、等价分类法-测试用例设计o 输入
8、条件 有效等价类 无效等价类15/40二、黑盒测试o 5、等价分类法-测试用例设计然后从划分出的等价类中按以下三个原则设计测试用例: 为每一个等价类规定一个唯一的编号。 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步直到所有的有效等价类都被覆盖为止。 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步直到所有的无效等价类都被覆盖为止。16/40二、黑盒测试o 6、等价类划分法进行测试用例设计举例: 公司圣诞节奖金发放计算程序:员工在公司公司圣诞节奖金发放计算程序:员工在公司的工作年限超过的工作年限超过3 3年,发放工资的年,发放工资的50%50%
9、;在公;在公司的工作年限超过司的工作年限超过5 5年,发放工资的年,发放工资的75%75%;在;在公司的工作年限超过公司的工作年限超过8 8年,发放工资的年,发放工资的100%100%17/40二、黑盒测试18/40二、黑盒测试o 7、边界值分析法-含义 边界值分析是通过选择等价类边界的测试用例。边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。 它是对等价类划分方法的补充。19/40二、黑盒测试o 8、边界值分析法-理念o 长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部,因此针对各种边界情况设计测试用例,可以查出更多的错误。20
10、/40二、黑盒测试o 9、边界值分析法-设计测试用例的一般思路 使用边界值分析方法设计测试用例,首先应确定边界情况,通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。21/40二、黑盒测试o 10、基于边界值分析法设计测试用例的原则:1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少1,比最大个数多1的数作为测试数据。3)根据规格说明的每个输出条件,使用前面的
11、原则1)。4)根据规格说明的每个输出条件,应用前面的原则2)。5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。7)分析规格说明,找出其它可能的边界条件。22/40二、黑盒测试o 11、边界值分析法进行测试用例设计举例: 有函数有函数f(x,yf(x,y) ),其中,其中x100,200 x100,200,y1,10y1,10。请写出该函数采用基本边界值。请写出该函数采用基本边界值分析法设计的测试用例。分析法设计的测试用例。23/40二、黑盒测试答:
12、在边界值分析法中获取测试用例的方法是:(1)每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取min、 nom 、 max 、min-、max+;(2)对程序中的每个变量重复(1)。本题设计的测试用例是:(100,5),(150,5),(200,5),(99,5),(201,5)(150,1),(150,5),(150,10),(150,0),(150,11)24/40三、白盒测试o 白盒测试-含义:o 白盒测试(white-box testing)也称透明盒测试(glass box testing)、结构测试(structural testing)、逻辑驱动测试或基于程序本身的
13、测试;o 软件测试的主要方法之一;o 测试应用程序的内部结构或运作,而不是测试应用程序的功能;o 在白盒测试时,以编程语言的角度来设计测试案例。测试者输入数据验证数据流在程序中的移动路径,并确定适当的输出,类似测试电路中的节点。测试者需要了解待测试程序的内部结构、算法等信息,这是从程序设计者的角度对程序进行的测试。25/40三、白盒测试o 白盒测试-应用: 白盒测试可以应用于单元测试(unit testing)、集成测试(integration testing)和系统的软件测试流程,可测试在集成过程中每一单元之间的路径,或者主系统跟子系统中的测试。尽管这种测试的方法可以发现许多的错误或问题,它
14、可能无法检测未使用部分的规范。26/40四、开发过程测试 1、V模型及测试的层次性 2、单元测试 3、集成测试 4、确认测试 5、系统测试 6、验收测试 7、其它专项测试27/401、V模型及测试的层次性o 单元测试o 集成测试o 系统测试o 验收测试28/402、单元测试o 工厂在组装一台电视机之前,会对每个元件都进行测试,这就是单元测试。o 在一种传统的结构化编程语言中,比如C,要进行测试的单元一般是函数或子过程。在象C+/java这样的面向对象的语言中, 要进行测试的基本单元是类。o 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。o 进
15、行单元测试,就是为了证明这段代码的结果和我们期望的一致。29/403、集成测试o 集成测试是指对系统的各个部件进行联合测试,以决定他们能否在一起共同工作而没有冲突。部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。o 集成测试是在单元测试的基础上,测试将所有的软件单元按要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。o 在集成测试之前,单元测试应该已经完成,集成测试中所使用的对象应该是已经经过单元测试的软件单元。o 集成测试(组装测试,联合测试)是单元测试的逻辑扩展。30/403、集成测试31/403、集成测试o 常见的集成测试方案: 自底向上集
16、成测试 自顶向下集成测试 Big-Bang集成测试 三明治集成测试 核心集成测试 分层集成测试 基于使用的集成测试等32/404、系统测试o 是对完整集成后的产品和解决方案进行测试,用来评价系统对具体需求规格说明的功能和非功能的符合性的测试。o 其测试的目的是发现可能难以直接与模块或接口关联的缺陷,发现产品设计、体系和代码的基础问题(产品级缺陷)。34/405、验收测试o 验收测试是部署软件之前的最后一个测试操作。在软件产品完成了功能测试和系统测试之后、产品发布之前所进行的软件测试活动它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软
17、件的既定功能和任务。o 验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。35/406、其它专项测试o 性能测试:是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。o 负载测试和压力测试是典型的性能测试。o 性能测试包括的测试内容丰富多样。中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。通常情况下,
18、三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。36/406、其它专项测试o 负载测试(Load testing): 通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。 在这种测试中,将使测试对象承担不同的工作量,以评测测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。 负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。37/406、其它专项测试o 容量测试:o 容量可以看作系统性能指标中一个特定环境下的一个特定性能指标,即设定的界限或极限值。o 容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。o 容量测试能让开发商或用户了解该系统的承载能力或提供服务的能力。如某个电子商务网站所能承受的、同时进行交易或结算的在线用户数。知道了系统的实际容量,如果不能满足设计要求,就应该寻求新的技术解决方案,以提高系统的容量。38/40
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保姆劳务合同范例买卖
- 代理采购服务合同范本
- 农场建筑合同范本
- 商业汇票质押合同范本
- 合作销售餐饮合同范本
- 业务销售合作合同范本
- 2025年过热蒸汽干燥设备合作协议书
- 合拍公司合同范本
- 合同范本签署地
- 售后代运营合同范本
- 《材料工程基础》教学大纲
- 国内外材料牌号对照
- 建设工程施工合同培训PPT(49页)
- 巴黎卢浮宫介绍PPT模板课件
- 蒂森克虏伯电梯曳引轮钢丝绳安装布置
- LY∕T 2780-2016 松疱锈病菌检疫技术规程
- 航空服务形体训练课程标准
- 项目部安全管理组织机构网络图GDAQ20102
- 苏科版四年级劳动技术下册教学计划
- 电网公司客户资产接收管理细则
- 干部选拔任用工作报告(一报告两评议).doc
评论
0/150
提交评论