Ch软件测试自动化SM_第1页
Ch软件测试自动化SM_第2页
Ch软件测试自动化SM_第3页
Ch软件测试自动化SM_第4页
Ch软件测试自动化SM_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

软件测试方法和技术

-Ch.11软件测试自动化Zhu.Kerry@朱少民KerryZhu第十一章软件测试自动化11.1测试自动化的内涵11.2测试工具的分类和选择11.3测试工具的主流产品介绍11.4IBM-Rational产品的整体解决方案11.5MercuryInteractive产品的整体解决方案11.6Compuware产品的整体解决方案11.1测试自动化的内涵11.1.1为什么要软件测试自动化11.1.2自动化测试的引入和应用11.1.3测试自动化的基本结构11.1.4测试自动化的原理和方法11.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.做手工不能做手工测试耗费时间低可靠性人力资源不一致性仅对于一次性的测试有益速度可重复覆盖率可靠可以再度使用重复测试节省时间自动测试手工测试vs.自动测试正确认识测试自动化不现实的期望注定测试自动化的失败测试自动化能:显著降低重复手工测试的时间建立可靠、重复的测试,减少认为错误增强测试质量和覆盖率测试自动化不能:完全替代手工测试和手工测试工程师保证100%的测试覆盖率弥补测试实践的不足各自特点软件测试自动化(TA)虽然具有很多优点,但只是对手工测试的一种补充,TA绝不能代替手工测试,有各自的特点:

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

测试自动化项项目的本质定义:利用GUI自动化测试工工具来开发和和执行测试脚脚本,从而验验证是否满足足需求本质:测试自动化项项目本质上是是软件开发项项目一个测试自动动化项目必须须具有:清晰定义并严严格实施的过过程来自组织各级级的支持周密的计划具体的设计和和架构测试自动化成成本/收益分分析结构成本收益净收益NoAutomation000RecordingandPlayback8.3112.7Data-drivenstructureusingdatapools8.4189.6Frameworkstructure9.8155.2Framework/data-driven(hybrid)structurefocusingonviewsoftheapplicationandusingdatapools11.6197.4自动化测试的的引入和应用用找准测试自动动化的切入点点把测试开发纳纳入整个软件件开发体系测试自动化依依赖测试流程程和测试用例例软件测试自动动化的投入较较大进行资源的合合理调度自动化测试工工作流程收集测试信息息测试需求是什什么?那里能得到用用到的数据??建立基本测试试纪录用户的操操作核实成功回放放提高基本测试试插入测试点驱动测试数据据整体测试关联数据建立综合的测测试场景计划1创建2核实和提高3整合4计划自动化测试纪录用户操作形成基本测试对回放和测试提高自动化测试运行多种测试检查数据流测试自动化的的基本结构机房客户端文件服务器数据库服务器Web服务器控制程序拷贝测试文件件拷贝测试结果果分派工作分派工作查询结果Build系统编译获取测试任务务、数据更新显示软件包发布指令测试自动化的的原理和方法法代码分析:类似于高级编编译系统,在在工具中定义义类/对象/函数/变量等定义规规则、语法规规则等,在分分析时对代码码进行语法扫扫描,找出不不符合编码规规范的地方。。捕获和回放:代码分析是一一种白盒测试试的自动化方方法,捕获和回放则则是一种黑盒盒测试的自动动化方法。对象识别编辑框下拉框按钮QuickTest在支持应用中中识别、确定定每一个对象象是什么类型型复选框选择框对象识别-2逻辑名称是对对象属性之一一的值数值用于识别对象象名称Nativeclass: EditAttachedText:AgentName:Enabled: TrueFocused: TrueHeight: 20Text: HaroldWidth: 119对象识别-3对象库是本本地在测试结结构范围内存储对像信息息.对象库例如对象(属性)包包含登陆窗口口在记录过程程中捕获的:-AgentNamefield-Passwordfield-OKbutton-Cancelbutton-Helpbutton脚本技术线性脚本,是录制手工工执行的测试试用例得到的的脚本,这种种脚本包含所所有的击键、、移动、输入入数据等,所所有录制的测测试用例都可可以得到完整整的回放。结构化脚本,类似于结构构化程序设计计,具有各种种逻辑结构、、函数调用功功能。共享脚本,是指某个脚脚本可以被多多个测试用例例使用。数据驱动脚本本,将测试输入入存储在独立立的(数据))文件中,而而不是存储在在脚本中。关键字驱动脚脚本,是数据驱动动脚本的逻辑辑扩张Example-1GUIScript(.rec)Low-LevelscriptVUScript(.S)GUIShellScript(.rec)ProjectHeaderFile(.sbh)SQABasicFile(.sbl)Scriptexample-2GUIScriptstypesTS-scriptItincludethescriptwhichcannotbere-used,weoftenuseittogeneratetestlog.B-scriptTABuildingblock,itincludethescriptwhichcanbere-used.U-scriptUsedtomakesureallcodeinafunctioncanworknormally.Samplescript'====SectionTwo-headerfile,publicvariablesandconstantsdeclarationarea================'$include"rtpCMCSanity0225_BB_X.sbh"'$Include"rtpCMC5_BB.sbh"'$include"rtpReportLog.sbh"'====SectionThree-UnittestscriptingareaforthissubroutineorfunctionSubMainCallScript"rtpCMCSanity0225_init"DimResultAsIntegerDimmeetingTopicAsString'Iftherealreadyameetingmeeting,didn'tstartagainSQASuspendLogOutputResult=WindowVP(Exists,"Caption={*"+MEETING_CLIENT_CAPTION+"*}","VP=WindowExistence;Wait=1,3")SQAResumeLogOutputIfResult=0ThenResult=func_MiscScheduleStartMeetingSimple(PAGE_CAPTION,meetingTopic,MEETING_PASSWD)Else…EndIfSQAGetPropertyResult=SQAGetProperty(ObjectRec,"State",CheckState)SQAGetPropertyAsStringResult=SQAGetPropertyAsString("\;Caption=Notepad-(Untitled)","WindowState",StateString)SQASetPropertySQASetProperty"Name=FirstName","Text","Michael“SQAWaitForObjectResult=SQAWaitForObject("Type=PushButton;Text=OK",120000)ObjectScriptingcommandsCheckBoxCheckBoxClick,"Name=Overdraft"ComboBox,ComboListBoxEditBoxHTMLDocument,HTMLImage,HTMLLinkInputKeysInputKeys"ThisisRobot.{Enter}"UserActioncommands自动比较静态比较和动动态比较,简单比较和复复杂比较,敏感性测试比比较和健壮性性测试比较,,。比较过滤器ComboBoxVPEditBoxVPFileVPHTMLLinkVPHTMLDocumentVPListViewVPWindowVPJavaListViewVPSyntaxofWindowVPfunction:Result=WindowVP(action%,recMethod$,parameters$)[actioncanbeoneoffollowingvalues]CompareImageCompareMenuComparePropertiesExists/DoesNotExist…WindowVP(CompareImage,"Caption=Paint","VP=PICT1A")Thisfunctionreturns1iftheactionperformedpassesReturn0iftheactionperformedfails.VerificationPointcommands测试自动化普普遍存在的问问题不正确的观念念或不现实的的期望缺乏具有良好好素质、经验验的测试人才才测试工具本身身的问题影响响测试的质量量没有进行有效效的、充分的的培训没有考虑到公公司的实际情情况,盲目引引入测试工具具没有形成一个个良好的使用用测试工具的的环境其它技术问题题和组织问题题11.2测试工具的分分类和选择测试工具的分分类测试工具的选选择测试工具是测测试自动化的的表现测试工具的研研究软件测试的过过程是一项很很复杂而费时时的工作,它它不仅执行每每一个测试用用例,还要设设置运行环境境、记录输出出、运行后清清理并记录失失败信息。仅仅仅依靠测试试人员手工完完成是很困难难的。所以必必须研究测试试工具以帮助助测试人员自自动或半自动动的完成测试试。在资资金金和和人人力力、、时时间间的的供供给给一一定定的的条条件件下下面面,,拥拥有有好好的的测测试试工工具具能能够够提提高高测测试试效效率率从从而而降降低低测测试试成成本本,,则则能能够够选选择择更更高高的的测测试试充充分分性性标标准准进进行行测测试试,,从从而而提提高高软软件件质质量量。。测试试工工具具的的例例子子测试试工工具具的的分分类类CodeanalysisTools-Staticanalysis-DynamicanalysisTestExecutionTool-CaptureandReplay(Record&Playback)-MonitorTool-StubsandDrivers-AutomatedTestingEnvironmentTestcasegenerators测试试工工具具的的选选择择11.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产品的整整体解决决方案测试产品品结构全套测试试解决方方案的特特点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环境,同同时提供供与版本本控制工工具的集集成ProfessionalLanguageandIDENEWTechnologyforJavaandWebBased

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

??Tester

seesTool

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

LoadRunnerWinRunnerTestDirectorAstraQuickTestAstraLoadTest

TopazPrism

ActiveTest

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

温馨提示

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

评论

0/150

提交评论