版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章
软件测评方海光fanghg@数字化学习实验室第五章
软件测评5.1软件测试的基础5.2软件测试策略5.3软件测试方法5.4
软件质量评价技术5.5
软件质量评价方法5.6软件测试与质量评价文档习题5.1
软件测试的基础5.1.1
软件测试概念5.1.2软件测试目的与原则5.1.3软件测试过程模型5.1.1
软件测试概念软件测试(SoftwareTesting)就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评价。5.1.2
软件测试目的与原则(1)软件测试的目的软件测试的目的是为了保证软件产品的最终质量,在软件开发的过程中,对软件产品进行质量控制。GrenfordJ.Myers对软件测试的目的提出过以下观点:①测试是为了发现程序中的错误而执行程序的过程;②好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;③成功的测试是发现了至今为止尚未发现的错误的测试。5.1.2
软件测试目的与原则(2)软件测试的原则
所有的测试都应追溯到用户需求。
应尽早地和不断地进行软件测试。
软件测试不能无限进行下去,应适时终止。
测试只能证明软件存在错误而不能证明软件没有错误。
充分关注测试中的集群现象。
程序员应避免检查自己的程序。
尽量避免测试的随意性。5.1.2
软件测试目的与原则(2)软件测试的原则设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件。
对测试错误结果一定要有一个确认的过程。
回归测试的关联性一定要引起充分的注意。
妥善保存一切测试过程文档。
设计测试用例时不但要选择合理的输入数据作为测试用例,而且要选择不合理的输入数据作为测试用例,使得系统能应付各种情况。
测试过程还要求用户参与,特别是验收测试阶段,用户是主要的参与者。5.1.3
软件测试过程模型(1)V模型V模型最早是由PaulRook在20世纪80年代后期提出的,旨在改进软件开发的效率和效果。V模型反映出了测试活动与分析设计活动的关系。图5.1软件测试V模型5.1.3
软件测试过程模型(1)V模型V模型指出,单元和集成测试应检测程序的执行是否满足软件设计的要求;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户需要或合同的要求。但V模型也存在一定的局限性,它仅仅把测试作为在编码之后的一个阶段,是针对程序进行的寻找错误的活动,而忽视了测试活动对需求分析、系统设计等活动的验证和确认的功能。5.1.3
软件测试过程模型(2)W模型W模型(也叫双V模型)由Evolutif公司提出的。相对于V模型,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。图5.2软件测试W模型5.1.3
软件测试过程模型(2)W模型W模型有利于尽早地全面的发现问题。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。但W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。5.1.3
软件测试过程模型(3)H模型V模型和W模型均存在一些不妥之处。于是有专家提出了H模型。它将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来,如图5.3所示。图5.3软件测试H模型5.1.3
软件测试过程模型(3)H模型图中标注的其他流程可以是任意的开发流程。例如,设计流程或编码流程。也就是说,只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了。H模型揭示了一个原理:软件是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。H模型指出软件测试要尽早准备,尽早执行。不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。5.1.3
软件测试过程模型(4)其他模型除上述几种常见模型外,业界还流传着其他几种模型,例如X模型、前置测试模型等。X模型提出针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接,通过集成最终合成为可执行的程序。前置测试模型体现了开发与测试的结合,要求对每一个交付内容进行测试。这些模型都针对其他模型的缺点提出了一些修正意见,但本身也可能存在一些不周到的地方。所以在测试过程管理中,正确选取过程模型是一个关键问题。5.1.3
软件测试过程模型(5)软件测试过程模型选取策略在实际测试工作中我们应该尽可能地去应用各模型中对项目有实用价值的方面,不能强行的为使用模型而使用模型。在测试实践中,我们经常采用的方法是:以W模型作为框架,及早的、全面的开展测试。同时灵活运用H模型独立测试的思想,在达到恰当的就绪点时就应该开展独立的测试工作,同时将测试工作进行迭代,最终保证完成测试目标。5.2
软件测试策略5.2.1
单元测试5.2.2
集成测试5.2.3验收测试5.2.4
系统测试与开发过程类似,测试过程也必须分步骤进行,后一个步骤在逻辑上是前一个步骤的继续。软件从编码结束到交付用户使用,需要经过单元测试、集成测试、验收测试和系统测试4个步骤,如图5.4所示。图5.4软件测试的步骤5.2
软件测试策略5.2.1
单元测试(1)什么是单元测试单元测试也称为模块测试,是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件或者场景下某个特定函数的行为。(2)什么时候进行单元测试单元测试越早越好,早到什么程度?在实际的工作中,可以不必过分强调先做什么后做什么,重要的是高效和感觉舒适。5.2.1
单元测试(3)单元测试的单位划分在进行单元测试时,把什么看成一个单元呢?在一种传统的结构化编程语言中,比如C,要进行测试的单元一般是函数或子过程。在像C++这样的面向对象的语言中,要进行测试的基本单元是类。单元测试的原则同样被扩展到第四代语言(4GL)的开发中,在这里基本单元被划分为一个菜单或显示界面。(4)单元测试的内容
模块接口测试
局部数据结构测试
重要路径测试错误处理测试边界测试5.2.2
集成测试(1)什么是集成测试集成测试也叫组装测试或者联合测试,是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。5.2.2
集成测试(2)集成测试过程集成测试一般可以划分为5个阶段:计划阶段,设计阶段,实现阶段,执行阶段(实施阶段)和评估阶段。如图5.5所示:图5.5集成测试过程5.2.2
集成测试(3)集成测试常用实施方案①自底向上集成测试
自底向上集成方式从程序模块结构中最底层的模块开始组装和测试。自底向上的集成(Bottom-UpIntegration)方式是最常使用的方法。自底向上的集成测试方案优点是:管理方便、测试人员能较好地锁定软件故障所在位置。虽然这种集成方案对于某些开发模式不一定完全适用,但是它仍不失为一个可供参考的集成测试方案。5.2.2
集成测试(3)集成测试常用实施方案②核心系统先行集成测试核心系统先行集成测试法的思想是先对核心软件部件进行集成测试,在测试通过的基础上再按各外围软件部件的重要程度逐个集成到核心系统中。该集成测试方法对于快速软件开发很有效果,适合较复杂系统的集成测试,能保证一些重要的功能和服务的实现。缺点是采用此法的系统一般应能明确区分核心软件部件和外围软件部件,核心软件部件应具有较高的耦合度,外围软件部件内部也应具有较高的耦合度,但各外围软件部件之间应具有较低的耦合度。5.2.3
验收测试(1)什么是验收测试验收测试主要由用户参加测试,是向未来的用户表明系统能够像预定要求那样工作。验收测试应检查软件能否按合同要求进行工作,即是否满足软件需求说明书中的确认标准。(2)验收测试策略①有效性测试②软件配置复查③α测试和β测试5.2.3
验收测试(3)验收测试步骤①了解软件的需求②编制《验收测试计划》和《项目验收准则》③编制测试设计和测试用例设计④搭建测试环境⑤测试实施:测试并记录测试结果。⑥测试结果分析⑦形成测试报告5.2.4
系统测试(1)什么是系统测试系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求,并且遵循系统设计。(2)系统测试的内容系统测试是将通过验收测试的软件,作为基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起进行的综合测试。5.2.4
系统测试(3)系统测试的步骤①制定系统测试计划②设计系统测试用例③执行系统测试④缺陷管理与改错5.3软件测试方法5.3.1白盒测试5.3.2黑盒测试5.3.1
白盒测试白盒测试(WhiteBoxTesting)把测试对象看作一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此,白盒测试又称为结构测试或逻辑驱动测试。5.3.1
白盒测试白盒测试是一种测试用例设计方法,它从程序的控制结构导出测试用例。白盒测试所产生的测试用例能够具有以下特点:保证一个模块中的所有独立路径至少被使用一次;对所有逻辑值均需测试true和false;在上下边界及可操作范围内运行所有循环;检查内部数据结构以确保其有效性。5.3.2
黑盒测试(1)什么是黑盒测试黑盒测试(BlackBoxTesting)又称为功能测试或数据驱动测试,是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。
采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图、判定表驱动分析方法等。5.3.2
黑盒测试(2)黑盒测试的测试用例设计方法①等价类划分法等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。②边界值分析法边界值分析方法是对等价类划分方法的补充。③错误推测法错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。5.3.2
黑盒测试(2)黑盒测试的测试用例设计方法④因果图方法必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图。⑤判定表前面因果图方法中已经用到了判定表。判定表(DecisionTable)是分析和表达多逻辑条件下执行不同操作的情况下的工具。5.3.2
黑盒测试(3)黑盒测试工具的选择黑盒测试工具的选择主要依据测试的目标软件和测试的要求而定,不同的测试目标可以相应选择支持的工具。这里简单介绍两个常用的测试工具,即WinRunner和LoadRunner。
WinRunner是一种用于检验应用程序能否如期运行的企业级软件功能测试工具。LoadRunner是一种预测系统行为和性能的负载测试工具。5.4
软件质量评价技术5.4.1经济评价5.4.2
效能评价5.4.3
性能评价5.4
软件质量评价技术为了能够对软件系统作出科学的评价,需要综合考虑软件系统的各个方面的特性,对软件系统进行全方位的评价,我们根据软件系统的性能、效能、经济性三个方面,把对软件系统的评价分为三类:1.经济评价2.效能评价3.性能评价
5.5
软件质量评价方法5.5.1质量评价的主要任务5.5.2质量评价过程5.5.3
质量评价方法5.5.4
教育软件质量评价方法5.5.1
质量评价的主要任务分析论证软件系统的组成规模和方案优劣检验软件系统的完备性、一致性正确性论证软件系统内部要素的相互关系对系
统总体效能的影响软件系统结构合理性分析软件系统效能指标的灵敏度分析5.5.2
质量评价过程通常的软件系统质量评价由七个步骤组成:①问题定义(ProblemFormulation):就是针对特定的问题提出决策者的需求和目标。②确定系统边界(SystemBounding):这一步骤就是确定与问题有关的各种要素③过程定义(ProcessDefinition):这一步骤就是在给定系统设置,运行环境想定和任务的情况下,来定义完成任务所需的各种过程④动态与静态集成(IntegrationofStaticsandDynamics):这一步骤的作用就是把数据流、信息流以及过程功能与系统组织结构联系起来,同时将系统中的物理实体也与上述过程功能联系起来。5.5.2
质量评价过程⑤度量指标的确定(SpecificationofMetric):确定系统的度量指标或准则⑥数据产生步骤(DataGeneration):本步骤就是通过演习、仿真、试验或主观判断来完成软件系统评价数据的收集工作。⑦度量指标的综合(AggregationofMetric):这是一个指标的综合评价和解析步骤。这一步骤的分析结果是直接用来回答在问题定义(步骤1)中由决策者提出的问题。5.5.3
质量评价方法(1)特征分析用来对各种产品的属性进行评分和排列,以便知道应该购买哪个工具或使用哪种方法。(2)调查调查是一种回顾性研究,它设法证明某种给定情况下的关系和结果。(3)案例研究在案例研究中,确定可能影响活动结果的关键因素,随后记录下它们:输入、约束、资源以及输出。(4)正式试验在一个正式试验中,通过操纵自变量的值来观察因变量的变化,以确定输入是如何影响输出的。5.5.4教育软件质量评价方法对于教育软件质量的评价,我们不但要参考软件系统评价的标准,也要考虑教育软件本身的特点。这个评价应当是确定教育软件的教育价值的过程,具体包括两个方面:一方面,它作为一种学习资源从其教学性上给予的评价;另一方面,它作为一种计算机应用软件从软件工程质量角度给予的评价。一般来说,教学软件的质量评价方法主要有两种,一种是专家评价
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度文化产品出口代理协议模板3篇
- 2025年度征收补偿与安置补偿协议执行监督办法4篇
- 2024年04月湖南国家开发银行湖南分行暑期实习生招考笔试历年参考题库附带答案详解
- 个人汽车租借协议2024年标准格式样张版B版
- 2025年度文化创意产业园区场地租赁管理协议4篇
- 个人与公司买卖合同范本完整版
- 2025年度文化产业园区场地合作开发合同协议书4篇
- 2024版室外房屋墙面装修合同书版B版
- 2025年度化妆品全球包销代理合同范本4篇
- 2024装饰装修合同的法律适用
- 2023年全国统一建筑工程预算工程量计算规则完整版
- 教科版四年级科学下册第三单元岩石与土壤4.制作岩石和矿物标本(教学设计)教案
- 大学《工程力学》期末考试试题库含详细答案
- 2022年湖北省武汉市中考数学试卷含解析
- TLFSA 003-2020 危害分析与关键控制点(HACCP)体系调味面制品生产企业要求
- LY/T 2244.3-2014自然保护区保护成效评估技术导则第3部分:景观保护
- 纪律教育月批评与自我批评五篇
- GB/T 26480-2011阀门的检验和试验
- GB/T 13342-2007船用往复式液压缸通用技术条件
- 药店员工教育培训资料
- GB 20371-2016食品安全国家标准食品加工用植物蛋白
评论
0/150
提交评论