®IBMSoftwareGroup需求驱动测试——交付高质量的系统©2008IBMCorporationIBMSoftwareGroup|Rationalsoftware议程交付高质量的系统需求驱动测试需求驱动测试IBM需求和测试管理解决方案问题与解答IBMSoftwareGroup|Rationalsoftware低质量系统所造成的影响低质量系统所造成的影响2006年4月,亚特兰大的机场旅客检查系统发生故障,不得不由检查人员来疏散旅不得不由检查人员来疏散旅客并人工检查行李Hartsfield-Jackson是美国最繁忙的机场。这次晚点事故使整个美国在当天都受到了影响。IBMSoftwareGroup|Rationalsoftware系统质量保证系统质量保证关于质量,Crosby的定义很简单——与需求一致。正确的需求:正确的功能的前提一致性致性与需求保持一致并不仅仅在项目的后期用测试来验证,更强调的是在项目的每一个阶段都紧紧围绕需求这个主线来开展工作。需求跟踪正是保证需求演化的整个过程都是与需求保持致以此保证项目和产品需求跟踪正是保证需求演化的整个过程都是与需求保持一致,以此保证项目和产品的最终质量PhilCrosbyPhilCrosbyIBMSoftwareGroup|Rationalsoftware需求定义需求软件产业存在的一个问题就是缺乏统一定义的名词术语来描述我们的工作。客户所定义的“需求”对于开发者似乎是一个较高层次的产品概念。而开发人员所说的“需求”对用户来说又象是详细设计了。实际上,软件需求包含着多个层次,不同从用户角度(系统的外部行为)和从开发者角层次需求从不同角度与不同程度反映着细节问题-IEEE软件工程标准词汇表(1997)中定义需求为:(1)用户解决问题或达到目标所需的条件或能力部行为)和从开发者角度(系统的内部特性)从系统角度认识需求(1)用户解决问题或达到目标所需的条件或能力(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力(3)一种反映上面(1)或(2)所描述的条件或能力的文档说明。产品是什么样的,(3)种反映上面(1)或(2)所描述的条件或能力的文档说明。需求是用户所需要的并能触发一个程序或系统开发工作的说明----(Jones1994)从系统外部能够发现系统所具有的满足于用户的特点、功能及属性等----(Alan而并非如何设计、构造从用户需求进一步转移到系统属Davis1993)需求是指明必须实现什么的规格说明。它描述了系统的行为、特性或属性,是在开发过程中对系统的约束----(SommervilleandSawyer1997)步转移到系统属性发过程中对系统的约束(SommervilleandSawyer1997)IBMSoftwareGroup|Rationalsoftware系统生命周期V模型系统生命周期V模型需求陈述操作应用验收测试验收产品用户需求验证系统满足集成子系统满足系统需求系统测试验证系统子系统需求集成测试集成子系统满足组件需求组件测试测试组件IBMSoftwareGroup|Rationalsoftware影响分析影响分析需求陈述操作应用验收测试验收产品用户需求需求陈述操作应用验收测试用户需求验证系统满足满足系统需求系统测试验证系统子系统需求集成测试集成子系统满足满足组件需求组件测试测试需求IBMSoftwareGroup|Rationalsoftware覆盖率分析覆盖率分析需求陈述操作应用验收测试验收产品用户需求需求陈述操作应用验收测试用户需求验证系统满足?满足系统需求系统测试?子系统需求集成测试集成子系统满足满足组件需求组件测试测试需求IBMSoftwareGroup|Rationalsoftware来源分析来源分析需求陈述操作应用验收测试验收产品用户需求需求陈述操作应用验收测试用户需求验证系统满足满足系统需求系统测试验证系统子系统需求集成测试集成子系统满足满足组件需求组件测试测试需求IBMSoftwareGroup|RationalsoftwareW型模型W型模型需求陈述操作应用验收测试验证产品涉众需求验收测试计划验证系统满足计划系统测试集成子系统满足系统需求系统测试系统测试计划满足子系统需求集成测试集成子系统集成测试计划满足组件需求组件测试测试组件组件测试计划IBMSoftwareGroup|Rationalsoftware议程交付高质量的系统需求驱动测试需求驱动测试IBM需求管理和测试管理解决方案问题与解答IBMSoftwareGroup|Rationalsoftware需求驱动测试需求驱动测试质量就是满足需求RequirementsManagement需求管理需求管理ManagementTestStatus测试管理基于需求的测试确保测试状态测试计划TestDesignTestExecution基于需求的测试确保交付物满足用户期望测试设计测试执行过程自动化和关注于需求过程自动化和关注于需求测试团队工作在正确的需求集上IBMSoftwareGroup|Rationalsoftware需求驱动测试的最佳实践尽早计划测试在需求编写时对每个需求的测试进行计划尽早引入测试尽早引入测试在开发过程中尽早地执行测试关联测试到需求关联测试到需求追溯测试到其所检查的需求关联缺陷到需求追溯缺陷到不被满足的需求根据需求度量测试进度设置目标,并根据那些被满足或不被满足的需求来度量测试的进度设置目标,并根据那些被满足或不被满足的需求来度量测试的进度IBMSoftwareGroup|Rationalsoftware需求驱动测试的价值提供了一种需求管理和测试管理的集成方法,使得:需求分析师能够交付包含全部验证标准的可测试需求需求分析师能够交付包含全部验证标准的可测试需求QA或测试人员能够根据一致的需求集进行测试开发发布管理能够基于需求质量度量而进行,而不是基于测试通过或失败的统计IBMSoftwareGroup|Rationalsoftware角色:需求分析师需求分析师关注于需求管理指定必须由测试所满足的验证标准需要知道需求是否被测试了执行影响分析来进行需求和测试覆盖想要参与到系统发布委员会中测试?测试?需求分析师需求分析师IBMSoftwareGroup|Rationalsoftware角色:QA或测试人员QA或测试人员主要关注于测试管理和测试执行使用验证标准作为测试需求需要参与到需求评审中建立到需求的追踪关系测试失败调查需求?需求?QA或测试人员QA或测试人员AG2IBMSoftwareGroup|Rationalsoftware角色:管理人员系统发布委员会分析缺陷影响(优先级,重要度)最终决策是否发布最终决策是否发布测试经理给系统发布委员会以信心,他们有一个有效的按照需求的测试过程开发经理按照其开发工作,基于最新的测试信息来影响系统发布委员会需求分析经需求分析经理对于一次系统发布,基于需求哪些被满足以及哪些未被满足,对其所造成的业务影响力来影响系统发布委员会IBMSoftwareGroup|Rationalsoftware议程交付高质量的系统需求驱动测试需求驱动测试IBM需求管理和测试管理解决方案问题与解答IBMSoftwareGroup|Rationalsoftware需求和测试管理解决方案需求和测试管理解决方案IBMCollaborativeApplicationLifecycleManagementRationalQualityManager质量仪表盘Telelogic测试管理质量仪表盘缺陷管理需求管理DOORS管理测试环境创建计划构建测试报告结果执行测试OpenPlatformJAZZTEAMSERVEROpenLifecycleServiceIntegrations最佳实践过程功能测试性能测试Web服务质量代码质量安全和合规性OpenLifecycleServiceIntegrationshomegrownIBMSoftwareGroup|Rationalsoftware使用TelelogicDOORS和RQM进行需求驱动的测试使用TelelogicDOORS和RQM进行需求驱动的测试质量就是满足需求RequirementsManagement需求管理DOORSManagementTestStatusRQM基于需求的测试确保测试状态测试计划TestDesignTestExecution基于需求的测试确保交付物满足用户期望测试设计测试执行过程自动化和关注于需求DOORS和RQM集成过程自动化和关注于需求测试团队工作在正确的需求集上DOORS和RQM集成计划在2009Q2发布IBMSoftwareGroup|Rationalsoftware需求分析师在DOORS中捕获需求需求分析师在DOORS中捕获需求IBMSoftwareGroup|RationalsoftwareQA或测试人员在RQM中查看需求QA或测试人员在RQM中查看需求IBMSoftwareGroup|RationalsoftwareQA或测试人员开发测试用例以测试需求QA或测试人员开发测试用例以测试需求IBMSoftwareGroup|Rationalsoftware需求分析师在DOORS中检查测试覆盖需求分析师在DOORS中检查测试覆盖IBMSoftwareGroup|RationalsoftwareQA或测试人员执行测试用例QA或测试人员执行测试用例IBMSoftwareGroup|Rationalsoftware分析师在DOORS中检查QA状态IBMSoftwareGroup|Rationalsoftware使用DOORS和RQM进行需求驱动测试的价值将组织更紧密粘结在一起无需脱离各自的工作环境就可以看见相关的信息改善系统质量改善系统质量将需求分析师和测试人员连接起来,确保清晰的验收目标既被定义也被满足了满足了IBMSoftwareGroup|RationalsoftwareIBM需求工程解决方案概览IBM需求工程解决方案概览跨整个产品开发过程的需求捕获&管理&变更管理管理需求实施需求捕获&管理&变更管理RationalClearQuest软件电子TelelogicDOORS结构软件电子TelelogicChange结构按照需求测试和度量质量RationalQuality按照需求测试和度量质量QualityManagerIBMSoftwareGroup|RationalsoftwareTelelogicDOORSTelelogicDOORS全球市场和技2007年40%的市场份额全球市场和技术领先者2007年40%的市场份额Yphise评价为最佳需求管理工具成功应用于各种易于使用的面向文档的成功应用于各种需求管理过程易于使用的面向文档的生命周期的任意信息追踪基于Wb的访问和评审最佳合格管理基于Web的访问和评审简单而强大的版本化功能和审计能力电子签名全面的追踪报告全面的追踪报告IBMSoftwareGroup|RationalsoftwareRationalQualityManager“ByintegratingandautomatingourdRtiltlStiRationalQualityManagerprocessandRationaltools,Sogeticandeliveraconsistentengagementapproach,provideclientswithprocesscustomizationandtransparencyandacceleratethedevelopmentoftestplansand通过协作减轻风险测试计划的团队协作可强制化的过程工作流assetswithinRationalQualityManager.”--DanHannigan“Easytouseandcompre