版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件测试方法和技术 - Ch.11软件测试自动化Zhu.K朱少民Kerry Zhu第十一章章 软件件测试自自动化Zhu.K11.1测试自动动化的内内涵11.2测试工具具的分类类和选择择11.3测试工具具的主流流产品介介绍11.4 IBM-Rational产品的整整体解决决方案11.5 MercuryInteractive产品的整整体解决决方案11.6 Compuware产品的整整体解决决方案11.1测试自动动化的内内涵Zhu.K11.1.1为什么要要软件测测试自动动化11.1.2自动化测测试的引引入和应应用11.1.3测试自动动化的基基本结构构11.1.4测试自动动化的原原理和方方法11.1.
2、5测试自动动化普遍遍存在的的问题手工测试试的局限限性Zhu.K通过手工工测试无无法做到到覆盖所所有代码码路径;许多与时时序、死死锁、资资源冲突突、多线线程等有有关的错错误通过过手工测测试很难难捕捉到到在系统负负载、性性能测试试时,需需要模拟拟大量数数据、或或大量并并发用户户等各种种应用场场合时,也很难难通过手手工测试试来进行行在进行系系统可靠靠性时,需要模模拟系统统运行十十年、几几十年,以验证证系统能能否稳定定运行,也是手手工测试试无法模模拟的。如果有大大量(几几千)的的测试用用例,需需要在短短时间内内完成,手工测测试又怎怎么办呢呢?测试可以以发现错错误,并并不能表表明程序序的正确确性。自动测
3、试试定义软软件系统统功能规格格书(Spec)只是从书书面上的的一套软件件产品是是由一套套完整的的可运行行的测试试来定义义的测试所有有可能情情况将遭遭遇“组组合爆炸炸”问题题Win98,WinME, WinNT,Win2k,WinXP, WinXP TablePCEd, WinXP MediaCenter Ed,Longhorn,etcEnglish,German, Japanese,Chinese,Arabic, ThaiOffice97, Office2000, OfficeXP,Office 2003X8632-bit,Intel64-bit,AMD64-bit,Alpha,MIPSSQL
4、Server 6.5,SQL Server7.0, SQLServer2000VisualStudio 6, VS .NET, VS .NET2003,Whidbey手工测试试的局限限性(2)Zhu.K代码全部部Code Path测试覆盖盖也几乎乎不可能能每一个ifelse或switch语句就会会把情况况增加一一倍许多异常常处理代代码在正正常使用用中不会会碰到许多与时时序,死死锁,资资源冲突突,多线线程有关关的错误误很难捕捕捉到每一个产产品都会会有不同同的版本本外加各各自的SP与QFE(Quick FixEngineering,又称Hotfix)NT4, VS6SP1SP5,Windows 2
5、000SP1-SP4VS.NET,SQLServer SP1 SP3可重复使使用的自自动测试试对产品品未来版版本与Service Pack的测试将将有事半半功倍的的效果手工测试试的局限限性(2)Zhu.K自动化测测试带来来的好处处1.缩短周期期Testing cycle-Regression Testing2.Attributes of TA,Speed速度Efficiency效率AccuracyandPrecise准确、精精确Relentlessness无情3.容易实施施、结果果可靠4.做手工不不能做Zhu.K手工测试耗费时间间低可靠性性人力资源源不一致性性仅对于一一次性的的测试有有益 速度
6、可重复覆盖率 可靠可以再度度使用重复测试试节省时时间自动测试手工测试试vs.自动测试试Zhu.K正确认识识测试自自动化不现实的的期望注注定测试试自动化化的失败败测试自动动化能:显著降低低重复手手工测试试的时间间建立可靠靠、重复复的测试试,减少少认为错错误增强测试试质量和和覆盖率率测试自动动化不能能:完全替代代手工测测试和手手工测试试工程师师保证100%的的测试覆覆盖率弥补测试试实践的的不足Zhu.K各自特点点软件测试试自动化化(TA)虽然具有有很多优优点,但但只是对对手工测测试的一一种补充充,TA绝不能代代替手工工测试,有各自自的特点点:在系统功功能逻辑辑测试、验收测测试、适适用性测测试、涉涉
7、及物理理交互性性测试时时,多采采用黑盒盒测试的的手工测测试方法法;单元测试试、集成成测试、系统负负载或性性能、稳稳定性、可靠性性测试等等比较适适合采用用TA;对那种不不稳定软软件的测测试、开开发周期期很短的的软件、一次性性的软件件等不适适合测试试自动化化工具本身身并没有有想象力力和灵活活性,根根据经验验报道,自动测测试只能能发现15%的缺陷,而手工工测试可可以发现现85%的缺陷;TA工具在进进行功能能测试时时,其准准确的含含义是回回归测试试工具,因为工工具不能能发现更更多的新新问题,但可以以保证对对已经测测试过部部分进行行测试的的准确性性和客观观性Zhu.K测试自动动化项目目的本质质定义:利用
8、GUI自动化测测试工具具来开发发和执行行测试脚脚本,从从而验证证是否满满足需求求本质:测试自动动化项目目本质上上是软件件开发项项目一个测试试自动化化项目必必须具有有:清晰定义义并严格格实施的的过程来自组织织各级的的支持周密的计计划具体的设设计和架架构Zhu.K测试自动动化成本本/收益益分析结构成本收益净收益No Automation000Recording and Playback8.3112.7Data-driven structure using datapools8.4189.6Framework structure9.8155.2Framework / data-driven (hyb
9、rid) structure focusing on views of the application and using datapools11.6197.4Zhu.K自动化测测试的引引入和应应用找准测试试自动化化的切入入点把测试开开发纳入入整个软软件开发发体系测试自动动化依赖赖测试流流程和测测试用例例软件测试试自动化化的投入入较大进行资源源的合理理调度Zhu.K自动化测测试工作作流程收集测试试信息测试需求求是什么么?那里能得得到用到到的数据据?建立基本本测试纪录用户户的操作作核实成功功回放提高基本本测试插入测试试点驱动测试试数据整体测试试关联数据据建立综合合的测试试场景计划1创建2核实 和
10、 提高3整合4计划自动化测试纪录用户操作形成基本测试对 回放 和 测试提高自动化测试运行多种测试检查数据流Zhu.K测试自动动化的基基本结构构机房客户端文件服务器数据库服务器Web服务器 控制程序拷贝测试试文件拷贝测试试结果分派工作作分派工作作查询结果果Build系统编译译获取测试试任务、数据更新显示软件包Zhu.K发布指令令测试自动动化的原原理和方方法代码分析析:类似于高高级编译译系统,在工具具中定义义类/对象/函数/变量等定定义规则则、语法法规则等等,在分分析时对对代码进进行语法法扫描,找出不不符合编编码规范范的地方方。捕获和回回放:代码分析析是一种种白盒测测试的自自动化方方法,捕获和回回
11、放则是是一种黑黑盒测试试的自动动化方法法。Zhu.K对象识别别编辑框下拉框按钮QuickTest在支持应用用中识别别、确定定每一个个对象是是什么类类型复选框选择框Zhu.K对象识别别2逻辑名称称是对象象属性之之一的值值数值用于识别别对象名名称Nativeclass: EditAttached Text: Agent Name:Enabled: TrueFocused: TrueHeight: 20Text: HaroldWidth: 119Zhu.K对象识别别3对象库是是本地地在测试试结构范范围内存储对像像信息.对象库例如对象象 (属属性)包包含登登陆窗口口在记录录过程中中捕获的的:- Age
12、nt Namefield- Password field- OK button- Cancelbutton- HelpbuttonZhu.K脚本技术术线性脚本本,是录制制手工执执行的测测试用例例得到的的脚本,这种脚脚本包含含所有的的击键、移动、输入数数据等,所有录录制的测测试用例例都可以以得到完完整的回回放。结构化脚脚本,类似于于结构化化程序设设计,具具有各种种逻辑结结构、函函数调用用功能。共享脚本本,是指某某个脚本本可以被被多个测测试用例例使用。数据驱动动脚本,将测试试输入存存储在独独立的(数据)文件中中,而不不是存储储在脚本本中。关键字驱驱动脚本本,是数据据驱动脚脚本的逻逻辑扩张张Zhu.
13、KExample -1GUIScript (.rec)Low-LevelscriptVUScript(.S)GUIShellScript (.rec)Project HeaderFile (.sbh)SQABasicFile (.sbl)Zhu.KScriptexample-2Zhu.KGUIScriptstypesTS-scriptItinclude thescriptwhichcan notbere-used,weoftenuseittogeneratetestlog.B-scriptTABuildingblock,itincludethescript which canbere-used
14、.U-scriptUsed to makesureallcodeina function canwork normally.Zhu.KSamplescript=SectionTwo -header file, publicvariablesand constantsdeclarationarea=$includertpCMCSanity0225_BB_X.sbh$IncludertpCMC5_BB.sbh$includertpReportLog.sbh=SectionThree-Unit testscripting areafor thissubroutineorfunctionSubMain
15、CallScriptrtpCMCSanity0225_initDimResultAsIntegerDimmeetingTopicAsStringIftherealreadya meetingmeeting,didnt start againSQASuspendLogOutputResult=WindowVP(Exists,Caption=*+MEETING_CLIENT_CAPTION+ *,VP=Window Existence;Wait=1,3)SQAResumeLogOutputIfResult=0ThenResult=func_MiscScheduleStartMeetingSimpl
16、e(PAGE_CAPTION,meetingTopic, MEETING_PASSWD)ElseEndIfZhu.KSQAGetPropertyResult=SQAGetProperty(ObjectRec, State,CheckState)SQAGetPropertyAsStringResult=SQAGetPropertyAsString(;Caption=Notepad -(Untitled), WindowState,StateString)SQASetPropertySQASetPropertyName=FirstName,Text, Michael“SQAWaitForObjec
17、tResult=SQAWaitForObject(Type=PushButton;Text=OK,120000)ObjectScripting commandsZhu.KCheckBoxCheckBoxClick,Name=OverdraftComboBox,ComboListBoxEditBoxHTMLDocument,HTMLImage,HTMLLinkInputKeysInputKeysThisisRobot.EnterUser ActioncommandsZhu.K自动比较较静态比较较和动态态比较,简单比较较和复杂杂比较,敏感性测测试比较较和健壮壮性测试试比较,。比较过滤滤器Zhu.K
18、ComboBoxVPEditBoxVPFileVPHTMLLinkVPHTMLDocumentVPListViewVPWindowVPJavaListViewVPSyntaxofWindowVPfunction:Result=WindowVP(action%,recMethod$,parameters$)action canbeoneoffollowing valuesCompareImageCompareMenuComparePropertiesExists/DoesNotExist WindowVP(CompareImage, Caption=Paint,VP=PICT1A)This fu
19、nction returns1iftheaction performedpassesReturn0iftheaction performedfails.VerificationPointcommandsZhu.K测试自动动化普遍遍存在的的问题不正确的的观念或或不现实实的期望望缺乏具有有良好素素质、经经验的测测试人才才测试工具具本身的的问题影影响测试试的质量量没有进行行有效的的、充分分的培训训没有考虑虑到公司司的实际际情况,盲目引引入测试试工具没有形成成一个良良好的使使用测试试工具的的环境其它技术术问题和和组织问问题Zhu.K11.2测试工具具的分类类和选择择Zhu.K11.2.1测试工具具的分
20、类类11.2.2测试工具具的选择择测试工具具是测试试自动化化的表现现测试工具具的研究究软件测试试的过程程是一项项很复杂杂而费时时的工作作,它不不仅执行行每一个个测试用用例,还还要设置置运行环环境、记记录输出出、运行行后清理理并记录录失败信信息。仅仅仅依靠靠测试人人员手工工完成是是很困难难的。所所以必须须研究测测试工具具以帮助助测试人人员自动动或半自自动的完完成测试试。在资金和和人力、时间的的供给一一定的条条件下面面,拥有有好的测测试工具具能够提提高测试试效率从从而降低低测试成成本,则则能够选选择更高高的测试试充分性性标准进进行测试试,从而而提高软软件质量量。Zhu.K测试工具具的例子子Zhu.
21、K测试工具具的分类类Code analysis Tools- Staticanalysis- DynamicanalysisTest ExecutionTool- Captureand Replay( Record& Playback)- MonitorTool- Stubs andDrivers- AutomatedTesting EnvironmentTest casegeneratorsZhu.K测试工具具的选择择Zhu.K11.3测试工具具的主流流产品介介绍Zhu.K11.3.1面向开发发的单元元测试工工具11.3.2负载和性性能测试试工具11.3.3GUI功能测试试工具11.3.4基
22、于Web应用的测测试工具具11.3.5软件测试试管理和和其他工工具面向开发发的单元元测试工工具根据不同同的语言言进行分分类:C/C+单元级测测试工具具PanoramaC+,C+Test,NumegaJUnit是一个开开发源代代码的Java测试框架架根据工具具的功能能特点进进行分类类:内存资源源泄漏检检查工具具:Numega中的BounceChecker, Rational的Purify等代码覆盖盖率检查查工具:Numega的TrueCoverage, Rational的PureCoverage,TeleLogic公司的Logiscope代码性能能检查工工具:Logiscope和Macabe等。
23、软件纠错错工具RationalPurl等。Zhu.K负载和性性能测试试工具属性LoadRunner /MIQALoad /CompuwareWebLoad/Radview价格昂贵较贵一般安装配置简单简单一般操作性较复杂简单简单支持测试对象各种中间件/数据库/应用服务器的性能监控/企业架构(j2ee和.net)的测试客户/服务器系统、企业资源配置(ERP)和电子商务应用Web Application支持平台windows,unix或linuxHP-UX, IBM AIX,Sun Solaris, Linux, NT/2kUnix Windows支持数据库DB2, SQLserver, Orcal
24、e, 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报表定制功能YYYZhu.KGUI功能测试试工具将操作应
25、应用程序序的各种种动作和和输入记记录下来来,包括括键盘操操作、鼠鼠标点击击等捕捉捉(Record)下来,生生成一个个脚本文文件,这这个脚本本以后可可以被“回放(playback)”。在实际际测试过过程中,要根据据测试需需求对录录制的脚脚本进行行一些必必要的修修改或加加入一些些参数,如选择择不同的的测试数数据、脚脚本中插插入检查查点(CheckPoint)进行跟跟踪调试试等。基于GUI功能测试试工具主主要适合合回归测测试阶段段。当一一个应用用开发基基本完成成后,程程序界面面基本定定型,虽虽然业务务的需求求会很频频繁变化化,但测测试脚本本结构基基本不需需要改动动,只需需要做些些小调整整,就可可以自
26、动动运行,则可大大大提高高了测试试的效率率和测试试的准确确性。目前主要要产品有有MI公司的WinRunner,Compuware的QARun,Rational的SQARobot,MSVisualTestSuite等Zhu.KGUI自动化测测试设计测试试用例,并手工工进行测测试。如果测试试未通过过,则先先改正缺缺陷,再再次执行行测试。如果测试试通过,利用测测试工具具运行该该测试过过程,捕捕获运行行过程需需要检测测的屏幕幕对象,并保存存。在进行回回归测试试测试,自动利利用测试试工具运运行测试试,并比比较运行行过程的的屏幕对对象与保保存的屏屏幕对象象比较,从而判判断测试试用例是是否通过过。Zhu.K
27、基于Web应用的测测试工具具基于Web应用的测测试工具具主要进进行链接接检查、HTML检查、Web功能和Web站点安全全性等各各个方面面的测试试。主要Web测试工具具有MI公司的Astra系列(如如AstraQuickTest)、RSW公司的E-TestSuite等;Web系统测试试工具:WorkBench、WebApplicationStress Tool(WAS)、页面面链接测测试Link Sleuth等。Zhu.KWebsite性能测试试测什么么?各种操作作的响应应速度最大并发发用户数数最大数据据容量ACT(ApplicationCenter Test)Zhu.KACT测测试中的的常见术
28、术语RPS(RequestPer Second)并发连接接数(Simultaneous BrowserConnections)思考时间间(ThinkingTime)RPS+SBC+ThinkingTime =Concurrentusers?Zhu.KACT测试的步步骤创建测试试脚本手工编写写VBScript录音并修修改运行测试试脚本设定并发发用户数数设定用户户身份运行、观观察、获获取主观观体验理解结果果报告图表各项性能能统计数数字日志文件件Zhu.K解读ACT测试结果果TTFB,TTLBHTTP错误的含含义401403404500常见的ACT结果图线线Zhu.K其他Web负载发生生工具Micr
29、osoftsWebApplicationStress ToolCyranosOpenSTAQuestSoftwares BenchmarkFactoryEmpirixsE-Test Suite 6.0RadViewsWebLoad5.0RationalSoftwares Rational RobotMercury InterctivesAstraLoadRunner 7.5CompuwaresQALoad 4.7SegueSoftwares SilePerformer5.0Zhu.K11.4Rational产品的整整体解决决方案Zhu.K11.4.1Rational测试产品品结构11.4.2R
30、ational全套测试试解决方方案的特特点TestManager:集中、可可伸缩的的测试管管理平台台Robot:传统应用用自动化化测试工工具RobotJ:Web/Java自动测试试工具ClearQuest:缺陷跟踪踪工具Rational系统测试试方案CoverageQuantifyPurifyPlanTestTestManagerDesignTestTestManagerImplementTestRobotRobotJTestManagerExecuteTestRobotRobotJTestManagerEvaluateTestClearQuestTestManagerChange Reque
31、st and Configuration Management - ClearQuest and ClearCase LTRational Unified ProcessZhu.KTestManager:控制中心心View ResultsPassFailCoverage reports Generate change requestsTest DesignOS/VerMemDiskTest IterationsTest ConfigurationsTest PlanTest CasesTest InputsAdaptersInputRobot GUI and VU ScriptsVB or J
32、ava scriptsExternal Scripts on other OSsExecutionAdaptersRational TestManagerZhu.KTestManager和ClearQuest集成Zhu.KTestManager:跨越整个个测试周周期Zhu.K自动实现现缺陷与与需求之之间的关关联Zhu.K测试度量量:覆覆盖,趋趋势等等Zhu.KRobotGUI的自动功功能测试试2.执执行测试试脚本OKFind执行脚本检验结果报告错误迭代1. 创建测试脚本选择测试需求录制操作过程(面向对象录制)插入验证点编辑生成的脚本(可选) Zhu.K和白盒工工具集成成Zhu.KRobotJ:
33、测试Java和Web应用ScriptAssureDynamic DataValidation技术保证证了即使使对象名名称发生生改变,测试脚脚本也能能正常回回放验证动态态内容利用Eclipse这一标准准的IDE环境,同同时提供供与版本本控制工工具的集集成ProfessionalLanguageandIDENEWTechnology forJava andWebBasedApplicationsZhu.KScriptAssure:降低了测测试脚本本的维护护成本Version 1.0Version2.0Determines Match?TesterseesToolseesZhu.K动态数据据验证:可
34、伸缩的的测试脚脚本OrderIDchanges witheachorderplacedTest Fails whencomparing staticbaselinetodynamic dataTest Passeswhen comparingpattern baseline to dynamicdata动态内容容匹配利用模式式匹配技技术来验验证数据据如不是验验证“OrderID230”,而是“OrderID#”当验证应应用的行行为时,考虑了了各种不不同的合合法响应应Zhu.K业界标准准的IDE和测试脚脚本语言言Eclipse集成环境境调试器、代码编编辑器使用标准准的Java语言作为为测试脚脚本
35、语言言Zhu.KZhu.K11.5.1MI产品结构构11.5.2MI三个重量量级产品品的介绍绍11.5 MI产品的整整体解决决方案MI产品结构构Zhu.K LoadRunner WinRunner TestDirector Astra QuickTest Astra LoadTest Topaz Prism ActiveTest ActiveWatch测试监控软件MSP被测系统LoadRunner的解决方方案Web服务器数据库服务器压力产生虚拟用户压力测试机解决测试资源的限制利用图表表工具分分析测试试结果利用录制制的脚本本进行回回归测试试AnalysisController运行大量量的“Virtual Users”在不同的的机器上上利用“Virtual Users”代替
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年潇湘职业学院单招职业适应性考试模拟试题及答案解析
- 2026年巴中职业技术学院单招职业适应性测试模拟试题及答案解析
- 口腔正畸技术与护理要点
- 2026年韶关学院单招职业适应性考试模拟试题及答案解析
- 神经外科主任:脑肿瘤手术策略
- 产科护理实践与技巧解析
- 住院部管理优化报告
- 医疗知识管理与实践
- 汽修实习报告(15篇)
- 己糖激酶缺乏性贫血的护理
- 思政大一考试试卷及答案
- 采用烟气挡板法再热汽温控制系统的研究
- 班组长培训课件(36张)
- 公路水运工程施工企业主要负责人和安全生产管理人员模拟试题库含答案
- 2025秋期版国开电大本科《理工英语4》一平台综合测试形考任务在线形考试题及答案
- 色素沉着性皮肤病动物模型-洞察与解读
- 保洁员节前安全培训课件
- 物业防火防盗安全培训课件
- 食用菌种植教学课件
- 年度工伤事故工作总结
- 医药产品知识产权考试题及答案
评论
0/150
提交评论