Rational系统测试解决方案.ppt
Rational测试解决方案,议程,组件测试系统测试管理GUI功能测试自动化性能测试自动化,议程,当前软件测试面临的挑战组件测试系统测试管理GUI功能测试自动化性能测试自动化,当前软件测试面临的挑战,如何适应由于软件新技术、新架构的应用导致测试工作量增大?,如何进行软件测试工作的分工?,如何提高开发团队的进行组件测试的质量?,如何提高系统测试团队的士气?,如何评价系统测试过程的进度?,如何评价系统测试的完备性?,如何评价软件质量?,软件测试阶段,传统的软件测试,Time,现代软件测试,Time,组件测试,系统测试,软件项目工作流程,测试评估,业务建模,需求分析,软件设计,软件实现,测试计划,测试设计,测试实现,测试执行,组件测试,组件测试以测试为驱动的开发(XP),目的尽可能发现早的软件缺陷保证系统测试的效率测试方法黑盒和白盒相结合黑盒测试:基于软件设计规范设计测试用例白盒测试:基于代码覆盖情况设计测试用例利用Xunit测试框架提高测试用例实现效率http:/,组件测试Rational解决方案,组件测试理念边开发边测试减少对软件开发自身的影响无需学习测试脚本语言软件测试工具Purify:自动定位内存相关错误Quantify:发现程序的性能瓶颈Coverage:发现未被测试的代码Test RealTime:针对嵌入式系统软件组件测试,系统测试,主要由测试部门进行为测试工程师提供良好的职业发展道路测试经理测试分析员测试员增强测试团队和开发团队的沟通明确定义并贯彻的测试过程是测试自动化的重要前提,系统测试过程测试计划,输入:软件需求书输出:测试计划书,1、测试需求2、测试策略3、测试资源4、测试进度,系统测试过程测试设计,输入:软件测试计划书输出:软件测试大纲,1、测试描述2、前置条件3、测试步骤4、验证点5、后置条件6、测试通过条件,良好的测试设计是测试自动化的重要保证!,系统测试过程测试开发,测试脚本手工测试脚本自动化测试脚本,系统测试过程测试执行,测试执行进行测试执行管理运行测试记录测试结果,包括缺陷报告和测试日志,系统测试过程测试评估,测试评估统计和分析测试结果,确定是否达到软件发布的标准,系统测试过程缺陷跟踪,缺陷跟踪记录测试发现的缺陷或用户问题,并且跟踪、管理缺陷的状态变更,系统测试度量,测试覆盖率:评价测试的完备性需求覆盖率代码覆盖率测试报告Defect DensityDefect AgingDefect Trend性能指标动态监控响应时间/吞吐量报告百分比报告,Rational系统测试方案,软件工具是完美过程得以成功实施的重要保证Rational TeamTestTestManager:集中、可伸缩的测试管理平台Robot:传统应用自动化测试工具RobotJ:Web/Java自动测试工具ClearQuest:缺陷跟踪工具,TestManager:控制中心,Rational TestManager,Rational TestManager:跨越整个测试周期,TestManager和ClearQuest集成,自动实现缺陷与需求之间的关联,测试度量:覆盖,趋势等,Rational系统测试方案,PlanTest,TestManager,ImplementTest,RobotRobotJTestManager,ExecuteTest,RobotRobotJTestManager,Change Request and Configuration Management-ClearQuest and ClearCase LT,Rational Unified Process,GUI自动化测试,设计测试用例,并手工进行测试。如果测试未通过,则先改正缺陷,再次执行测试。如果测试通过,利用测试工具运行该测试过程,捕获运行过程需要检测的屏幕对象,并保存。在进行回归测试测试,自动利用测试工具运行测试,并比较运行过程的屏幕对象与保存的屏幕对象比较,从而判断测试用例是否通过。,利用Robot进行基于GUI的自动功能测试,2.执行测试脚本,录制一次,随处运行,和白盒工具集成,RobotJ:测试Java和Web应用,NEWTechnology forJava and Web BasedApplications,ScriptAssure:降低了测试脚本的维护成本,Version 1.0,Version 2.0,动态数据验证:可伸缩的测试脚本,Order ID changes with each order placed,动态内容匹配利用模式匹配技术来验证数据,Test Fails when comparing static baseline to dynamic data,Test Passes when comparing pattern baseline to dynamic data,如不是验证“Order ID 230”,而是“Order ID#”当验证应用的行为时,考虑了各种不同的合法响应,业界标准的IDE和测试脚本语言,Eclipse集成环境调试器、代码编辑器使用标准的Java语言作为测试脚本语言,专业的测试开发环境,版本控制:管理代码的变更,与ClearCase和ClearCase LT集成简单的check in/check out操作对脚本文件和对象映射文件进行版本控制保证测试人员不互相干扰,ClearCase VOB,Script1-v1,v2Script2 v1Script3 v1Etc.,Local View,Check-out/in script or datastore,Rational TeamTest,正确认识测试自动化,不现实的期望注定测试自动化的失败测试自动化能:显著降低重复手工测试的时间建立可靠、重复的测试,减少认为错误增强测试质量和覆盖率测试自动化不能:完全替代手工测试和手工测试工程师保证100%的测试覆盖率弥补测试实践的不足,测试自动化项目的本质,定义:利用GUI自动化测试工具来开发和执行测试脚本,从而验证是否满足需求本质:测试自动化项目本质上是软件开发项目一个测试自动化项目必须具有:清晰定义并严格实施的过程来自组织各级的支持周密的计划具体的设计和架构,测试自动化成本/收益分析,什么是Data-Driven?,Data-Driven测试脚本,Hard-coded测试脚本,实现测试数据和测试代码相分离,什么是性能测试?,模拟实际用户负载,测试系统的:反应速度,最大用户,系统最优配置、软硬件性能等,虚拟用户:发起各种各样的负载组合,GUI 代理:衡量端到端的性能,主机:负责录制、回放、监视和分析运行结果,利用Robot和TestManager进行性能测试,Rational全方位服务保证测试成功,Rational Developer NetworkTestStudio Knowledge CenterQA&Testing Knowledge CenterDiscussion Forums on the following topics:Automated Testing,Runtime Analysis with PurifyPlus Family,ClearQuest,ClearCase,Requirements Management and RequisitePro,ProjectConsole,SoDA,and RUPRational UniversityRational TeamTest Fundamentals for Functional TestingEssentials of Functional Testing with Rational TeamTest for Java and Web-based Applications(RobotJ Focused)Rational TeamTest Fundamentals for Performance TestingPrinciples of Test Automation for GUI Testing(WBT)Recommended Courses:Courses for the following point products:Rational TestManager,Rational ClearCase LT,Rational ClearQuest,Rational RequisitePro,Rational ProjectConsole,Rational SoDA,and Rational Unified Process,Rational Unified Process for Test,现代化的软件测试指南详细、可裁减的测试工作流,Rational Unified Process for Test,工具指南各种测试模版,Rational Developer Network for Test,Portal of White Papers,Tool Tips,Articles,and Tech NotesKnowledge Center,Industry Info,Domain Expertise and more!,Rational中国如何帮助客户成功改进系统测试?,Rational测试工具获得Yphise大奖,http:/www.yphise.fr/award/robot/Rational TestStudio被Windows&.NET Magazine授予最佳测试和调试工具,详细信息可访问http:/Index.cfm?ArticleID=26324,TeamTest产品套件(TestManager,Robot,RobotJ和ClearQuest)系统的软件测试培训(3天)针对具体项目的现场测试咨询,帮助建立可行软件测试过程,建立自动化测试框架(2天),