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

下载本文档

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

文档简介

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 自动化测试的引入和应用5.1.3 测试自动化的基本结构5.1.4 测试自动化的原理和方法 5.1.5 测试自动化普遍存在的问题手工测试的局限性 通过手工测试无法做到覆盖所有代码路径; 许多与时序、死锁、资源冲突、多线程等有关的错误

2、通过手工测试很难捕捉到 在系统负载、性能测试时,需要模拟大量数据、或大量并发用户等各种应用场合时,也很难通过手工测试来进行 在进行系统可靠性时,需要模拟系统运行十年、几十年,以验证系统能否稳定运行,也是手工测试无法模拟的。 如果有大量(几千)的测试用例,需要在短时间内完成,手工测试又怎么办呢? 测试可以发现错误,并不能表明程序的正确性。 自动测试定义软件系统功能规格书(Spec)只是从书面上的一套软件产品是由一套完整的可运行的测试来定义的测试所有可能情况将遭遇“组合爆炸”问题Win98, WinME, WinNT, Win2k, WinXP, WinXP TablePC Ed, WinXP M

3、ediaCenter Ed, Longhorn, etcEnglish, German, Japanese, Chinese, Arabic, ThaiOffice 97, Office2000, Office XP, Office 2003X86 32-bit, Intel 64-bit, AMD 64-bit, Alpha, MIPSSQL Server 6.5, SQL Server 7.0, SQL Server 2000 Visual Studio 6, VS .NET, VS .NET 2003, Whidbey手工测试的局限性 (2)代码全部Code Path测试覆盖也几乎不可能

4、每一个ifelse或switch语句就会把情况增加一倍许多异常处理代码在正常使用中不会碰到许多与时序,死锁,资源冲突,多线程有关的错误很难捕捉到每一个产品都会有不同的版本外加各自的SP与QFE (Quick Fix Engineering, 又称Hot fix)NT4, VS6 SP1SP5, Windows 2000 SP1-SP4VS .NET, SQL Server SP1 SP3可重复使用的自动测试对产品未来版本与Service Pack的测试将有事半功倍的效果手工测试的局限性 (2)自动化测试带来的好处1. 缩短周期 Testing cycle - Regression Testin

5、g2. Attributes of TA,Speed 速度Efficiency 效率Accuracy and Precise 准确、精确 Relentlessness 无情3. 容易实施、结果可靠4. 做手工不能做测试自动化项目的本质定义:利用GUI自动化测试工具来开发和执行测试脚本,从而验证是否满足需求本质:测试自动化项目本质上是软件开发项目一个测试自动化项目必须具有:清晰定义并严格实施的过程来自组织各级的支持周密的计划具体的设计和架构测试自动化成本/收益分析结构成本收益净收益No Automation000Recording and Playback8.3112.7Data-driven

6、structure using datapools8.4189.6Framework structure9.8155.2Framework / data-driven (hybrid) structure focusing on views of the application and using datapools11.6197.4各自特点软件测试自动化(TA)虽然具有很多优点,但只是对手工测试的一种补充,TA绝不能代替手工测试,有各自的特点: 在系统功能逻辑测试、验收测试、适用性测试、涉及物理交互性测试时,多采用黑盒测试的手工测试方法; 单元测试、集成测试、系统负载或性能、稳定性、可靠性测

7、试等比较适合采用TA; 对那种不稳定软件的测试、开发周期很短的软件、一次性的软件等不适合测试自动化 工具本身并没有想象力和灵活性,根据经验报道,自动测试只能发现15%的缺陷,而手工测试可以发现85%的缺陷;TA工具在进行功能测试时,其准确的含义是回归测试工具,因为工具不能发现更多的新问题,但可以保证对已经测试过部分进行测试的准确性和客观性 正确认识测试自动化不现实的期望注定测试自动化的失败测试自动化能:显著降低重复手工测试的时间建立可靠、重复的测试,减少认为错误增强测试质量和覆盖率测试自动化不能:完全替代手工测试和手工测试工程师保证100%的测试覆盖率弥补测试实践的不足自动化测试的引入和应用

8、找准测试自动化的切入点 把测试开发纳入整个软件开发体系 测试自动化依赖测试流程和测试用例 软件测试自动化的投入较大 进行资源的合理调度测试自动化的基本结构机房办公室文件服务器SQL ServerWeb服务器 控制程序拷贝测试文件拷贝测试结果分派工作分派工作查询结果Build系统编译寻找工作项目更新显示Dev Build, Test Build测试自动化的原理和方法 代码分析: 类似于高级编译系统,在工具中定义类/对象/函数/变量等定义规则、语法规则等,在分析时对代码进行语法扫描,找出不符合编码规范的地方。 捕获和回放: 代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法

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

10、有进行有效的、充分的培训 没有考虑到公司的实际情况,盲目引入测试工具 没有形成一个良好的使用测试工具的环境 其它技术问题和组织问题5.2 测试工具的分类和选择5.2.1 测试工具的分类5.2.2 测试工具的选择测试工具是测试自动化的表现测试工具的研究软件测试的过程是一项很复杂而费时的工作,它不仅执行每一个测试用例,还要设置运行环境、记录输出、运行后清理并记录失败信息。仅仅依靠测试人员手工完成是很困难的。所以必须研究测试工具以帮助测试人员自动或半自动的完成测试。在资金和人力、时间的供给一定的条件下面,拥有好的测试工具能够提高测试效率从而降低测试成本,则能够选择更高的测试充分性标准进行测试,从而提

11、高软件质量。测试工具的例子测试工具的分类Code analysis Tools- Static analysis- Dynamic analysisTest Execution Tool- Capture and Replay ( Record & Playback)- Monitor Tool- Stubs and Drivers- Automated Testing EnvironmentTest case generators测试工具的选择5.3 测试工具的主流产品介绍 5.3.1 面向开发的单元测试工具5.3.2 负载和性能测试工具5.3.3 GUI功能测试工具5.3.4 基于Web应

12、用的测试工具5.3.5 软件测试管理和其他工具面向开发的单元测试工具根据不同的语言进行分类:C/C+单元级测试工具Panorama C+,C+Test, Numega JUnit是一个开发源代码的Java测试框架根据工具的功能特点进行分类: 内存资源泄漏检查工具:Numega中的BounceChecker, Rational的Purify等 代码覆盖率检查工具:Numega的TrueCoverage, Rational的PureCoverage,TeleLogic公司的Logiscope 代码性能检查工具:Logiscope和 Macabe等。 软件纠错工具Rational Purl等。负载和

13、性能测试工具属性LoadRunner /MIQALoad /CompuwareWebLoad/Radview价格昂贵较贵一般安装配置简单简单一般操作性较复杂简单简单支持测试对象各种中间件/数据库/应用服务器的性能监控/企业架构(j2ee和.net)的测试客户/服务器系统、企业资源配置(ERP)和电子商务应用Web Application支持平台windows,unix或linuxHP-UX, IBM AIX,Sun Solaris, Linux, NT/2kUnix Windows支持数据库DB2, SQLserver, Orcale, SybaseADO, DB2, Oracle, Syba

14、se, 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

15、)下来,生成一个脚本文件,这个脚本以后可以被“回放( playback)” 。在实际测试过程中,要根据测试需求对录制的脚本进行一些必要的修改或加入一些参数,如选择不同的测试数据、脚本中插入检查点(Check Point)进行跟踪调试等。基于GUI功能测试工具主要适合回归测试阶段。当一个应用开发基本完成后,程序界面基本定型,虽然业务的需求会很频繁变化,但测试脚本结构基本不需要改动,只需要做些小调整,就可以自动运行,则可大大提高了测试的效率和测试的准确性。目前主要产品有MI公司的 WinRunner, Compuware的QARun, Rational的 SQA Robot,MS Visual T

16、est Suite等GUI自动化测试 设计测试用例,并手工进行测试。 如果测试未通过,则先改正缺陷,再次执行测试。 如果测试通过,利用测试工具运行该测试过程,捕获运行过程需要检测的屏幕对象,并保存。 在进行回归测试测试,自动利用测试工具运行测试,并比较运行过程的屏幕对象与保存的屏幕对象比较,从而判断测试用例是否通过。基于Web应用的测试工具基于Web应用的测试工具主要进行链接检查、HTML检查、Web功能和Web站点安全性等各个方面的测试。主要Web测试工具有MI公司的Astra系列(如AstraQuickTest)、RSW公司的 E-Test Suite等;Web系统测试工具: WorkBe

17、nch、Web Application Stress Tool(WAS)、页面链接测试Link Sleuth等。 Website性能测试测什么?各种操作的响应速度最大并发用户数最大数据容量ACT (Application Center Test) ACT测试中的常见术语RPS (Request Per Second)并发连接数 (Simultaneous Browser Connections)思考时间 (Thinking Time)RPS + SBC + Thinking Time = Concurrent users?ACT测试的步骤创建测试脚本手工编写VBScript录音并修改运行测试脚

18、本设定并发用户数设定用户身份运行、观察、获取主观体验理解结果报告图表各项性能统计数字日志文件解读ACT测试结果TTFB, TTLBHTTP错误的含义401403404500常见的ACT结果图线其他Web负载发生工具 Microsofts Web Application Stress Tool Cyranos OpenSTA Quest Softwares Benchmark Factory Empirixs E-Test Suite 6.0 RadViews WebLoad 5.0 Rational Softwares Rational Robot Mercury Interctives As

19、tra LoadRunner 7.5 Compuwares QA Load 4.7 Segue Softwares SilePerformer 5.011.4 Rational产品的整体解决方案11.4.1 Rational测试产品结构11.4.2 Rational 全套测试解决方案的特点 TestManager: 集中、可伸缩的测试管理平台Robot:传统应用自动化测试工具RobotJ:Web/Java自动测试工具ClearQuest:缺陷跟踪工具Rational系统测试方案CoverageQuantifyPurifyPlanTestTestManagerDesignTestTestMana

20、gerImplementTestRobotRobotJTestManagerExecuteTestRobotRobotJTestManagerEvaluateTestClearQuestTestManagerChange Request and Configuration Management - ClearQuest and ClearCase LTRational Unified ProcessTestManager: 控制中心View ResultsPassFailCoverage reports Generate change requestsTest DesignOS/VerMemD

21、iskTest IterationsTest ConfigurationsTest PlanTest CasesTest InputsAdaptersInputRobot GUI and VU ScriptsVB or Java scriptsExternal Scripts on other OSsExecutionAdaptersRational TestManagerTestManager和ClearQuest集成TestManager: 跨越整个测试周期 自动实现缺陷与需求之间的关联测试度量: 覆盖, 趋势等Robot GUI的自动功能测试2. 执行测试脚本OKFind执行脚本检验结果

22、报告错误迭代1. 创建测试脚本选择测试需求录制操作过程(面向对象录制)插入验证点编辑生成的脚本(可选) 和白盒工具集成RobotJ:测试Java和Web应用Script AssureDynamic DataValidation 技术保证了即使对象名称发生改变,测试脚本也能正常回放验证动态内容利用Eclipse这一标准的IDE环境,同时提供与版本控制工具的集成ProfessionalLanguageand IDENEWTechnology forJava and Web BasedApplicationsScriptAssure: 降低了测试脚本的维护成本Version 1.0Version 2

23、.0Determines Match?TesterseesToolsees动态数据验证:可伸缩的测试脚本Order ID changes with each order placedTest Fails when comparing static baseline to dynamic dataTest Passes when comparing pattern baseline to dynamic data动态内容匹配利用模式匹配技术来验证数据如不是验证 “Order ID 230”, 而是 “Order ID #” 当验证应用的行为时,考虑了各种不同的合法响应业界标准的IDE和测试脚本语

24、言Eclipse集成环境调试器、代码编辑器使用标准的Java语言作为测试脚本语言11.5.1 MI产品结构11.5.2 MI三个重量级产品的介绍11.5 MI产品的整体解决方案MI产品结构 LoadRunner WinRunner TestDirector Astra QuickTest Astra LoadTest Topaz Prism ActiveTest ActiveWatch测试监控软件MSP被测系统LoadRunner 的解决方案Web服务器数据库服务器压力产生虚拟用户压力测试机解决测试资源的限制利用图表工具分析测试结果利用录制的脚本进行回归测试AnalysisController

25、运行大量的“Virtual Users”在不同的机器上利用 “Virtual Users”代替实际测试人员通过“Controller”管理“ Vusers”49LoadRunner 的解决方案支持多种协议和API50LoadRunner 的解决方案能够对多种Server和资源进行监控Web服务器Web应用服务器数据库服务器系统资源51LoadRunner 的解决方案Virtual User Generator产生压力和搜集测试结果生成用于“Controller”部署的“ Vusers”通过图表分析工具来编译和显示测试结果LoadRunner ControllerLoadRunner Analy

26、sis52系统性能调优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 Virtual Users阶段 2阶段 1制定压力测试方案NOTE: 这是LR的一个典型工作流程。为便于理解这个流程,在本教程中有些步骤将按照 不同的顺序来介绍。11.6 Compuware产品的整体解决方案11.6.1 Compuware产品结构11.6.2 Compuware分阶段解决方案Compuware产品结构1黑盒测试工具 QACen

27、ter2白盒测试工具Numega系列产品3Vantage 应用级网络性能监控管理软件编码实现阶段 运行期错误检测和诊断工具Error Detection、代码覆盖率分析工具Coverage Analysis、性能分析和优化工具Performance Analysis、设备驱动开发套件NuMega DriverStudio、JAVA可视线程和事件分析工具JCheck、交互式的存储过程调试和优化工具DBPartner DebuggerVB源代码分析、错误诊断、处理和恢复工具(CodeReview,SmartCheck,FailSafe等)。 测试阶段自动捕获和回放工具QARun应用性能加载工具QA

28、Load Web站点质量分析工具WebCheckweb应用功能测试工具TestPartner测试管理和设计系统QADirector缺陷跟踪系统TrackRecord。 网络性能测试网络应用性能分析工具Application Expert网络应用性能监控工具Network Vantage服务器数据库性能监控工具Server Vantage作业Q & A1、不是井里没有水,而是你挖的不够深。不是成功来得慢,而是你努力的不够多。2、孤单一人的时间使自己变得优秀,给来的人一个惊喜,也给自己一个好的交代。3、命运给你一个比别人低的起点是想告诉你,让你用你的一生去奋斗出一个绝地反击的故事,所以有什么理由不

29、努力!4、心中没有过分的贪求,自然苦就少。口里不说多余的话,自然祸就少。腹内的食物能减少,自然病就少。思绪中没有过分欲,自然忧就少。大悲是无泪的,同样大悟无言。缘来尽量要惜,缘尽就放。人生本来就空,对人家笑笑,对自己笑笑,笑着看天下,看日出日落,花谢花开,岂不自在,哪里来的尘埃!25、你不能拼爹的时候,你就只能去拼命!26、如果人生的旅程上没有障碍,人还有什么可做的呢。27、我们无法选择自己的出身,可是我们的未来是自己去改变的。励志名言:比别人多一点执着,你就会创造奇迹28、伟人之所以伟大,是因为他与别人共处逆境时,别人失去了信心,他却下决心实现自己的目标。29、人生就像一道漫长的阶梯,任何人

30、也无法逆向而行,只能在急促而繁忙的进程中,偶尔转过头来,回望自己留下的蹒跚脚印。30、时间,带不走真正的朋友;岁月,留不住虚幻的拥有。时光转换,体会到缘分善变;平淡无语,感受了人情冷暖。有心的人,不管你在与不在,都会惦念;无心的情,无论你好与不好,只是漠然。走过一段路,总能有一次领悟;经历一些事,才能看清一些人。31、我们无法选择自己的出身,可是我们的未来是自己去改变的。32、命好不如习惯好。养成好习惯,一辈子受用不尽。33、比别人多一点执着,你就会创造奇迹。50、想像力比知识更重要。不是无知,而是对无知的无知,才是知的死亡。51、对于最有能力的领航人风浪总是格外的汹涌。52、思想如钻子,必须

31、集中在一点钻下去才有力量。53、年少时,梦想在心中激扬迸进,势不可挡,只是我们还没学会去战斗。经过一番努力,我们终于学会了战斗,却已没有了拼搏的勇气。因此,我们转向自身,攻击自己,成为自己最大的敌人。54、最伟大的思想和行动往往需要最微不足道的开始。55、不积小流无以成江海,不积跬步无以至千里。56、远大抱负始于高中,辉煌人生起于今日。57、理想的路总是为有信心的人预备着。58、抱最大的希望,为最大的努力,做最坏的打算。59、世上除了生死,都是小事。从今天开始,每天微笑吧。60、一勤天下无难事,一懒天下皆难事。61、在清醒中孤独,总好过于在喧嚣人群中寂寞。62、心里的感觉总会是这样,你越期待的

32、会越行越远,你越在乎的对你的伤害越大。63、彩虹风雨后,成功细节中。64、有些事你是绕不过去的,你现在逃避,你以后就会话十倍的精力去面对。65、只要有信心,就能在信念中行走。66、每天告诉自己一次,我真的很不错。67、心中有理想 再累也快乐68、发光并非太阳的专利,你也可以发光。69、任何山都可以移动,只要把沙土一卡车一卡车运走即可。70、当你的希望一个个落空,你也要坚定,要沉着!71、生命太过短暂,今天放弃了明天不一定能得到。72、只要路是对的,就不怕路远。73、如果一个人爱你、特别在乎你,有一个表现是他还是有点怕你。74、先知三日,富贵十年。付诸行动,你就会得到力量。75、爱的力量大到可以

33、使人忘记一切,却又小到连一粒嫉妒的沙石也不能容纳。1、这世上,没有谁活得比谁容易,只是有人在呼天抢地,有人在默默努力。2、当热诚变成习惯,恐惧和忧虑即无处容身。缺乏热诚的人也没有明确的目标。热诚使想象的轮子转动。一个人缺乏热诚就象汽车没有汽油。善于安排玩乐和工作,两者保持热诚,就是最快乐的人。热诚使平凡的话题变得生动。3、起点低怕什么,大不了加倍努力。人生就像一场马拉松比赛,拼的不是起点,而是坚持的耐力和成长的速度。只要努力不止,进步也会不止。4、如果你不相信努力和时光,那么时光第一个就会辜负你。不要去否定你的过去,也不要用你的过去牵扯你的未来。不是因为有希望才去努力,而是努力了,才能看到希望。5、人生每天都要笑,生活的下一秒发生什么,我们谁也不知道。所以,放下心里的纠结,放下脑中的烦恼,放下生活的不愉快,活在当下。人生喜怒哀乐,百般形态,不如在心里全部淡然处之,轻轻一笑,让心更自在,生命更恒久。积极者相信只有推动自己才能推动世界,只要推动自己就能推动世界。6、人性本善,纯如清溪流水凝露莹烁。欲望与情绪如风沙袭扰,把原本如天空旷蔚蓝的心蒙蔽。但我知道,每个人的心灵深处,不管乌云密布还是阴淤苍茫,但依然有一道彩虹,亮丽于心中某处。7、每个人的心里,都藏

温馨提示

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

评论

0/150

提交评论