全程软件测试之软件测试自动化_第1页
全程软件测试之软件测试自动化_第2页
全程软件测试之软件测试自动化_第3页
全程软件测试之软件测试自动化_第4页
全程软件测试之软件测试自动化_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全程软件测试

-Ch.5软件测试自动化第5章软件测试自动化5.1测试自动化的内涵5.2测试工具的分类和选择5.3测试工具的主流产品介绍5.4IBM-Rational产品的整体解决方案5.5MercuryInteractive产品的整体解决方案5.6Compuware产品的整体解决方案5.1测试自动化的内涵5.1.1为什么要软件测试自动化5.1.2自动化测试的引入和应用5.1.3测试自动化的基本结构5.1.4测试自动化的原理和方法5.1.5测试自动化普遍存在的问题手工测试的局限性通过手工测试无法做到覆盖所有代码路径;许多与时序、死锁、资源冲突、多线程等有关的错误通过手工测试很难捕捉到在系统负载、性能测试时,需要模拟大量数据、或大量并发用户等各种应用场合时,也很难通过手工测试来进行在进行系统可靠性时,需要模拟系统运行十年、几十年,以验证系统能否稳定运行,也是手工测试无法模拟的。如果有大量(几千)的测试用例,需要在短时间内完成,手工测试又怎么办呢?测试可以发现错误,并不能表明程序的正确性。

自动测试定义软件系统功能规格书(Spec)只是从书面上的一套软件产品是由一套完整的可运行的测试来定义的测试所有可能情况将遭遇“组合爆炸”问题Win98,WinME,WinNT,Win2k,WinXP,WinXPTablePCEd,WinXPMediaCenterEd,Longhorn,etcEnglish,German,Japanese,Chinese,Arabic,Thai…Office97,Office2000,OfficeXP,Office2003…X8632-bit,Intel64-bit,AMD64-bit,Alpha,MIPS…SQLServer6.5,SQLServer7.0,SQLServer2000…VisualStudio6,VS.NET,VS.NET2003,Whidbey…手工测试的局限性

(2)代码全部CodePath测试覆盖也几乎不可能每一个if…else…或switch语句就会把情况增加一倍许多异常处理代码在正常使用中不会碰到许多与时序,死锁,资源冲突,多线程有关的错误很难捕捉到每一个产品都会有不同的版本外加各自的SP与QFE(QuickFixEngineering,又称Hotfix)NT4,VS6SP1~SP5,Windows2000SP1-SP4VS.NET,SQLServerSP1–SP3可重复使用的自动测试对产品未来版本与ServicePack的测试将有事半功倍的效果手工测试的局限性(2)自动化测试带来的好处1.缩短周期Testingcycle-RegressionTesting2.AttributesofTA,Speed速度Efficiency效率AccuracyandPrecise准确、精确

Relentlessness无情3.容易实施、结果可靠4.做手工不能做测试自动化项目的本质定义:利用GUI自动化测试工具来开发和执行测试脚本,从而验证是否满足需求本质:测试自动化项目本质上是软件开发项目一个测试自动化项目必须具有:清晰定义并严格实施的过程来自组织各级的支持周密的计划具体的设计和架构测试自动化成本/收益分析结构成本收益净收益NoAutomation000RecordingandPlayback8.3112.7Data-drivenstructureusingdatapools8.4189.6Frameworkstructure9.8155.2Framework/data-driven(hybrid)structurefocusingonviewsoftheapplicationandusingdatapools11.6197.4各自特点软件测试自动化(TA)虽然具有很多优点,但只是对手工测试的一种补充,TA绝不能代替手工测试,有各自的特点:

在系统功能逻辑测试、验收测试、适用性测试、涉及物理交互性测试时,多采用黑盒测试的手工测试方法;单元测试、集成测试、系统负载或性能、稳定性、可靠性测试等比较适合采用TA;对那种不稳定软件的测试、开发周期很短的软件、一次性的软件等不适合测试自动化工具本身并没有想象力和灵活性,根据经验报道,自动测试只能发现15%的缺陷,而手工测试可以发现85%的缺陷;TA工具在进行功能测试时,其准确的含义是回归测试工具,因为工具不能发现更多的新问题,但可以保证对已经测试过部分进行测试的准确性和客观性

正确认认识测测试自自动化化不现实实的期期望注注定测测试自自动化化的失失败测试自自动化化能::显著著降降低低重重复复手手工工测测试试的的时时间间建立立可可靠靠、、重重复复的的测测试试,,减减少少认认为为错错误误增强强测测试试质质量量和和覆覆盖盖率率测试试自自动动化化不不能能::完全全替替代代手手工工测测试试和和手手工工测测试试工工程程师师保证证100%的的测测试试覆覆盖盖率率弥补补测测试试实实践践的的不不足足自动动化化测测试试的的引引入入和和应应用用找准准测测试试自自动动化化的的切切入入点点把测测试试开开发发纳纳入入整整个个软软件件开开发发体体系系测试试自自动动化化依依赖赖测测试试流流程程和和测测试试用用例例软件件测测试试自自动动化化的的投投入入较较大大进行行资资源源的的合合理理调调度度测试试自自动动化化的的基基本本结结构构机房办公室文件服务器SQLServerWeb服务器控制程序拷贝测试文件拷贝测试结果分派工作分派工作查询结果Build系统编译寻找工作项目更新显示DevBuild,TestBuild测试试自自动动化化的的原原理理和和方方法法代码码分分析析:类似似于于高高级级编编译译系系统统,,在在工工具具中中定定义义类类/对象象/函数数/变量量等等定定义义规规则则、、语语法法规规则则等等,,在在分分析析时时对对代代码码进进行行语语法法扫扫描描,,找找出出不不符符合合编编码码规规范范的的地地方方。。捕获获和和回回放放:代码码分分析析是是一一种种白白盒盒测测试试的的自自动动化化方方法法,,捕获获和和回回放放则则是是一一种种黑黑盒盒测测试试的的自自动动化化方方法法。。脚本本技技术术线性性脚脚本本,是是录录制制手手工工执执行行的的测测试试用用例例得得到到的的脚脚本本,,这这种种脚脚本本包包含含所所有有的的击击键键、、移移动动、、输输入入数数据据等等,,所所有有录录制制的的测测试试用用例例都都可可以以得得到到完完整整的的回回放放。。结构化脚脚本,类似于于结构化化程序设设计,具具有各种种逻辑结结构、函函数调用用功能。。共享脚本本,是指某某个脚本本可以被被多个测测试用例例使用。。数据驱动动脚本,将测试试输入存存储在独独立的((数据))文件中中,而不不是存储储在脚本本中。关键字驱驱动脚本本,是数据据驱动脚脚本的逻逻辑扩张张自动比较较静态比较较和动态态比较,,简单比较较和复杂杂比较,,敏感性测测试比较较和健壮壮性测试试比较,,。比较过滤滤器测试自动动化普遍遍存在的的问题不正确的的观念或或不现实实的期望望缺乏具有有良好素素质、经经验的测测试人才才测试工具具本身的的问题影影响测试试的质量量没有进行行有效的的、充分分的培训训没有考虑虑到公司司的实际际情况,,盲目引引入测试试工具没有形成成一个良良好的使使用测试试工具的的环境其它技术术问题和和组织问问题5.2测试工具具的分类类和选择择测试工具5.2.2测试工具的选择测试工具具是测试试自动化化的表现现测试工具具的研究究软件测试试的过程程是一项项很复杂杂而费时时的工作作,它不不仅执行行每一个个测试用用例,还还要设置置运行环环境、记记录输出出、运行行后清理理并记录录失败信信息。仅仅仅依靠靠测试人人员手 在资金和人力、时间的供给一定的条件下面,拥有好的测试工具能够提高测试效率从而降低测试成本,则能够选择更高的测试充分性标准进行测试,从而提高软件质量。测试工具具的例子子测试工具的分分类CodeanalysisTools-Staticanalysis-DynamicanalysisTestExecutionTool-CaptureandReplay(Record&Playback)-MonitorTool-StubsandDrivers-AutomatedTestingEnvironmentTestcasegenerators测试工具的选选择5.3测试工具的主主流产品介绍绍面向开发的单单元测试工具具负载和性能测测试工具功能测试工具具基于Web应用的测试工工具软件测试管理理和其他工具具面向开发的单单元测试工具具根据不同的语语言进行分类类:C/C++单元级测试工工具PanoramaC++,C++Test,NumegaJUnit是一个开发源源代码的Java测试框架根据工具的功功能特点进行行分类:内存资源泄漏漏检查工具::Numega中的BounceChecker,Rational的Purify等代码覆盖率检检查工具:Numega的TrueCoverage,Rational的PureCoverage,TeleLogic公司的Logiscope代码性能检查查工具:Logiscope和Macabe等。软件纠错工具具RationalPurl等。负载和性能测测试工具属性LoadRunner/MIQALoad/CompuwareWebLoad/Radview价格昂贵较贵一般安装配置简单简单一般操作性较复杂简单简单支持测试对象各种中间件/数据库/应用服务器的性能监控/企业架构(j2ee和.net)的测试客户/服务器系统、企业资源配置(ERP)和电子商务应用WebApplication支持平台windows,unix或linuxHP-UX,IBMAIX,SunSolaris,Linux,NT/2kUnixWindows支持数据库DB2,SQLserver,Orcale,SybaseADO,DB2,Oracle,Sybase,SQLserver,OdbcADO,DB2,Oracle,Sybase,SQLserver,Odbc支持协议web,http(s),soap,streaming,wap,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)”。在实实际测试过程程中,要根据据测试需求对对录制的脚本本进行一些必必要的修改或或加入一些参参数,如选择择不同的测试试数据、脚本本中插入检查查点(CheckPoint)进行跟踪调调试等。基于GUI功能测试工具具主要适合回回归测试阶段段。当一个应应用开发基本本完成后,程程序界面基本本定型,虽然然业务的需求求会很频繁变变化,但测试试脚本结构基基本不需要改改动,只需要要做些小调整整,就可以自自动运行,则则可大大提高高了测试的效效率和测试的的准确性。目前主要产品品有MI公司的WinRunner,Compuware的QARun,Rational的SQARobot,MSVisualTestSuite等GUI自动化测试设计测试用例例,并手工进进行测试。如果测试未通通过,则先改改正缺陷,再再次执行测试试。如果测试通过过,利用测试试工具运行该该测试过程,,捕获运行过过程需要检测测的屏幕对象象,并保存。。在进行回归测测试测试,自自动利用测试试工具运行测测试,并比较较运行过程的的屏幕对象与与保存的屏幕幕对象比较,,从而判断测测试用例是否否通过。基于Web应用的测试工工具基于Web应用的测试工工具主要进行行链接检查、、HTML检查、Web功能和Web站点安全性等等各个方面的的测试。主要Web测试工具有MI公司的Astra系列(如AstraQuickTest)、RSW公司的E-TestSuite等;Web系统测试工具具:WorkBench、WebApplicationStressTool(WAS)、页面链接接测试LinkSleuth等。Website性能测试测什什么?各种操作的响响应速度最大并发用户户数最大数据容量量ACT(ApplicationCenterTest)ACT测试中中的常见术语语RPS(RequestPerSecond)并发连接数(SimultaneousBrowserConnections)思考时间(ThinkingTime)RPS+SBC+ThinkingTime=Concurrentusers?ACT测试的步骤创建测试脚本本手工编写VBScript录音并修改运行测试脚本本设定并发用户户数设定用户身份份运行、观察、、获取主观体体验理解结果报告告图表各项性能统计计数字日志文件解读ACT测试结果TTFB,TTLBHTTP错误的含义401403404500常见的ACT结果图线其他Web负载发生工具具Microsoft'sWebApplicationStressToolCyrano'sOpenSTAQuestSoftware'sBenchmarkFactoryEmpirix'sE-TestSuite6.0RadView'sWebLoad5.0RationalSoftware'sRationalRobotMercuryInterctive'sAstraLoadRunner7.5Compuware'sQALoad4.7SegueSoftware'sSilePerformer5.011.4Rational产品的整体体解决方案案11.4.1Rational测试产品结结构11.4.2Rational全套测试解解决方案的的特点TestManager:集中、可伸伸缩的测试试管理平台台Robot:传统应用自自动化测试试工具RobotJ:Web/Java自动测试工工具ClearQuest:缺陷跟踪工工具Rational系统测试方方案CoverageQuantifyPurifyPlanTestTestManagerDesignTestTestManagerImplementTestRobotRobotJTestManagerExecuteTestRobotRobotJTestManagerEvaluateTestClearQuestTestManagerChangeRequestandConfigurationManagement-ClearQuestandClearCaseLTRationalUnifiedProcessTestManager:控制中心ViewResultsPassFailCoverage

reports

Generate

change

requestsTestDesignOS/VerMemDiskTestIterationsTestConfigurationsTestPlanTestCasesTestInputsAdaptersInputRobotGUI

and

VUScriptsVBor

Java

scriptsExternal

Scripts

onother

OS’sExecutionAdaptersRationalTestManagerTestManager和ClearQuest集成TestManager:跨越整个测测试周期ü自动实现缺缺陷与需求求之间的关关联测试度量:覆盖,趋势等等RobotGUI的自动功能能测试2.执行行测试脚本本OKFind执行脚本检验结果报告错误迭代1.创建测试脚本选择测试需求录制操作过程(面向对象录制®)插入验证点编辑生成的脚本(可选)

和白盒工具具集成RobotJ:测试Java和Web应用ScriptAssureDynamicData

Validation技术保证了了即使对象象名称发生生改变,测测试脚本也也能正常回回放验证动态内内容利用Eclipse这一标准的的IDE环境,同时时提供与版版本控制工工具的集成成ProfessionalLanguage

andIDENEWTechnologyfor

JavaandWebBased

ApplicationsScriptAssure:降低了测试试脚本的维维护成本Version1.0Version2.0DeterminesMatch

??Tester

seesTool

sees动态数据验验证:可伸缩的测测试脚本OrderIDchangeswitheachorderplacedTestFailswhencomparingstaticbaselinetodynamicdataTestPasseswhencomparingpatternbaselinetodynamicdata动态内容匹匹配利用模式匹匹配技术来来验证数据据如不是验证证“OrderID230””,而是“OrderID###””当验证应用用的行为时时,考虑了了各种不同同的合法响响应业界标准的的IDE和测试脚本本语言Eclipse集成环境调试器、代代码编辑器器使用标准的的Java语言作为测测试脚本语语言11.5.1MI产品结构11.5.2MI三个重量级级产品的介介绍11.5MI产品的整体体解决方案案MI产品结构

LoadRunnerWinRunnerTestDirectorAstraQuickTestAstraLoadTest

TopazPrism

ActiveTest

ActiveWatch测试监控软件MSP被测系统LoadRunner的解决方案案Web服务器数据库服务器压力产生虚拟用户压力测试机解决测试资源的限制利用图表工工具分析测测试结果利用录制的的脚本进行行回归测试试AnalysisController运行大量的的“VirtualUsers”在不同的机机器上利用“VirtualUsers”代替实际测测试人员通过“Controller”管理“Vusers”49LoadRunner的解决方案案支持多种协协议和API50LoadRunner的解决方案案能够对多种种Server和资源进行行监控Web服务器Web应用服务器器数据库服务务器系统资源51LoadRunner的解决方案案VirtualUserGenerator产生压力和和搜集测试试结果生成用于““Controller”部署的“Vuser

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论