




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,测试总体流程图,F验收测试,B单元测试,C整合测试,D系统测试,E性能测试,A测试计划、测试设计,立项,结束,.,测试分类,.黑盒测试.白盒测试.灰盒测试,.,软件中的难题,1.开发的不是客户需要的2.计划赶不上变化,进度无法按期完成3.挖坑还是开渠?永远的资源不足4.不能正确实现功能5.如何维护大量的已有软件?,.,软件与硬件的区别,.,软件工程,1.软件工程是为创造高质量软件提供的一个框架2.将系统化,规范化,可度量的方法应用于软件的开发,运行和维护,即将工程化应用于软件中3.包括过程,方法和工具三个层面4.过程,方法和人对质量的影响,.,过程,1.过程是项目管理的基础2.定义关键过程区域框架3.CMM中的KPA,.,方法,1.技术上需要如何做?2.方法涵盖一系列的任务:需求,设计,编码,测试,维护,.,工具,1.为工程,方法提供自动,半自动化的支持2.组建起来被另外一个工具使用3.组成软件工程环境,.,过程篇关于CMM,CMM(CapabilityMaturityModel)能力成熟度模型用于软件开发过程和开发能力的改进与评估的模型对软件工程的全过程进行考察和评估不告诉你怎么做,但告诉你不用成熟度应该关注的关键过程,.,何为CMM/CMMI,CMMI,目标:第一个是质量,第二个是时间表,第三就是要用最低的成本。与原有的能力成熟度模型CMM相比,CMMI涉及面更广,专业领域覆盖软件工程、系统工程、集成产品开发和系统采购CMMI即CMM集成,是系统工程和软件工程的集成成熟度模型,CMMI更适合于信息系统集成企业。CMMI是在CMM基础上发展起来的,它继承并发扬了CMM的优良特性,借鉴了其他模型的优点,融入了新的理论和实际研究成果。它不仅能够应用在软件工程领域,而且可以用于系统工程及其他工程领域。,.,CMMI阶段模型,5.优化级:持续过程改进,组织性快速重新配置4.量化管理级:过程和产品被量化度量并控制,组织性能提升3.已定义级:组织内项目改进和执行2.已管理级:能重复以前的成功,有纪律性1.初始级:过程能力不可预测,无秩序,.,Level1,在级别1:过程是随机,混乱和无序的。这种通常没有一个稳定的环境,它的成功依赖于组织中个人的能力和英雄主意,而不是依赖使用经过验证的过程。尽管这种混乱,无序的环境,对成熟度1的组织也经常能制造出能工作的产品和服务,但是,他们的项目经常是超成本和进度的。它们有过度承诺的趋势,在危机时放弃过程,不能重复他们过去的成功。,.,Level2,1.组织中的项目确保需求得到管理,过程已经计划,执行,度量和控制。2.即使在时间压力下,依然能够保留现有的实践。3.管理层在某些已定义点上对工作产品的状态和提交的服务具有可视性。4.在干系人(风险承担者)之间建立了承诺,在必要的时候进行修正。,.,Level3,工程得到很好地表现和理解,被描述成标准,规程,关键和方法。作为3级基础的组织标准过程集已经简历和不断改进。2,3级的区别在于标准,过程和规程的范围3级比2级的描述更具体和更严格,.,Level4,使用统计和量化技术进行控制建立了质量和过程性能的量化目标,作为过程管理的准则收集了过程性能的详细度量,进行统计分析质量和过程性能度量数据组成组织的度量库,来支持将来的基于事实的决策3,4级的区别在于过程性能的可预测性。,.,Level5,基于对过程中的固有偏差的一般原因的定量理解,持续的进行过程改进通过渐进的和革新的技术改进,集中在持续地过程性能改进上指出过程偏差的一般原因和可测地改进组织过程的过程改进得到识别,评估和实施敏捷和创新的过程优化依赖于授权员工的参与,他们与业务价值和组织目标保持一致,.,Level2,CMM2:可重复性KPA:软件配置管理软件质量保证子合同管理,.,Level2,软件项目跟踪和监控软件项目计划需求管理,.,配置管理,1.定义并文档化配置项的功能和物理属性2.控制这些属性的变更3.记录和报告变更处理结果和实施状态4.遵从制定的需求进行验证,.,同行评审,为什么进行评审?.促进文档化,提升可读性,易理解性等.查找错误,收集建议.扩散知识,产生后备力量评审什么?.项目中的一系列计划.项目各阶段的输出:文档,代码等谁来评审?项目组成员,PPQA,上级领导,客户等,.,同行评审,.评审的输入-待评审的文档,代码-XXX评审检查表.评审的输出-评审报告-评审过程检查表,.,正确看待文档,.文档是所有事情能够继承的保证.如果认为不必要,多一分也是多,如果认为必要,多少都不够.文档是一个人水平高低的体现.需要提高每个人的写作能力,练好内功,.,软件开发模型瀑布型,1.需求2.设计3.代码4.测试5.运行/维护,.,软件开发模型原型,1.用户需求不明确是采用2.快速设计,快速开发3.迭代的过程4.与用户一起明确需求5.最终会被抛弃,.,软件开发模型演化模型,.线性迭代.每个线性过程产生一个版本.分阶段提供给用户,.,敏捷式开发,1.是一种以人为核心、迭代、循序渐进的开发方法。2.在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。,.,决定软件质量的因素,1.过程2.方法3.工具4.人,.,测试目的,在产品投入使用前,通过综合的智力活动,发现程序中的显性和隐形的错误和缺陷。控制发布产品的质量,提升客户满意度,.,测试目的,测试的目的是发现和确认系统有问题,而不是验证系统没有问题确认软件生命周期中的各个阶段的产品是否正确确认最终交付的产品是否符合用户需求使用测试数据检验系统运行的行为是否是按照预期目标执行的,.,测试原则,所有测试都应该追溯到用户需求应该在测试工作真正开始的较长时间内就进行测试测试中发现的80%的问题可能集中在模块的20%中,.,测试原则,测试顺序应从简单到复杂,从模块到集成,从白到黑穷举测试是不可能的Bug不可避免,.,常用的测试技术,1.在产品成型前,对规约,设计,代码进行Review,确认与需求是否一致-静态测试2.了解产品内部结构,确认内部逻辑是否符合需求,且内部构件被充分利用-白盒测试3.如果了解特定的功能,在各种功能中寻找错误黑盒测试,.,静态测试和动态测试,1.静态测试:指不用执行程序的测试。主要采用Review,代码走查,同级评审,checklist检查单的方法对软件产品进行测试。2.动态测试:通过执行程序,找出产品问题的测试过程。黑盒,白盒都是动态测试。,.,白盒测试,白盒测试发现的错误类型:1.语法错误2.编译错误3.逻辑错误4.判定条件问题5.编程规范6.MemoryLeak7.PerformanceProblem,.,白盒测试,逻辑驱动测试基本路径测试,.,逻辑驱动测试,逻辑驱动测试:主要是测试覆盖率,以程序内在逻辑结构为基础的测试。包括以下6种类型:1.语句覆盖2.判断覆盖3.条件覆盖4.判定-条件覆盖5.条件组合覆盖6.路径覆盖,.,逻辑驱动测试,主要是测试覆盖率,以程序内在逻辑结构为基础的测试。包括以下6种类型:1.语句覆盖:语句覆盖就是设计若干个测试用例,运行测试程序,使得每一条可执行语句至少执行一次2.判断覆盖:也叫分支覆盖设计若干个测试用例,运行测试程序,使得每个判断的取真分支和取假分支至少执行一次3.条件覆盖:设计足够多的测试用例,运行测试程序,使得每个判断的每个条件的每个可能取值至少执行一次4.判定-条件覆盖:设计足够多的测试用例,运行测试程序,使得每个判断的所有可能的条件取值组合至少执行一次5.条件组合覆盖:设计足够多的测试用例,运行测试程序,使得程序中每个判断的所有可能的条件取值组合至少执行一次6.路径覆盖:设计足够多的测试用例,运行测试程序,要覆盖程序中所有可能的路径,.,ForExample,VoidDoWork(intx,inty,intz)intk=0,j=0;if(x3)/语句块2j=j%3;/语句块3,.,流程图如下:,.,语句覆盖,为了说明简略,分别对各个判断的取真,取假分支编号为b,c,d,e为了测试语句覆盖率只要设计一个测试用例就可以把三个执行语句块中的语句覆盖。测试用例输入为:x=4,y=5,z=5程序执行的路径是:abd该测试用例虽然覆盖了可执行语句,但是并不能检查判断逻辑是否有问题,例如在第一个判断中把INTEFACERETURNSvalue,minimum,maxium,sum;TYPEvalue(1:100)ISSCALARARRAY;TYPEiISINTEGER;i=1;Total.input=total.valid=0;1Sum=0DOWHILEvalue(i)-9992andtotal.input=minimum5andvalue(i)0;10THENaverage=sum/total.valid;11ELSEaverage=-999;12ENDIF13ENDaverage,.,数据流分析,.,环形复杂度,V(G)=判定节点+1=5+1基本测试路径:1.1-2-10-11-131-2-10-12-131-2-3-10-11-131-2-3-4-5-8-9-21-2-3-4-5-6-8-9-21-2-3-4-5-6-7-8-9-2,.,基本路径测试用例,.,从基本路径测试想到的,穷举测试是不可能的尽量选择有代表性的主要路径,更易发现问题,且对质量的贡献很大环形复杂度的方法也可以应用到黑盒测试中,.,单元测试,单元测试是对最小软件开发单元的测试单元测试重点测试程序的内部结构主要使用白盒测试方法由开发人员负责,.,单元测试中的常见错误,不正确的算法混合情况下的条件判断错误不正确的初始化计算结果的精度不精确语法错误不正确的逻辑优先级需求实现上的偏差,.,单元测试中的常见错误,不正确的循环处理缺少对错误输入的有效处理对错误输入的处理提示不准确接口协议错误接口处理逻辑错误内存溢出语句处理效率低,.,单元测试的方法,确定测试的基本路径进行边界测试进行接口测试通过打桩的方法,确认关键路径中的功能通过DEBUG工具,内存检查工具,代码覆盖率工具,.,探针,设置探针值在程序中增加DEBUG信息,跟踪探针结果主要用于程序调试,.,单元测试中实践问题,问题:1.开发工程师习惯认为代码完成后,就可以提交了,而省略了单元测试过程2.开发时间紧,没有时间做3.没有规范化的要求,质量不一,.,上述问题对开发的影响,1.在正式的测试环节,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年学法普法知识试题库与答案
- 心境障碍患者的护理试题及答案
- 2025年注射相关感染预防与控制培训考核试题(含答案)
- 2025年四川国家公务员行测考试真题及答案
- 2025客户个人信息保护专题培训试题及答案
- 标准眉型技法课件
- (2024)食品安全练习题库及答案
- 查看课件时间
- 柜面业务无纸化培训课件
- 染色打样实训课件
- CJ/T 3085-1999城镇燃气术语
- 停产报告管理制度
- DB31/T 636.2-2015会议经营与服务规范第2部分:会议场所服务机构
- 云南二级建造师b证试题及答案
- 电解铝公司工程项目投资估算
- 钣金工考试试题及答案
- 2025护士招聘笔试题目及答案
- 沟通与策略式家庭治疗
- 合同质保期更改补充协议
- GB/T 45381-2025动梁式龙门电火花成形机床精度检验
- 防腐涂层新技术及其应用前景
评论
0/150
提交评论