全程软件测试(自动化测试课件10)33131.pptx

上传人:jix****n11 文档编号:91042160 上传时间:2023-05-21 格式:PPTX 页数:60 大小:1.40MB
返回 下载 相关 举报
全程软件测试(自动化测试课件10)33131.pptx_第1页
第1页 / 共60页
全程软件测试(自动化测试课件10)33131.pptx_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《全程软件测试(自动化测试课件10)33131.pptx》由会员分享,可在线阅读,更多相关《全程软件测试(自动化测试课件10)33131.pptx(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、全程软件测试全程软件测试-Ch.5软软件件测试测试自自动动化化第第5章章 软件测试自动化软件测试自动化5.1测试自动化的内涵测试自动化的内涵5.2 测试工具的分类和选择测试工具的分类和选择5.3 测试工具的主流产品介绍测试工具的主流产品介绍 5.4 IBM-Rational产品的整体解决方案产品的整体解决方案5.5 Mercury Interactive产品的整体解决方案产品的整体解决方案5.6 Compuware产品的整体解决方案产品的整体解决方案5.1测试自动化的内涵测试自动化的内涵5.1.1 为什么要软件测试自动化为什么要软件测试自动化5.1.2 自动化测试的引入和应用自动化测试的引入和

2、应用5.1.3 测试自动化的基本结构测试自动化的基本结构5.1.4 测试自动化的原理和方法测试自动化的原理和方法 5.1.5 测试自动化普遍存在的问题测试自动化普遍存在的问题手工测试的局限性手工测试的局限性p 通过手工测试无法做到覆盖所有代码路径;p 许多与时序、死锁、资源冲突、多线程等有关的错误通过手工测试很难捕捉到p 在系统负载、性能测试时,需要模拟大量数据、或大量并发用户等各种应用场合时,也很难通过手工测试来进行p 在进行系统可靠性时,需要模拟系统运行十年、几十年,以验证系统能否稳定运行,也是手工测试无法模拟的。p 如果有大量(几千)的测试用例,需要在短时间内完成,手工测试又怎么办呢?p

3、 测试可以发现错误,并不能表明程序的正确性。p自动测试定义软件系统自动测试定义软件系统p功能规格书(Spec)只是从书面上的p一套软件产品是由一套完整的可运行的测试来定义的p测试所有可能情况将遭遇测试所有可能情况将遭遇“组合爆炸组合爆炸”问题问题pWin98,WinME,WinNT,Win2k,WinXP,WinXPTablePCEd,WinXPMediaCenterEd,Longhorn,etcpEnglish,German,Japanese,Chinese,Arabic,ThaipOffice97,Office2000,OfficeXP,Office2003pX8632-bit,Intel

4、64-bit,AMD64-bit,Alpha,MIPSpSQLServer6.5,SQLServer7.0,SQLServer2000pVisualStudio6,VS.NET,VS.NET2003,Whidbey手工测试的局限性手工测试的局限性(2)n代码全部代码全部Code Path测试覆盖也几乎不可能测试覆盖也几乎不可能n每一个ifelse或switch语句就会把情况增加一倍n许多异常处理代码在正常使用中不会碰到n许多与时序,死锁,资源冲突,多线程有关的错误很难捕捉到n每一个产品都会有不同的版本外加各自的SP与QFE(QuickFixEngineering,又称Hotfix)nNT4,V

5、S6SP1SP5,Windows2000SP1-SP4nVS.NET,SQLServerSP1SP3n可重复使用的自动测试对产品未来版本与ServicePack的测试将有事半功倍的效果手工测试的局限性手工测试的局限性(2)自动化测试带来的好处自动化测试带来的好处1.缩短周期缩短周期 Testing cycle-RegressionTesting2.Attributes of TA,Speed速度Efficiency效率AccuracyandPrecise准确、精确Relentlessness无情3.容易实施、结果可靠4.做手工不能做测试自动化项目的本质测试自动化项目的本质p定义:定义:利用GU

6、I自动化测试工具来开发和执行测试脚本,从而验证是否满足需求p本质:本质:测试自动化项目本质上是软件开发项目p一个测试自动化项目必须具有:p清晰定义并严格实施的过程p来自组织各级的支持p周密的计划p具体的设计和架构测试自动化成本测试自动化成本/收益分析收益分析结构结构成本成本收益收益净收净收益益NoAutomation000RecordingandPlayback8.3112.7Data-drivenstructureusingdatapools8.4189.6Frameworkstructure9.8155.2Framework/data-driven(hybrid)structurefocu

7、singonviewsoftheapplicationandusingdatapools11.6197.4各自特点各自特点软件测试自动化(TA)虽然具有很多优点,但只是对手工测试的一种补充,TA绝不能代替手工测试,有各自的特点:p 在系统功能逻辑测试、验收测试、适用性测试、涉及物理交互性测试时,多采用黑盒测试的手工测试方法;p单元测试、集成测试、系统负载或性能、稳定性、可靠性测试等比较适合采用TA;p对那种不稳定软件的测试、开发周期很短的软件、一次性的软件等不适合测试自动化p工具本身并没有想象力和灵活性,根据经验报道,自动测试只能发现15%的缺陷,而手工测试可以发现85%的缺陷;TA工具在进行

8、功能测试时,其准确的含义是回归测试工具,因为工具不能发现更多的新问题,但可以保证对已经测试过部分进行测试的准确性和客观性 正确认识测试自动化正确认识测试自动化n不现实的期望注定测试自动化的失败不现实的期望注定测试自动化的失败n测试自动化能:测试自动化能:n显著降低重复手工测试的时间显著降低重复手工测试的时间n建立可靠、重复的测试,减少认为错误建立可靠、重复的测试,减少认为错误n增强测试质量和覆盖率增强测试质量和覆盖率n测试自动化不能:测试自动化不能:n完全替代手工测试和手工测试工程师完全替代手工测试和手工测试工程师n保证保证100%的测试覆盖率的测试覆盖率n弥补测试实践的不足弥补测试实践的不足

9、自动化测试的引入和应用自动化测试的引入和应用p 找准测试自动化的切入点找准测试自动化的切入点p 把测试开发纳入整个软件开发体系把测试开发纳入整个软件开发体系p 测试自动化依赖测试流程和测试用例测试自动化依赖测试流程和测试用例p 软件测试自动化的投入较大软件测试自动化的投入较大p 进行资源的合理调度进行资源的合理调度测试自动化的基本结构测试自动化的基本结构机房机房办公室办公室文件服务器文件服务器SQL ServerSQL ServerWebWeb服务器服务器 控制程序控制程序拷贝测试文件拷贝测试文件拷贝测试结果拷贝测试结果分派工作分派工作分派工作分派工作查询结果查询结果BuildBuild系统编

10、译系统编译寻找工作项目寻找工作项目更新更新显示显示Dev Build,Test BuildDev Build,Test Build测试自动化的原理和方法测试自动化的原理和方法p 代码分析代码分析:类似于高级编译系统,在工具中定义类类似于高级编译系统,在工具中定义类/对象/函数/变量等定义规则、语法规则等,在分析时对代码进行语法扫描,找出不符合编码规范的地方。p 捕获和回放捕获和回放:代码分析是一种白盒测试的自动化方法,代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法。脚本技术脚本技术p 线性脚本线性脚本,是录制手工执行的测试用例得到的脚本,这种脚本包含所有的击键、移动

11、、输入数据等,所有录制的测试用例都可以得到完整的回放。p 结构化脚本结构化脚本,类似于结构化程序设计,具有各种逻辑结构、函数调用功能。p 共享脚本共享脚本,是指某个脚本可以被多个测试用例使用。p 数据驱动脚本数据驱动脚本,将测试输入存储在独立的(数据)文件中,而不是存储在脚本中。p 关键字驱动脚本关键字驱动脚本,是数据驱动脚本的逻辑扩张 自动比较自动比较 p 静态比较和动态比较,p 简单比较和复杂比较,p 敏感性测试比较和健壮性测试比较,。p 比较过滤器 测试自动化普遍存在的问题测试自动化普遍存在的问题p 不正确的观念或不现实的期望不正确的观念或不现实的期望p 缺乏具有良好素质、经验的测试人才

12、缺乏具有良好素质、经验的测试人才p 测试工具本身的问题影响测试的质量测试工具本身的问题影响测试的质量p 没有进行有效的、充分的培训没有进行有效的、充分的培训p 没有考虑到公司的实际情况,盲目引入测试工具没有考虑到公司的实际情况,盲目引入测试工具p 没有形成一个良好的使用测试工具的环境没有形成一个良好的使用测试工具的环境p 其它技术问题和组织问题其它技术问题和组织问题5.2 测试工具的分类和选择测试工具的分类和选择5.2.1 测试工具的分类测试工具的分类5.2.2 测试工具的选择测试工具的选择测试工具是测试自动化的表现测试工具的研究测试工具的研究软件测试的过程是一项很复杂而费时的工作,它不仅执行

13、每一个测试用例,还要设置运行环境、记录输出、运行后清理并记录失败信息。仅仅依靠测试人员手工完成是很困难的。所以必须研究测试工具以帮助测试人员自动或半自动的完成测试。在资金和人力、时间的供给一定的条件下面,拥有好的测试工具能够提高测试效率从而降低测试成本,则能够选择更高的测试充分性标准进行测试,从而提高软件质量。测试工具的例子测试工具的例子测试工具的分类测试工具的分类Code analysis Tools-Staticanalysis-DynamicanalysisTest Execution Tool-CaptureandReplay(Record&Playback)-MonitorTool-

14、StubsandDrivers-AutomatedTestingEnvironmentTest case generators测试工具的选择测试工具的选择5.3 测试工具的主流产品介绍测试工具的主流产品介绍 5.3.1 面向开发的单元测试工具面向开发的单元测试工具5.3.2 负载和性能测试工具负载和性能测试工具5.3.3 GUI功能测试工具功能测试工具5.3.4 基于基于Web应用的测试工具应用的测试工具5.3.5 软件测试管理和其他工具软件测试管理和其他工具面向开发的单元测试工具面向开发的单元测试工具根据不同的语言进行分类:pC/C+单元级测试工具PanoramaC+,C+Test,Nume

15、gapJUnit是一个开发源代码的Java测试框架根据工具的功能特点进行分类:p内存资源泄漏检查工具:Numega中的BounceChecker,Rational的Purify等p代码覆盖率检查工具:Numega的TrueCoverage,Rational的PureCoverage,TeleLogic公司的Logiscopep代码性能检查工具:Logiscope和Macabe等。p软件纠错工具RationalPurl等。负载和性能测试工具负载和性能测试工具属性属性LoadRunner/MIQALoad/CompuwareWebLoad/Radview价格昂贵较贵一般安装配置简单简单一般操作性较

16、复杂简单简单支持测试对象各种中间件/数据库/应用服务器的性能监控/企业架构(j2ee和.net)的测试客户/服务器系统、企业资源配置(ERP)和电子商务应用Web Application支持平台windows,unix或linuxHP-UX,IBM AIX,Sun Solaris,Linux,NT/2kUnix Windows支持数据库DB2,SQLserver,Orcale,SybaseADO,DB2,Oracle,Sybase,SQLserver,OdbcADO,DB2,Oracle,Sybase,SQLserver,Odbc支持协议web,http(s),soap,streaming,w

17、ap,winsock,xmlhttp,ssl,oap,xml,streaming,mediaxml,java,ejb,activex,wap,http,snmp,real/m$streaming脚本语言类似C+C/C+和VC+Javascript自动数据生成YYY脚本调试YYY报表定制功能YYYGUI功能测试工具功能测试工具将操作应用程序的各种动作和输入记录下来,包括键盘操作、鼠标点击等捕捉(Record)下来,生成一个脚本文件,这个脚本以后可以被“回放(playback)”。在实际测试过程中,要根据测试需求对录制的脚本进行一些必要的修改或加入一些参数,如选择不同的测试数据、脚本中插入检查点(

18、CheckPoint)进行跟踪调试等。基于GUI功能测试工具主要适合回归测试阶段。当一个应用开发基本完成后,程序界面基本定型,虽然业务的需求会很频繁变化,但测试脚本结构基本不需要改动,只需要做些小调整,就可以自动运行,则可大大提高了测试的效率和测试的准确性。目前主要产品有MI公司的WinRunner,Compuware的QARun,Rational的SQARobot,MSVisualTestSuite等GUI自动化测试自动化测试p设计测试用例,并手工进行测试。p如果测试未通过,则先改正缺陷,再次执行测试。p如果测试通过,利用测试工具运行该测试过程,捕获运行过程需要检测的屏幕对象,并保存。p在进

19、行回归测试测试,自动利用测试工具运行测试,并比较运行过程的屏幕对象与保存的屏幕对象比较,从而判断测试用例是否通过。基于基于Web应用的测试工具应用的测试工具基于Web应用的测试工具主要进行链接检查、HTML检查、Web功能和Web站点安全性等各个方面的测试。主要Web测试工具有MI公司的Astra系列(如AstraQuickTest)、RSW公司的E-TestSuite等;Web系统测试工具:WorkBench、WebApplicationStressTool(WAS)、页面链接测试LinkSleuth等。Website性能测试测什么?性能测试测什么?各种操作的响应速度最大并发用户数最大数据容

20、量ACT (Application Center Test)ACT测试中的常见术语测试中的常见术语nRPS(RequestPerSecond)n并发连接数(SimultaneousBrowserConnections)n思考时间(ThinkingTime)nRPS+SBC+Thinking Time=Concurrent users?ACT测试的步骤测试的步骤n创建测试脚本n手工编写VBScriptn录音并修改n运行测试脚本n设定并发用户数n设定用户身份n运行、观察、获取主观体验n理解结果报告n图表n各项性能统计数字n日志文件解读解读ACT测试结果测试结果nTTFB,TTLBnHTTP错误的含

21、义n401n403n404n500常见的ACT结果图线其他其他Web负载发生工具负载发生工具pMicrosoftsWebApplicationStressToolpCyranosOpenSTApQuestSoftwaresBenchmarkFactorypEmpirixsE-TestSuite6.0pRadViewsWebLoad5.0pRationalSoftwaresRationalRobotpMercuryInterctivesAstraLoadRunner7.5pCompuwaresQALoad4.7pSegueSoftwaresSilePerformer5.011.4 Rationa

22、l产品的整体解决方案产品的整体解决方案11.4.1 Rational测试产品结构测试产品结构11.4.2 Rational 全套测试解决方案的特点全套测试解决方案的特点TestManager:集中、可伸缩的测试管理平台Robot:传统应用自动化测试工具RobotJ:Web/Java自动测试工具ClearQuest:缺陷跟踪工具Rational系统测试方案系统测试方案CoverageQuantifyPurifyPlanTestTestManagerDesignTestTestManagerImplementTestRobotRobotJTestManagerExecuteTestRobotRob

23、otJTestManagerEvaluateTestClearQuestTestManagerTestManager:控制中心控制中心View ResultsView ResultsView ResultsPassPassFailFailCoverage Coverage Coverage reportsreportsreports GenerateGenerateGenerate change change change requests requests requestsTest DesignTest DesignTest DesignOS/VerOS/VerMemMemDiskDiskT

24、est IterationsTest IterationsTest IterationsTest Test Test ConfigurationsConfigurationsConfigurationsTest PlanTest PlanTest PlanTest Test Test CasesCasesCasesTest InputsTest InputsTest InputsAdaptersAdaptersAdaptersInputInputInputRobot GUI Robot GUI Robot GUI and and and VU ScriptsVU ScriptsVU Scrip

25、tsVB or VB or VB or Java Java Java scriptsscriptsscriptsExternal External External Scripts Scripts Scripts on other on other on other OSsOSsOSsExecutionExecutionExecutionAdaptersAdaptersAdaptersRational Rational TestManagerTestManagerTestManager和和ClearQuest集成集成TestManager:跨越整个测试周期跨越整个测试周期 自动实现缺陷与需求之

26、间的关联自动实现缺陷与需求之间的关联测试度量测试度量:覆盖覆盖,趋势等趋势等Robot GUI的自动功能测试的自动功能测试2.2.执行测试脚本执行测试脚本OKFind执行脚本执行脚本检验结果检验结果报告错误报告错误迭代迭代1.1.创建测试脚本创建测试脚本选择测试需求录制操作过程(面向对象录制)插入验证点编辑生成的脚本(可选)和白盒工具集成和白盒工具集成RobotJ:测试测试Java和和Web应用应用Script AssureDynamic Dynamic DataDataValidationValidation技术保证了即使对象名称发生改变,测试脚本也能正常回放验证动态内容利用Eclipse这

27、一标准的IDE环境,同时提供与版本控制工具的集成ProfessionalLanguageand IDENEWTechnologyforJavaandWebBasedApplicationsScriptAssure:降低了测试脚本的维护成本降低了测试脚本的维护成本Version1.0Version1.0Version1.0VersionVersionVersion 2.02.02.0Determines MatchTesterseesToolsees动态数据验证动态数据验证:可伸缩的测试脚本可伸缩的测试脚本Order ID changes with each order placedTest F

28、ails when comparing static baseline to dynamic dataTest Passes when comparing pattern baseline to dynamic data动态内容匹配动态内容匹配利用模式匹配技术来验证数据利用模式匹配技术来验证数据如不是验证“OrderID230”,而是“OrderID#”当验证应用的行为时,考虑了各种不同的合法响应业界标准的业界标准的IDE和测试脚本语言和测试脚本语言Eclipse集成环境集成环境调试器、代码编辑器调试器、代码编辑器使用标准的使用标准的Java语言作为语言作为测试脚本语言测试脚本语言11.5.1

29、 MI产品结构产品结构11.5.2 MI三个重量级产品的介绍三个重量级产品的介绍11.5 MI产品的整体解决方案产品的整体解决方案MI产品结构产品结构 LoadRunner WinRunner TestDirector Astra QuickTest Astra LoadTest Topaz Prism ActiveTest ActiveWatch测试测试监控监控软件软件MSP被测系统被测系统LoadRunner 的解决方案的解决方案Web服务器服务器数据库数据库服务器服务器压力产生压力产生虚拟用虚拟用户压力户压力测试机测试机解决测试资源的限制解决测试资源的限制利用图表工具分析测试结果利用图表

30、工具分析测试结果利用录制的脚本进行回归测试利用录制的脚本进行回归测试AnalysisController运行大量的运行大量的“Virtual Users”在不同的机器在不同的机器上上利用利用“Virtual Users”代替实际测试人代替实际测试人员员通过通过“Controller”管理管理“Vusers”49LoadRunner 的解决方案的解决方案支持多种协议和支持多种协议和API50LoadRunner 的解决方案的解决方案能够对多种能够对多种Server和资和资源进行监控源进行监控nWeb服务器nWeb应用服务器n数据库服务器n系统资源51LoadRunner 的解决方案的解决方案Vi

31、rtual User Generator产生压力和搜集测试结果产生压力和搜集测试结果生成用于生成用于“Controller”部署的部署的“Vusers”通过图表分析工具来编译和显示测试结果通过图表分析工具来编译和显示测试结果LoadRunner ControllerLoadRunner Analysis52系统性能调优系统性能调优LoadRunner 工作流程工作流程分析测试结果分析测试结果阶段5LoadRunnerV U G E NLoadRunnerC O N T R O L L E R&A N A L Y S I S执行场景执行场景阶段4设计测试场景设计测试场景阶段3创建创建 Web V

32、irtual Users阶段2阶段1制定压力测试制定压力测试方案方案NOTE:这是这是LR的一个典型工作流程。为便于理解这个流程,在本教程中有些的一个典型工作流程。为便于理解这个流程,在本教程中有些步骤将按照步骤将按照 不同的顺序来介绍。不同的顺序来介绍。11.6 Compuware产品的整体解决方案产品的整体解决方案11.6.1 Compuware产品结构产品结构11.6.2 Compuware分阶段解决方案分阶段解决方案Compuware产品结构产品结构1黑盒测试工具黑盒测试工具 QACenter2白盒测试工具Numega系列产品系列产品3Vantage 应用级网络性能监控管理软件应用级网

33、络性能监控管理软件编码实现阶段编码实现阶段 运行期错误检测和诊断工具ErrorDetection、代码覆盖率分析工具CoverageAnalysis、性能分析和优化工具PerformanceAnalysis、设备驱动开发套件NuMegaDriverStudio、JAVA可视线程和事件分析工具JCheck、交互式的存储过程调试和优化工具DBPartnerDebuggerVB源代码分析、错误诊断、处理和恢复工具(CodeReview,SmartCheck,FailSafe等)。测试阶段测试阶段自动捕获和回放工具QARun应用性能加载工具QALoadWeb站点质量分析工具WebCheckweb应用功能测试工具TestPartner测试管理和设计系统QADirector缺陷跟踪系统TrackRecord。网络性能测试网络性能测试网络应用性能分析工具Application Expert网络应用性能监控工具Network Vantage服务器数据库性能监控工具ServerVantage作业作业Q&A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁