您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 软件质量保证与测试-1Overview of SQA
《软件质量保证和测试》软件质量保证肖睿rui.xiao@jb-aptech.com.cn软件质量保证内容软件质量软件质量保证:SQASQA目标SQA模型ISO9001CMMSQA支持工具软件质量保证软件质量什么是软件质量软件质量是指软件符合…的程度明确定义的功能和性能需求明确规定的开发标准和准则隐含要求的其他特性高质量的软件能够按照预期的时间和成本提交给用户,并能够按照预期要求正确工作的软件ScopeTimeCost软件质量保证软件质量为什么提出软件质量软件质量不高是导致软件危机的根本原因进度延误、预算超支项目失败、项目终止软件质量高可以降低总成本TOC软件维护成本高质量的软件可以降低维护成本,并延长软件的生命期,从而降低总成本软件失效成本高质量的软件可以降低软件失效导致的成本损失,从而降低总成本软件质量保证怎样提高软件质量目标减少软件中的bug策略GoodEnoughZero-Bug方法防止在软件中引入错误通过检测找出软件中的错误,并解决这种错误软件质量软件质量保证内容软件质量软件质量保证:SQASQA目标SQA模型ISO9001CMMSQA支持工具软件质量保证软件质量保证:SQA什么是SQASoftwareQualityAssurance是软件工程领域中的一部分为了确保软件开发过程和结果符合预期的要求,而建立的一系列规程,以及依照规程和计划采取的一系列活动及其结果评价软件开发过程是按照计划和规范实施的软件开发结果包括完整的软件和文档,并且符合可预期的目标和检验标准软件质量保证内容软件质量软件质量保证:SQASQA目标SQA模型ISO9001CMMSQA支持工具软件质量保证SQA目标SQA总目标减少并纠正实际的软件开发过程和软件开发结果与预期的软件开发过程和软件开发结果的不符合情况SQA方法通过在软件开发周期中尽可能早地预期或检测到不符合情况(错)误,来防止错误的发生,并减少错误纠正的成本错误发现得越早,造成的损失越小,修改的代价也越小软件质量保证SQA目标软件开发不同阶段:需求分析:RequirementsAnalysis规格定义:SoftwareSpecifications设计:Design编码:Coding测试:Testing维护:Maintenance软件质量保证SQA目标需求分析:RequirementsAnalysis确保客户提出的要求是可行的确保客户了解自己提出的需求的含义,并且这个需求能够真正达到他们的目标确保开发人员和客户对于需求没有误解或者误会确保按照需求实现的软件系统能够满足客户提出的要求软件质量保证SQA目标规格定义:SoftwareSpecifications:确保规格定义能够完全符合、支持和覆盖前面描述的系统需求可以采用建立需求跟踪文档和需求实现矩阵的方式确保规格定义满足系统需求的性能、可维护性、灵活性的要求确保规格定义是可以测试的,并且建立了测试策略确保建立了可行的、包含评审活动的开发进度表确保建立了正式的变更控制流程软件质量保证SQA目标设计:Design:确保建立了设计的描述标准,并且按照该标准进行设计确保设计变更被正确的跟踪、控制、文档化确保按照计划进行设计评审确保设计按照评审准则评审通过并被正式批准之前,没有开始正式编码软件质量保证SQA目标编码:Coding:确保建立了编码规范、文档格式标准,并且按照该标准进行编码确保代码被正确地测试和集成,代码的修改符合变更控制和版本控制流程确保按照计划的进度编写代码确保按照进化的进度进行代码评审软件质量保证SQA目标测试:Testing:确保建立了测试计划,并按照测试计划进行测试确保测试计划覆盖了所有的系统规格定义和系统需求确保经过测试和调试,软件仍旧符合系统规格和需求定义软件质量保证SQA目标维护:Maintenance:确保代码和文档同步更新,保持一致确保建立了变更控制流程和版本控制流程,并按照这些流程管理维护过程中的产品变化确保代码的更改仍旧符合编码规范、通过代码评审,并且不会造成垃圾代码或冗余代码软件质量保证内容软件质量软件质量保证:SQASQA目标SQA模型ISO9001CMMSQA支持工具软件质量保证SQA模型质量管理历史质量就是产品、过程、系统符合标准要求的能力质量是生产出来的,不是检测出来的二次世界大战的美国DOD,过程控制质量存在于全部直接/间接相关的环节中Deming,日本的全面质量管理TQMQualityisFreeCrosby,预防为主,第一次就把事情做好是最经济的质量管理的灵魂在于持续改进PDCA软件质量保证SQA模型软件质量管理相关标准和技术标准ISO9000族标准国际标准,ISO/TC176制订,适用于所有行业,其中9000-3针对软件开发行业SW-CMM标准行业标准,CMU-SEI制订和管理,针对软件开发行业TickIT标准行业标准,英国软件行业协会制定,针对软件开发行业ISO15504标准国际标准,试图结合ISO9000、CMM与软件工程概念BestPracticesRUP/XP/…项目管理技术项目:目标、起止时间、相关活动定义、计划、实施软件质量保证内容软件质量软件质量保证:SQASQA目标SQA模型ISO9001CMMSQA支持工具软件质量保证ISO9001•ISO9000族标准一系列关于质量管理/质量保证/质量审核方面的国际标准,1983/1994/20009001/9002/9003/9004/9000-3是管理思想的精华,管理工作的指导原则,也是做事方式•文档管理:写你要做的,做你所写的,记你所做的•过程控制:PDCA---计划性及持续改进相关标准:QS9000等软件质量保证ISO9001原则•原则1:以顾客为中心组织依存于顾客。因此,组织应理解顾客当前和未来的需求,满足顾客要求并争取超越顾客期望•原则2:领导作用领导将本组织的宗旨、方向和内部环境统一起来,并创造使员工能够充分参与实现组织目标的环境软件质量保证ISO9001原则•原则3:全员参与各级人员是组织之本。只有他们的充分参与,才能使他们的才干为组织带来最大的收益•原则4:过程方法将相关的资源和活动作为过程进行管理,重视输入和输出,可以更高效地得到期望的结果软件质量保证ISO9001原则•原则5:管理的系统方法针对设定的目标,识别、理解并管理一个由相互关联的过程所组成的系统,有助于提高组织的有效性和效率•原则6:持续改进持续改进是组织的一个永恒目标软件质量保证ISO9001原则原则7:基于事实的决策方法对数据和信息的逻辑分析或直觉判断是有效决策的基础原则8:互利的供方关系通过互利的关系,增强组织及其供方创造价值的能力软件质量保证ISO9001在软件企业的实施案例原则:运用项目管理技术重视质量策划重视培训和工具支持框架:质量手册、规程文件、作业指导书开发管理、体系支持软件质量保证ISO9001•在软件企业的实施案例•角色分工PM产品经理SA系统分析员DM开发经理其他角色QA(品质保证)、MA(市场分析)、Sales(销售)、Service(服务)...TE测试工程师SE高级软件工程师TE测试工程师软件质量保证ISO9001•在软件企业的实施案例•产品开发规程软件质量保证ISO9001•在软件企业的实施案例•定制项目开发规程软件质量保证ISO9001•在软件企业的实施案例体系支持规程1.管理评审规程2.质量体系文件控制规程3.内部质量体系审核规程4.纠正措施规程5.预防措施规程6.配置管理规程7.更改控制规程8.产品开发文档控制规程9.质量记录控制规程10.产品度量规程11.过程度量规程12.规则、惯例和约定控制规程13.工具和技术控制规程14.采购规程15.配套软件产品控制规程16.病毒防治规程17.产品加密规程18.培训规程软件质量保证ISO9001•在软件企业的实施案例ISO9001是品质保证标准,对过程管理提出最低要求质量保证体系根据软件工程原理自行设计和维持,满足ISO9001要求质量策划根据项目自身特点,对质量体系进行剪裁和补充软件质量保证内容软件质量软件质量保证:SQASQA目标SQA模型ISO9001CMMSQA支持工具软件质量保证CMM什么是CMM1980s,CMU-SEI的过程成熟度模型,针对软件企业,目前是CMMICMM与ISO9000采用与ISO9000一致的管理思想,针对知识密集型/系统复杂型过程,尤其是软件开发过程SW-CMM软件质量保证CMM初始级可重复级已管理级已定义级优化级成熟度风险作用:CPA与SPI软件质量保证CMM在软件企业的实施案例历史1997-1998:iso9001证书1999-2000:关注CMM、RUP1999-2001:用CMM检查/补充iso90012000-2001:CMM观点CMM与iso9001不矛盾、并且可以互补不拘泥于形式,利用思想、关注目标和效益软件质量保证CMM在软件企业的实施案例实施原则1、改进的原则不要完全打破旧有体制和流程体系和流程需要持续的改进和优化,不可松懈2、控制点原则注重特殊过程和关键过程,找出控制点3、角色分工的原则注重接口,责任落实软件质量保证CMM在软件企业的实施案例实施重点1、风险分析和管理预防胜于补救SQA的目标是规避风险测试的策略也是消除风险2、质量计划项目环境多变,不要试图千篇一律,针对每一个项目做出一个质量计划软件质量保证CMM在软件企业的实施案例实施重点3、需求管理需求管理是软件开发中的第一大风险需求是软件开发的内在的核心驱动和最活跃因素需求的表达和传递---UML管理需求---与用户一同工作需求管理---好的配置管理支持软件质量保证CMM在软件企业的实施案例实施重点4、配置管理配置管理是项目中最易见效的要素要有好的工具支持(Clearcase/SourceSafe)要有配置管理员的角色软件质量保证CMM在软件企业的实施案例实施重点5、项目组内部工具和编码规范统一一致比效率和个性更重要68%的编码错误是因为没有遵从编码规范避免误解和返工,避免工具间接口和版本不同带来的麻烦软件质量保证CMM在软件企业的实施案例实施重点6、独立的QA和测试人性使然自己发现不了自己的错误自己不愿意发现自己的错误不愿意报告利益相关人的错误找错是手段、度量和降低风险才是目的本身也是管理的手段软件质量保证CMM在软件企业的实施案例实施重点7、重视评审和落实事先找出关键点和特殊点,注重评审的计划性和强制性,使用Checklist规程和计划要不折不扣地执行逐步实施Pilot方法软件质量保证CMM在软件企业的实施案例实施重点8、强制与培训并重强制与培训是互补的行为-习惯-性格-结果/命运工具的作用提高执行效率和管理效率提供强制执行手段软件质量保证CMM在软件企业的实施案例实施难点1、度量与预算产品质量度量质量体系有效性度量项目进度度量员工工作量度量软件质量保证CMM在软件企业的实施案例实施难点2、管理和技术创新的矛盾按部就班与反应速度3、人员激励与规范的矛盾软件质量保证内容软件质量软件质量保证:SQASQA目标SQA模型ISO9001CMMSQA支持工具软件质量保证SQA支持工具SQA实施要素规范规程、模板、指南文档、记录人员分工、接口、培训、检查技术知识管理、工具软件质量保证SQA支持工具支持工具自行开发厂商提供IBMRat
本文标题:软件质量保证与测试-1Overview of SQA
链接地址:https://www.777doc.com/doc-446533 .html