软件质量管理体系建设方案41975.docx
关于软件质量管管理体系建设设的方案参考资料:cmmi3级级软件过程改改进方法与规规范 ISO90001:20000标准修改记录:版本修改内容描述作者日期备注1.00第一版zhanlinnhui2009/033/061.01增加“测试管理理体系”章节zhanlinnhui2009/055/15批准: 审核: 作者简介:软件企业质量经经理、高级项项目经理,联系方式_qq:31179742257方案说明:参考了cmmmi3级软件件过程改进方方法与规范、 ISO99001:22000标准准。同时参考了了业界同行写写的相关方案案或文章,吸吸收了他们的的优秀见解。目 录1.引言21.1软件质量量概述21.2公司软软件质量现状状分析31.3软件质量量管理的特点点41.4软件质量量责任分配52.软件质量管管理体系建设设总体方案72.1进一步推推动软件质量量管理体系建建设的原则72.2软件质量量管理体系完完善需要解决决的主要问题题82.3配置置管理实施软件质质量管理的重重要步骤92.4进一步完完善我们的测测试管理体系系102.4.1.软软件测试的组组织与管理规规划112.4.2.测测试管理体系系过程控制132.4.2.11测试流程模模型142.4.2.22测试流程控控制142.4.2.33 测试小结结162.5软件质量量保证(SQQA)的实施施162.5.1.SSQA概述162.5.1.SSQA实施172.5.2.SSQA与SQC区别与与协作182.6全面软件件质量管理192.6.1.全全面软件质量量管理192.6.2.全全面软件质量量管理的方法法-制定质质量管理计划划192.6.3.全全面软件质量量管理的方法法-技术评评审203.结束语2201.引言1.1软件质量量概述随着信息技术的的飞速发展,使使软件产品应应用到社会的的各个领域,也造就了软件行业激烈竞争的生存环境,随着软件规模及复杂性急剧加大,软件质量已经成为人们共同关注的焦点。技术是软件企业的生命,而质量则是它的灵魂,软件企业要在竞争中占有一席之地,软件质量保证是第一要素。由此,软件质量的重要性是不言而喻的。软件质量是指与软件产品满足规定的和隐含的需求的能力有关的特征和特性的总和。通常来说,软件质量应该包含六方面的特性: 功能性、可靠性、易使用性、效率、可维护性、可移植性。软件质量管理包包括:软件质量计划划编制、软件件质量保证和和软件质量控制制三个过程域域。质量计划就是是为了实现质质量目标的计计划,它主要要结合各个公公司的质量方方针,产品描描述以及质量量标准和规则则通过收益、成成本分析和流流程设计等工工具制定出来来实施方略,其其内容全面反反应用户的要要求,为质量量小组成员有有效工作提供了指指南,为项目目小组成员以以及项目相关关人员了解在在项目进行中中如何实施质质量保证和控控制提供依据据,为确保项项目质量得到到保障提供坚坚实的基础。质量保证(Quality Assurance ,QA)的目的是提供一种有效的人员组织形式和管理方法,通过客观地检查和监控“过程质量”与“产品质量”,从而实现持续地改进质量。质量保证是一种有计划的、贯穿于整个产品生命周期的质量管理方法。质量控制是对阶段性的成果进行检测、验证,为质量保证提供参考依据,它是一个PDCA循环过程。1c d)EMs:b&p7u Q7f48371 1.2公司软件件质量现状分分析公司的软件开发发历经多个生产个环节,产生生大量的中间间产品,每个个环节都有可可能带来产品品质量问题;同时由于软软件产品是逻逻辑体,不具具备实体的可可见性,因而而难以度量,质质量也难以把把控,因此如如何有效地管管理软件产品品的质量一直直是我们面临的挑挑战。虽然我公司在研研发电力行业信息息化相关软件件方面取得很很大成绩,但但是其软件能力力成熟度与国内同行业业知名企业相比比,还有一定的的差距。我公司司研发的软件件产品,除了产业规模模偏小、自主创新能能力不足之外,在易用用性、可靠性性、可移植性性、可维护性性、可扩展性性及系统集成成等方面也存在着一定定的质量问题题,导致“用户抱怨较多、产品投产后后缺陷纠正过过多、公司售后服务投入入过大”的不利局面,制制约了我公司司在电力软件件行业的持续续快速健康发展。究其原原因,可能是是以下几种原原因造成的:(1)对软件工程程标准化重视视不够。(2)软件质量管理理体系不健全全,实施效果果不佳。(3)企业对测试试工作投入不不足,测试管管理和测试环环境有待完善善,测试技术术有待提升。1.3软件质量量管理的特点点要解决软件的质质量问题,同同时保证开发发的成本和项项目的进度控控制、解决研研发中的诸多多不规范问题题,关键是要要建立起完善善的软件质量量管理体系,把把软件开发过过程合理地监监控起来,管管理起来,进进而达到提高高产品的质量量,控制产品品开发的进度度和成本的目目的。分析软件质量量管理的特点点,主要有以以下几点:1、软件质量管管理是贯穿软件研发的全过程程,而不能仅局限限于软件本身身软件质量不仅仅仅是一些测试试数据、统计计数据、客户户满意度调查查反馈表等等,衡衡量一个软件件质量的好坏坏,应该首先先考虑完成该该软件生产的的整个过程是是否达到了一一定的质量要求。在在软件开发实实践中,软件件质量控制可可以依靠流程程管理(如需需求管理、缺陷管理、配置管理、软件发布等),严严格按照软件工程执执行, 确保保软件的功能能性、可靠性、易使用性、效率、可维护性、可移植性。 2、对技术文档档的评审是控控制软件质量量的有效方式 研发过程中的很很多技术文档作为产品品的组成部分分,也需要像对产产品一样进行行检验,而对对技术文档的评评审就构成了了产品检验的的重要方式。技术评审主要有以下好处:通过消除工作成果的缺陷而提高产品的质量;技术评审可以在任何开发阶段执行,不必等到软件可以运行之际,越早消除缺陷就越能降低开发成本;开发人员能够及时地得到同行专家的帮助和指导,无疑会加深对工作成果的理解,更好地预防缺陷,一定程度上提高了开发效率。3、运用技术手手段保证质量量 利用多种工具软软件进行质量量保证的各种种工作,如用用Svn软件进进行配置管理理、文档管理和软软件变更控制制。采用先进进的系统分析析方法和软件件设计方法(OOA、OOOD、软件件复用等)来来促进软件质质量的提高。 4、应用质量管管理思想满足足顾客需求l 缺陷预防 分析已经产生的的缺陷并采用用相应的措施以以避免这类缺缺陷重复出现现, 找出并确确定引起缺陷陷的通常原因因。不公如此此,还要规划划缺陷预防活活动, 对引起缺缺陷的通常原原因划分优先先级并系统地地予以消除。 紧紧抓住用户需需求 充分地满足客户户的需求,不不管是付钱的的顾客,还是是软件的使用用者,都要尽尽可能地满足足。 采用快速原原型法,尽快快演示(Deemo)给用用户并及时获获取用户的反反馈,根据用用户的反馈不不断修改软件件,而不是全全部完工后再再最后交给用用户。否则,要要改的地方可可能很多。甚甚至推翻重来来。 充分设计之之后再编码,防防止因考虑不不周而造成返工。 l 牢牢控制对缺陷陷的修改 通过诸如TD之之类的强大的的软件缺陷管管理平台,记记录、跟踪和控制软件缺缺陷的修复。l 对软件进行充分分的系统测试试 在软件通过集成成测试后,还还需要进行充充分的、完整整的系统测试试和回归测试试,直至所有有的缺陷关闭闭为止。l 把握软件放行的的尺度商业目标决定质质量目标。提提高软件质量量的最终目的的是为了赢利利,而不是创创造完美无缺缺的产品。因因此对于普通通商业软件而而言,并不是是“质量越高越越好”,而是恰好好让广大用户户满意,并且且将提高质量量所付出的代代价控制在预预算之内。 软件零缺陷陷几乎是不可可能的,对遗遗留的缺陷要要进行充分分析,只只要能满足用用户需求,软软件遗留的缺缺陷可以在今今后升级版本本中解决。1.4软件质量量责任分配K _ P"xxs0VFt$w448371我我们公司已经经建立了初步步的研发管理理体系,项目目开发具备一一定的规范化化,在研发流程上采采用ISO99001:20000的标准进行行。我们公司司目前每个项目目除配备了项项目开发所需需角色外,还还专门配备了了配置管理组、测试组和质量保证证组(目前此角色由项目管管理部的监理理来履行此项项职责,但尚尚未真正开展展活动)确保软件质量管理理的实施,下下面针对这三三种角色进行行说明:511Testiing软件测测试网0hiie.U-VV S 1、配置管理理组职责511Testiing软件测测试网8J Dne!zzUc'C 配置管理组是是保证项目开开发完毕的同同时,内部文文档和外部文文档都同时完完成。内部文文档的及时产产生和规范,是是保证项目开开发各小组能能够更好的接接口和沟通的的重要前提,从从另一个方面面讲,也是保保证项目不被某个个关键路径所所阻塞而延滞滞的前提。如如上所述,配配置管理小组组还是保证质质量保证小组组得以发挥作作用的基础。配配置管理小组组的主要职责责包括: 完完善各个部门门发送需要存存档和进行版版本控制的代代码、文档(包包括外来文件件)和阶段性性成果; 对对代码、文档档等进行单向向出入的控制制; 对所有有存档的文档档进行版本控控制; 提供供文档规范,并并传达到开发发组中。2、测试组职责责,s"f$O:O7YYN483771 测试组作为质质量控制的主主要手段,负负责软件的测测试设计和执执行工作。如如同软件开发发一样,测试试在执行之前前,同样需要要进行测试计计划和测试策策略的设计,通通常情况下测测试可以分为为如下几种类类型,如:功功能性测试、性能测试、安全测试和系统测试等。而这些测试均需要在测试计划和测试策略中进行描述用以指导测试组成员进行测试用例编写和测试执行。程序员在交给测试人员之前应该是进行过一定的单元测试,确保程序编译、运行正确。51Testing软件测试网2W'D Z6RWh#M 测试人员只有根据软件需求规格说明书和详细设计说明书所提及的功能进行检测,才能确保项目组开发的软件产品满足用户需求。在正确性测试完成之后,需要测试的是软件的性能,软件的性能在本项目中占有重要的地位,性能要求有可能改变软件的设计,为避免造成软件的后期返工,测试在性能上需要较大的侧重。如果有必要的话,测试小组还需要做安全测试,以确保系统使用安全可靠。51Testing软件测试网;PszPRGW2i(NW 3、质量保证组职责51Testing软件测试网4Wv%m 质量保证小组作为质量保证的实施小组,主要职责是保证软件透明开发的主要环节。在项目开发的过程中几乎所有的部门都与质量保证小组有关。质量保证组对项目经理提供项目进度与项目真正开发时的差异报告,提出差异原因和改进方法。51Testing软件测试网:o M r0a)k)CL 在质量保证组认为某阶段开发质量有问题时,提请项目经理、项目负责人等必要的相关人员举行质量会议以解决当前存在的和潜在的问题。质量保证是建立在文档的复审基础之上,因而文档版本的控制,特别是软件配置管理,直接影响软件质量保证的影响力和力度。质量保证小组的检测范围包括:系统分析人员是否正确的反映了用户的需求; 软件执行体是否正确的实现了分析人员的设计思想; 测试人员是否进行了较为彻底的和全面的测试; 配置管理员是否对文档的规范化进行的比较彻底,版本控制是否有效。&K$o7c%a&RB/t WD"h48371 2.软件质量管管理体系建设设总体方案软件的质量的重重要性日益凸凸现,国内大型软件件企业不断在在CMMI上投入大量量资源提高软软件能力成熟熟度,而中小软件企企业也纷纷积极行动动起来,不断断改进软件质质量。目前我公司实施软软件质量管理理在过去一段段时间效果不不是太好,分分析其原因,可可能有以下几几点:1、公司过去面面对的是项目目多,项目杂杂的复杂情况况。因此无暇在软件质质量的方面投入过多多的资源。2、公司是项目目型软件企业业,主要以承承接客户的委委托开发项目目为主,它主主要的关注焦焦点是在项目目的合同期内内,在项目成成本许可的条条件下,交付付出客户满意意的开发项目目。而软件质量并并没有成为大大家关注的焦焦点,暂时也不会影影响公司的生生存。 3、在实施的过过程中,易发发生质量控制制人员和研发发人员的矛盾盾,降低实施施的有效性;因此针对我公司司质量管理实实践的现状,我我们不能操之之过急,急于于求成,应该该对质量管理理体系的建设设进行有计划划有步骤的稳稳步规划和推推进,特别需需要根据客观观情况,制定定一定的实施施原则,才可能有效地地推动公司软软件质量管理理工作。2.1进一步推推动软件质量量管理体系建建设的原则1、首先作检验验型质量管理理,再延伸至过程型型质量管理 所谓的检验验型质控,是是指在产品在在某个阶段结结束的时候,通通过有效的评评审和测试验验证其是否达达到了预期的的质量需求,主主要的步骤有有需求评审、概概要设计评审审、详细设计评审、代代码走查或评评审、测试、测测试评审等过过程。而过程程型质控是针针对软件研发发过程的不断断改进,来提提高软件的质质量。在中小小软件企业中中提倡首先作作检验型质控控,再作过程程型质控是基基于下面的几几点考虑: 首先先,检验型质控控(评审、测测试)是解决决显性问题的的最有效方法法。通过检验型型质控,使软软件质量得到到较快提高,增强质质量人员和公公司领导对公公司质量管理理工作的信心心,为过渡到到过程型质量量控制奠定坚坚实的基础。其次,目前普遍遍存在的软件件研发人员质质量意识薄弱弱,须通过有有效的检验型型质控为研发发人员进行初初级的质量意意识教育。 当我们的的检验型质控控发展到一定定的阶段,真真正起到了作作用后,再开开始进行过程程型质控的工工作,使质量量的深层次问问题不断得到到解决。 2、过程型质量管管理要循续渐渐进,尊重客客观规律,避避免拔苗助长长 过程型型质控是对研研发工作流程程的改动,这种改动对对项目组成员员来说改动了了他过去多年年形成的一些些习惯,并且且改动会增加项目组组的工作量,这种改动或或多或少地会会遭受到项目目组成员有意意无意的抵制制。因此,在在制定过程型型质控方案的的时候要判断断好优先级,从从最需要改动动的过程着手手,一步一步步地做。避免免急于求成,使使工作得不到到研发人员的的理解和支持持。 3、 软件质质量管理是一一种服务,需需要经验丰富富的质量管理理人才才能够够胜任 质量管管理实际上是是对项目的一一种质量服务务,目的是对项项目人员在质质量上的一种种帮助,帮助助其发现问题题、提供解决方法。因因此作为质量量控制人员的的能力需求上上是比较高的的。 同时,质量量控制人员通通过提供这种种服务,能够够拉近和研发发人员的距离离,研发人员员能够更加接接受过程型质质控的改动,使使质控工作的的矛盾更小。 因此,建建议从事质量量管理的人员员应该是从事事较长时间项项目研发、项项目管理的人人员,只有一一个资历深的的质量管理人人员才能够真真正地对项目目研发提供一一种高质量的的服务。 4、 加强相关人人员的培训是是工作中的重重中之重培训工作应该包包括两个方面面的内容: 一方面,在在实施过程型型质控过程中制定的的过程、标准准需要通过培培训的方式来来让所有的人人员都理解并并接受。另一一方面,需要要通过培训的的方式提高研研发人员的质质量意识。只只有质量意识识提高了,才才能大大减少质量管理理人员的工作作量。 2.2软件质量量管理体系完完善需要解决决的主要问题题1、 识别和建建立软件研发发的过程通用的软件的研研发过程一般般归结为:项项目立项需需求分析概概要设计详详细设计编编码测试运行维护。我们公司在研发流程上采用ISO9000的标准进行,已经具备一定的规范性。我们可以应用ISO12207信息技术软件生存周期过程,对照CMMI软件能力成熟度模型框架,结合软件企业的具体情况,进行过程建模优化,这是建立一个适宜的软件质量管理体系的前提。2、 明确管理理职责、调整整组织结构第一步就是要进进行软件质量量管理情况诊诊断,根据企企业的实际情情况和依据ISOO9001标标准的要求,进进行软件质理理管理组织架架构重构。第二步就是有明明确岗位分工工与职责,特特别要明确与与软件质量管理理有关的岗位位和职责,为为建立软件质量管理理体系打下基基础,以适应应建立软件质量管理理体系的需要要。由于公司在近几几年一直再做做软件质量管管理的基础工工作,因此这这项工作具备备一定的基础础,例如:构构建了较稳定定的配置管理理体系、测试试管理体系也也在不断的改改进之中。我我们目前的最最主要问题是是在于缺乏一一个有效的质质量保证组织织。3、 建立文件件化工作程序。再好的管理方法法如果没有写写成文件化的的程序,也是是空谈。建立立文件化程序序就是为了将将软件质量管理理体系固化下下来,相关的的过程和操作作都要做到有有章可循。建建立文件化程程序的过程实实际上是对流流程的一次全全面整理的过过程。4、 解决好软软件配置管理理和软件变更更控制。由于软件需求的的不确定性,软软件设计的变变更是不可避避免的。建立立基线是加强强变更控制的的前提。在设设计发生变更更时软件的配配置也必须随随之改变,所所以将软件配配置管理作为为一个关键过过程纳入软件件质量管理体体系是一项重重要的任务。2.3配置管理理实施软件件质量管理的的重要步骤软件配置管理简简称SCM(Softwware CConfigguratiion Maanagemment的缩缩写),是在在项目开发中中,标识、控控制和管理软软件变更的一一种管理。配配置管理的目目标是记录软软件产品的演演化过程,确确保项目组成成员在软件生生命周期中各各个阶段都能能得到精确的的产品配置。其其最终目标是是实现软件产产品在其生命命周期全过程程中的一致性性、完整性和和可追溯性,使使产品极大程程度地与用户户需求吻合。其主要工作和研究内容和包括:标识配置项、定义基线、建立配置库和基线库、控制配置项和基线的变更、做好配置项和基线的定期备份和异地备份、定期进行配置审计、及时报告配置状态。在软件质量体系系的诸多支持持活动中,配置管理处处在支持活动动的中心位置置,它有机地把把其它支持活活动结合起来来,形成一个个有机整体,相互促进,相互影响,有力地保证证了软件质量体系系的实施。从从现在软件企企业的发展战战略来说,如何在技术术日新月异、人人员流动频繁繁的情况下建建立本公司的的知识库及经经验库,把个人的知知识及经验转转变成公司的知识识和经验,这对于提高高工作效率,缩短产品周周期,加强公司的的竞争力具有有至关重要的的作用。同时时良好的配置置管理有利于于规范管理,量量化工作量考考核,规范测测试,加强协协调和沟通。采用科学的配置管理思想,辅之以先进的配置管理工具,已经成为必不可少的手段。配置管理工作是是一个默默无无闻,不受人人关注,但是是极为重要的的工作。这二二年来,我们们尽心尽责地地配合所有项项目组,为各各个项目制定定配置管理计计划,建立配配置管理系统统,并且制定了了配置管理制制度和配置管管理流程,构建了功能能强大,安全全有效,可操操作性强的SSVN(suubverssion)配配置管理平台台。通过不断断的实践摸索索,积累了较较为丰富的配配置管理经验验,随时可以以为各项目组组提供精确的的良好的配置置管理。通过过建立完整的的代码对象库库、业务经验验库,将会给给项目组以及及软件测试的的工作带来很很大的便利,同同时将会最大大程度上降低低了由于人员员流失所造成成的损失。由由于有了配置置管理平台,目目前研发部软软件代码和文文档都得到了了良好的管理理,也使软件开开发人员以及及软件测试人人员能够很好好的协同合作作开发产品,从整个公司司层面来说也也是一个不断断地为公司积积累业务经验验和技术财富富的过程。通通过努力,目目前项目管理理部已经建立立了较为完整整的软件配置置管理体系,并并且初步制定定了配置管理理制度和配置置管理流程,构建配置管管理信息化支支撑平台,项项目管理部将将进一步加强强配置管理工工作,进一步步完善软件配配置管理体系系。2.4进一步完完善我们的测测试管理体系系我们公司采用的的传统的软件件测试流程一一般是先在软软件开发过程程中进行少量量的单元测试试,然后在整整个软件开发发结束阶段,集集中进行大量量的测试,包包括功能和性性能的集成测测试和系统测测试。在实际际工作当中,随着开发的软件项目越来越复杂,传统的软件测试流程已经不能适应工作的需求。针对传统软件测试模式的弊端,根据我们和研发部门相关人员的讨论,认为软件测试不能只发生在软件代码已经编写完毕之后,而应该在软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正。这就是软件软件工程界的一种新的观点:“尽早测试”, 所谓尽早测试是指在整个软件开发生命周期中通过各种软件工程技术尽量早的完成各种软件测试任务的一种思想。软件的整个测试生命周期是与软件的开发生命周期基本平齐的过程,即当需求分析基本明确后我们就应该基于需求分析的结果和整个项目计划来进行软件的测试计划;伴随着分析设计过程同时应该完成测试用例的设计;当软件的第一个发布出来后,测试人员要马上基于它进行测试脚本的实现。2.4.1.软软件测试的组组织与管理规规划1、测试的过程程及组织 当设计工工作完成以后后,就应该着着手测试的准准备工作了,一一般来讲,由由一位对整个个系统设计熟熟悉的设计人人员编写测试试大纲,明确确测试的内容容和测试通过过的准则,设设计完整合理理的测试用例例,以便系统统实现后进行行全面测试。 在开发组将所开开发的程序经经验证后,提提交测试组,由由测试负责人人组织测试,测测试一般可按按下列方式组组织: (1)首先先,测试人员员要仔细阅读读有关资料,包包括规格说明明、设计文档档、使用说明明书及在设计计过程中形成成的测试大纲纲、测试内容容及测试的通通过准则,全全面熟悉系统统,编写测试试计划,设计计测试用例,作作好测试前的的准备工作。 (2)为了保证测测试的质量,将将测试过程分分成几个阶段段,即:代码码审查、单元元测试、集成成测试、确认认测试和系统统测试。 (3)代代码会审 代码会审审是由一组人人通过阅读、讨讨论和争议对对程序进行静静态分析的过过程。会审小小组在充分阅阅读待审程序序文本、控制制流程图及有有关要求、规规范等文件基基础上,召开开代码会审会会,程序员逐逐句讲解程序序的逻辑,并并展开热烈的的讨论甚至争争议,以揭示示错误的关键键所在。实践践表明,程序序员在讲解过过程中能发现现许多自己原原来没有发现现的错误,而而讨论和争议议则进一步促促使了问题的的暴露。 (4)单单元测试 单元测试试集中在检查查软件设计的的最小单位模块上,通通过测试发现现实现该模块块的实际功能能与定义该模模块的功能说说明不符合的的情况,以及及编码的错误误。 (5)集成测测试 集集成测试是将将模块按照设设计要求组装装起来同时进进行测试,主主要目标是发发现与接口有有关的问题。如如数据穿过接接口时可能丢丢失;一个模模块与另一个个模块可能有有由于疏忽的的问题而造成成有害影响;把子功能组组合起来可能能不产生预期期的主功能;个别看起来来是可以接受受的误差可能能积累到不能能接受的程度度;全程数据据结构可能有有错误等。 (6)系统测试试 软件件开发完成以以后,最终还还要与系统中中其他部分配配套运行,进进行系统测试试。包括恢复复测试、安全全测试、强度度测试和性能能测试等。 经过上上述的测试过过程对软件进进行测试后,软软件基本满足足开发的要求求,测试宣告告结束,经验验收后,将软软件提交用户户。 2、测试的人员员组织 为了保证软软件的开发质质量,软件测测试应贯穿于于软件定义与与开发的整个个过程。因此此,对分析、设设计和实现等等各阶段所得得到的结果,包包括需求规格格说明、设计计规格说明及及源程序都应应进行软件测测试。基于此此,测试人员员的组织也应应是分阶段的的。 (1)软件的的设计和实现现都是基于需需求分析规格格说明进行的的。 需需求分析规格格说明是否完完整、正确、清清晰是软件开开发成败的关关键。为了保保证需求定义义的质量,应应对其进行严严格的审查。 (2)设计评审 软件设设计是将软件件需求转换成成软件表示的的过程。主要要描绘出系统统结构、详细细的处理过程程和数据库模模式。按照需需求的规格说说明对系统结结构的合理性性、处理过程程的正确性进进行评价,同同时利用关系系数据库的规规范化理论对对数据库模式式进行审查。 (3)程序的测试试 是指指软件测试。是是整个软件开开发过程中交交付用户使用用前的最后阶阶段,是软件件质量保证的的关键。软件件测试在软件件生存周期中中横跨两个阶阶段:通常在在编写出每一一个模块之后后,就对它进进行必要的测测试(称为单单元测试)。编编码与单元测测试属于软件件生存周期中中的同一阶段段。该阶段的的测试工作,由由编程组内部部人员进行交交叉测试(避避免编程人员员测试自己的的程序)。这这一阶段结束束后,进入软软件生存周期期的测试阶段段,对软件系系统进行各种种综合的测试试。测试工作作由专门的测测试组完成,负负责整个测试试的计划、组组织工作。测测试组的其他他成员由具有有一定的分析析、设计和编编程经验的专专业人员组成成,人数根据据具体情况可可多可少。 3、软件测试文文件 软软件测试文件件描述要执行行的软件测试试及测试的结结果。由于软软件测试是一一个很复杂的的过程,同时时也是设计软软件开发其他他一些阶段的的工作,对于于保证软件的的质量和它的的运行有着重重要意义,必必须把对它们们的要求、过过程及测试结结果以正式的的文件形式定定义清楚。测测试文件的编编写是测试工工作规范化的的一个组成部部分。 测试文件不不只在测试阶阶段才考虑,它它在软件开发发的需求分析析阶段就开始始着手,因为为测试文件与与用户有着密密切的关系。在在设计阶段的的一些设计方方案也应在测测试文件中得得到反映,以以利于设计的的检验。测试试文件对于测测试阶段工作作的指导与评评价作用更是是非常明显的的。需要特别别指出的是,在在已开发的软软件投入运行行的维护阶段段,常常还要要进行再测试试或回归测试试,这时仍须须用到测试文文件。 2.4.2.测测试管理体系系过程控制为了保证测试试管理体系能能够正确并且且无误的实施施与执行,我我们设计了一一套测试管理理体系流程,用用来控制测试试管理体系执执行。2.4.2.11测试流程模模型需求分析软件设计验收测试设计系统测试设计验收测试执行系统测试执行集成测试设计集成测试执行系统测试过程集成测试过程单元测试过程软件编码和单元测试图1-1 V模型2.4.2.22测试流程控制1、需求分析需求分析(Reequirmment AAnalyzzing)应应该说是软件件测试的一个个重要环节,测测试开发人员员对这一环节节的理解程度度如何将直接接影响到接下下来有关测试试工作的开展展。一般而言言,需求分析析包括软件功功能需求分析析、测试环境境需求分析、测测试资源需求求分析等。其其中最基本的的是软件功能能需求分析,测测一款软件首首先要知道软软件能实现哪哪些功能以及及是怎样实现现的。测试需需求分析的依依据有软件需需求文档、软软件规格书以以及开发人员员的设计文档档等。2、测试计划 测试计划(Teest Pllan)一般般由测试负责责人来编写。测测试计划的依依据主要是项项目开发计划划和测试需求求分析结果而而制定。3、测试设计测试设计主要包包括测试用例例编写和测试试场景设计两两方面。一份份好的测试用用例对测试有有很好的指导导作用,能够够发现很多软软件问题。测测试场景设计计主要也就是是测试环境问问题了。4、测试环境搭搭建不同软件产品对对测试环境有有着不同的要要求。如C/S及B/S架构相相关的软件产产品,那么对对不同操作系系统,如Winddows系列列、unixx、linuxx等,这些测测试环境都是是必须的。而而对于一些嵌嵌入式软件,如如手机软件,如如果我们想测测试一下有关关功能模块的的耗电情况,手手机待机时间间等,那么我我们可能就需需要搭建相应应的电流测试试环境了。当当然测试中对对于如手机网网络等环境都都有所要求。测测试环境很重重要,符合要要求的测试环环境能够帮助助我们准确的的测出软件问问题,并且做做出正确的判判断。5、测试执行 测试执行过程又又可以分为以以下阶段:单元测试集成成测试系统测试验收测试,其中每个阶阶段还有回归归测试等。6、测试记录缺陷记录总的说说来包括两方方面:提交缺缺陷和缺陷描描述。一般而而言,缺陷都都是谁测试谁谁提交,当然然有些公司可可能为了保证证所提交缺陷陷的质量,还还会在提交前前进行缺陷评评估,以确保保所提交的缺缺陷的准确性性。7、缺陷管理缺陷管理方面,很很多公司都采采取缺陷管理理工具来进行行管理,常见见缺陷管理工工具有Tesst Dirrectorr、Bugfrree等。8、软件评估这里评估指软件件经过一轮又又一轮测试后后,确认软件件无重大问题题或者问题很很少的情况下下,对准备发发给客户的软软件进行评估估,以确定是是否能够发行行给客户或投投放市场。软件评估小组一一般由项目管管理人员、项项目负责人、营营销人员、部部门经理等组组成,也可能能是由客户指指定的第三方方人员组成。9、测试总结每个版本有每个个版本的测试试总结,每个个阶段有每个个阶段的测试试总结,当项项目完成RTTM后,一般般要对整个项项目做个回顾顾总结,看有有哪些做的不不足的地方,有有哪些经验可可以对今后的的测试工作做做借鉴使用,等等等。测试总总结无严格格格式、字数限限制。应该说说,测试总结结还是很总要要的。10.测试维护护 由于测试的的不完全性,当当软件正式发发布后,客户户在使用过程程中,难免遇遇到一些问题题,有的甚至至是严重性的的问题,这就就需要修改有有关问题,修修改后需要再再次对软件进进行测试、评评估、发行。2.4.2.33 测试小结软件测试本身是是一个复杂的的过程。因此此,早在需求求分析和设计计阶段,测试试小组的测试试人员就应该该对各种说明明书进行仔细细分析,提取取有关的测试试信息,编写写了测试计划划和测试规程程。适时采用用各种软件测测试方法对软软件进行测试试,在测试过过程中,把发发现的错误及及时反馈给开开发人员,确确保测试人员员与开发人员员的及时沟通通。对开发人人员修正过的的软件,还要要分析修改部部分对整个系系统的影响,有有针对性地对对受影响的部部分进行重新新测试。测试试人员在测试试的同时还完完成了各种测测试文件的编编写工作。 作为保保证系统软件件质量的一种种重要手段,软软件测试是必必不可少的,但但是仅仅依靠靠测试来保证证软件质量是是不够的,还还需要有良好好的软件质量管理理体系。软件件质量管理的的一条主要途途径就是建立立质量保证小小组,这个小小组要参与软软件开发和确确认的各个阶阶段,并承担担以下任务: (11)保证对系系统需求说明明书、设计文文本、软件代代码和测试步步骤的严格控控制,确保被被测软件与设设计需求、文文本的高级要要求说明一致致;(2)代代码化之前复复审软件设计计;(3)参参与设计和开开发活动的技技术审查和复复审;(4)进行复审以以保证软件与与标准和规程程一致;(55)记录软件件的问题和不不一致之处并并监控正确的的操作;(66)复审并核核准合格的测测试计划和测测试规程;(7)监控测测试操作。 2.5软件质量量保证(SQA)的实施施2.5.1.SSQA概述 SQA(软件质质量保证)是是CMMI一个重要关关键过程域,它是贯穿于于整个软件过过程的第三方方独立审查活活动,在CMMMI的过程中充充当重要角色色。目前,我我们公司的SSQA的职责责由项目管理理部监理履行行。 目的是向项目目管理者提供供对软件过程程进行全面监监控的手段,包括评审和和审计软件产产品和活动,验证它们是是否符合相应应的规程和标标准,同时给给项目管理者者提供这些评评审和审计的的结果。 SSQA组织的的责任是审计计软件开发活活动的质量并鉴别活活动中出现的的偏差。2.5.1.SSQA实施软件质量保保证的目标是是以独立审查查的方式监控控软件研发的全全过程,给开开发人员和项项目管理人员员提供反映软件件质量的信息息和数据,辅辅助研发组得到高高质量的软件件产品,其主主要职责内容包括以下下三个方面: 通过监控软软件的开发过过程来保证软软件的质量; 保保证生产出的的软件和软件件开发过程符符合相应的标标准与规程; 保保证软件产品品、软件过程程中存在的不不符合问题得得到处理,必必要时将问题题反映给项目目管高层。 确保保项目组制定定的计划、标标准和规程适适合项目组需需要,同时满满足评审需要要 向开发人员员提供反馈 相应地,软件质质量保证的主主要活动有以下几个方面:SQA审计与与评审SQA审计计包括对软件件工作产品、软软件工具和设设备的审计,评价这几项项内容是否符符合组织规定定的标准。SSQA评审的的主要任务是是保证软件工工程组的活动动与预定义的的软件过程一一致,确保软软件过程在软软件产品的生生产中得到遵遵循。客观评评价过程和工工作产品:对对于所实施的的过程和相关关工作产品以以及服务对适适用的过程描描述、标准和和规程的遵循循情况进行客客观评价。 SQA报报告SQA人员员应记录工作作的结果,并并写入到报告告之中,发布布给相关的人人员。SQAA报告的发布布应遵循3条条基本原则:SQA和高高级管理者之之间应有直接接沟通的渠道道、SQA报报告必须发布布给软件工程程组但不必发发布给项目管管理人员、在在可能的情况况下向关心软软件质量的人人发布SQAA报告。 处理不符合合问题这是SQAA的一个重要要的任务,SSQA人员要要对工作过程程中发现的不不符合问题进进行处理,及及时向有关人人员及高级管管理者反映。在在处理问题的的过程中要遵遵循两个原则则:其一,对对符合标准过过程的活动,SQA人员员应该积极地地报告活动的的进展情况以以及这些活动动在符合标准准方面的效果果;其二,对对不符合标准准过程的活动动,SQA要要报告其不符符合性以及它它对产品的影影响,同时提提出改进建议议。软件质量保保证任务的实实现需要考虑虑几方面的问问题。首先,要考虑SQQA人员的素素质。SQAA人员的责任任是审查软件件设计、开发发人员的活动动,验证他们们是否将选定定的标准、方方法和规程应应用到活动中中去,因此,SQA工作作的有效执行行需要SQAA人员掌握专专业的技术,例如质量控控制知识、统统计学知识等等。其次,SSQA人员的的经验对任务务的实现同样样重要。应该该选择那些经经验丰富的人人来做SQAA,同时为SSQA人员进进行专门的培培训,以使他他们能够胜任任这项工作。第第三