软件测试依据和规范_第1页
软件测试依据和规范_第2页
软件测试依据和规范_第3页
软件测试依据和规范_第4页
软件测试依据和规范_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件测试方法和技术

-Ch.4软件测试依据和规范

主讲教师:郭晓燕第四章软件测试依据和规范4.1测试过程模型4.2测试过程改进模型4.3软件测试标准和规范4.4软件测试管理和评判体系引论标准和规范是成熟工业的标志

软件行业也在不断朝此方向努力4.1测试过程模型V模型W模型W模型W模型测试过程和开发过程贯穿了软件过程的整个生命周期,它们是相辅相成的关系,有以下几个关键点:测试过程和开发过程是同时开始,同时结束,两者保持同步关系。测试过程是对开发过程中的阶段性结果和产品进行严重的过程,两者相互依赖。前期,测试过程依赖于开发过程,后期,开发过程更多地依赖于测试过程。测试过程和开发过程的工作重点可能不一样,两者有各自的特点,不论在资源和风险管理中,两者都存在差异。ISO9000是什么?ISO9000的由来ISO9000总体思想ISO9000体系结构ISO软件质量标准ISO(InternationalStandardizationOrganization,国际标准化组织)TC/176技术委员会制定的所有国际标准质量保证标准(ISO9001/2/3)质量管理标准(ISO9004)TC176即ISO中第176个技术委员会,成立于1980年,全称是“质量保证技术委员会”,1987年又更名为“质量管理和质量保证技术委员会”。TC176专门负责制定质量管理和质量保证技术的标准ISO软件质量标准思想

控制思想,即对产品形成的全过程进行控制。任何事物都是由一个或多个过程活动的结果,只要对产品形成的全过程进行控制并达到过程质量要求,最终产品的质量就有了保证

预防的思想。通过对产品形成的全过程进行控制以及建立并有效运行自我完善机制达到预防不合格,从根本上减少或消除不合格品ISO软件质量标准结构ISO9001:设计/开发、生产、安装和服务中质量保证模式;ISO9002:生产和安装中的质量保证模式;ISO9003:最终检验和测试中的质量保证模式;ISO9004:质量管理和质量体系要素导则。ISO9000系列标准的主体部分分为两组:“需方对供方要求质量保证”的标准ISO9001-9003“供方建立质量保证体系”的标准ISO9004ISO9000-3是什么ISO9000-3其实是ISO质量管理和质量保证标准在软件开发、供应和维护中的使用指南,并不作为质量体系注册/认证时的评估准则,主要考虑软件行业的特殊性制定。参照ISO9001《质量体系设计、开发、生产、安装和服务的质量保证模式》,并引用ISO8402《质量管理和质量保证术语》,使得ISO9000系列标准应用范围得以拓展ISO9000-3标准软件开发、供应、维护中应用ISO9001的指南是指南,不是标准依然困惑:依然强调的是供应商和顾客的关系,不是工程师该如何做ISO9000-3体系结构合同评审需方需求规格说明开发计划质量计划设计和实现测试和确认验收复制、交付和安装维护CMM思想和结构体系

CMM即软件能力成熟度模型(CapabilityMaturityModel)是向软件组织提供如何增加对其开发和维护软件过程的控制能力。设计并实施CMM是为了指导软件组织:通过确定当前过程的成熟度等级和识别出对软件质量和过程改进至关重要的问题,来选择其过程改进策略。通过关注一组有限的活动,并为实现它们而积极工作,组织能稳步地改善其软件过程,使其软件过程能力持续不断地增长。CMM的历史CMM分阶段的体系结构源于己有60多年历史的产品质量原理。ITT的PhilipCrosby在其书“QualityisFree”(Crosby79)中首先提出将质量原理改编为成熟度框架的思想。Humphrey的成熟度框架早期版本发表在SEI技术报告(Humphrey87a,Humphrey87b)、文章(Humphrey88)和书“ManagingthesoftwareProcess”(Humphrey89)中。基于CMM模型的过程改进软件过程改进的方法论-IDEAL修改组织的方法记录和分析教训定义过程和度量计划及执行试行方案计划,执行和跟踪改进方案建立过程行动组做行动计划设定战略和优先级提出建议并记录阶段成果评估当前实践情况改进动机确定改进范围以及获取支持建立改进机制诊断

建立行动

学习

初始化

InitiatingDiagnosingEstablishingActingLearningCMM的五个等级AdaptedfromSEI-93-TR-24MaturingDisciplinedProcessRepeatable(2)ProjectMgmtsysteminplace,performancerepeatableStandard,consistentprocessDefined(3)SWEngr&Mgmtprocessesdefined&integratedPredictableprocessManaged(4)Product&processesquantitativelycontrolledContinuouslyimprovingprocessOptimizing(5)ProcessimprovementinstitutionalizedInitial(1)ProcessisinformalandunpredictableCMM的五个等级及关键过程域

(二)不同成熟度的项目结果ProbabilityTime/$/...4Basedonquantitativeunderstandingofprocessandproduct,performancecontinuestoimproveTargetProbabilityTime/$/...3Withwell-definedprocesses,performanceimprovesTargetProbabilityTime/$/...2PlansbasedonpastperformancearemorerealisticTargetAdaptedfromSEI-93-TR-24ProbabilityTime/$/...1SchedulesandcosttargetsaretypicallyoverrunTargetProbabilityTime/$/...5TargetPerformancecontinuouslyimprovesDistributionofactualoutcomesTargetistheinitialestimatedobjectiveforacriticalprojectparameter(e.g.,cost,deliverydate,defectcounts)19关键过程域(KeyAreas)过程更改管理*技术更改管理*错误预防*质量管理*过程量化管理*同级评审*组间协作软件产品工程*软件集成管理*培训计划软件过程定义*软件过程要点*软件配置管理软件质量保证软件子合同管理软件项目追踪与监控*软件项目规划*需求管理II-可重复级III-已定义级IV-已管理级V-优化级ISO9000与CMM的关系ISO9000相当于CMM二级和三级的一部分内容(有人称为2.5级)CMM和ISO9000认证本身没有优劣之分CMM是一个动态的过程对于预算、项目周期管理等ISO9000涉及不够的内容,CMM有所覆盖ISO9000与CMM的区别ISO9001是通用的国际标准,适用于各类组织。CMM是美国军方为评价软件供应商的质量水平,委托SEI开发的一个评价模型,只用于软件业。CMM更详细,更专业。ISO9001只建立了一个可接受水平,而CMM是一个具有五个水平的评估工具。ISO9001聚焦于供应商和用户间的关系,而CMM更关注软件的开发过程。H公司的B项目是一个庞大的项目组,技术相当复杂。名词术语很多,而且对于同一件事物的表达方式也不尽相同。项目组非常有必要制定一个规范的术语表,既统一了说法,也方便项目组的新人查阅。但是事情的发展是很有戏剧性的。项目组在起初并没有重视术语表的编制,因为人少,产生的文档也不多,所以这件事情无人重视。但是到了项目进展了1/3左右,术语的混乱已经相当严重的时候。B项目组的一个工程师X自发地开发了一个小程序,用于查阅术语的名称和缩写。项目经理对X工程师的做法提出了表扬,并委任X开发和维护这个标准术语表。

项目经理和相关部门的始终没有意识到:(1)开发和维护这样的标准术语表是项目经理和配置管理人员的职责,不是某一个软件工程师的任务。(2)类似的问题在别的项目组一定出现过,以后的项目组一定也会遇到,必须在开发规范上堵住这个漏洞,让别的项目不会重蹈覆辙。所谓的“管理无大事”,过程管理的真谛就在于这些看似细节的小事。基本的过程管理原则和规范只是“骨架”,而“血肉”是要靠这些看似细枝末节的小事来丰满的。积沙成塔,集腋成裘,点滴持续地改进,其效果最终是巨大的。案例分析H公司和Z公司都在研发相同类型的C产品。H公司在推广CMM,采用了相对严格的过程规范,并且把相对重要的部分外包给了印度的CMM5级公司。这些手段Z公司都没有采用,但是Z公司却抢在了前面。

Z公司的“秘密武器”是一种形式化语言—SDL,Z公司采用SDL作为设计工具,这样C产品的相当一部分代码可以由SDL工具自动生成,而且在设计阶段就可以进行仿真运行,这样就大大地提高了效率并减少了缺陷。H公司虽然采用了相对严格的过程规范,但是因为全部代码为手工编制,所以,无论是效率还是质量,H公司都落后了。

H公司显然忽视了先进技术可能为生产率带来的进步,通过了CMM高级别的评估,只能说明被评估的组织机构在过程控制上做得更加细致,但是并不能够保证你的开发过程是高效的。某些沉迷于CMM的组织机构忘记了先进的软件工程技术的重要性。软件测试规范

软件测试规范就是对软件测试流程过程化并对每一个过程元素进行明确的界定,形成完整的规范体系。

软件测试标准国际标准ISO-9000-3、ISO/IEC14598国家标准GB国标,GB/T15532-2008行业标准IEEE企业规范项目规范完整的软件测试规范是怎样的规范本身的详细说明,比如规范目的、范围、文档结构、词汇表、参考信息、可追溯性、方针、过程/规范、指南、模板、检查表、培训、工具、参考资料等等。制定测试规范需要考虑的内容角色的确定进入的准则输入项活动过程输出项验证与确认退出的准则度量建立软件测试管理和评判体系

测试管理与评判的必要性软件测试的管理和评判体系发展现状如何建立测试管理与评判体系

为什么要建立管理与评判体系?监视和测量软件产品识别和控制不符合要求的产品验证产品设计和开发监视和测量软件过程测试管理和评判体系发展现状美国质量保证研究所对软件测试的研究结果表明:越早发现软件中存在的问题,开发费用就越低;在编码后修改软件缺陷的成本是编码前的10倍,在产品交付后修改软件缺陷的成本是交付前的10倍;软件质量越高,软件发布后的维护费用越低。根据对国际著名IT企业的统计,它们的软件测试费

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论