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

下载本文档

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

文档简介

软件测试第7章

自动化测试软件测试人与工具工欲善其事,必先利其器。荀子曰:吾尝终日而思矣,不如须臾之所学也。吾尝〔足支〕而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远。顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里。假舟辑者,非能水也,而绝江河。君子生非异也,善假于物也。君子性非异也,善假于物也。人与工具工欲善其事,必先利其器。荀子曰:吾尝终日而思矣,不如测试面临的问题测试用例会越来越多,工作量越来越大,而且许多测试用例会被不断地重复执行。如果由手工来完成,不仅占用很多人力资源,而且工作重复单调,会影响测试人员的积极性,降低测试工作人员的热情…怎么办?自动化测试测试面临的问题测试用例会越来越多,工作量越来越大,而且许多测本章内容7.1测试自动化的内涵7.2自动化测试的原理7.3测试工具的分类和选择7.4自动化测试的引入本章内容7.1测试自动化的内涵本章内容7.1测试自动化的内涵7.2自动化测试的原理7.3测试工具的分类和选择7.4自动化测试的引入本章内容7.1测试自动化的内涵7.1测试自动化的内涵7.1.1简单的实验7.1.2自动化测试的例子7.1.3什么是自动化测试7.1.4自动化测试的特点和优势7.1测试自动化的内涵7.1.1简单的实验简单的实验批处理文件Word的邮件合并功能“工具”“信和邮件”“邮件合并”

简单的实验批处理文件“工具”“信和邮件”“邮件合并”Word中的宏Word中的宏自动化测试的例子(1)先下载并安装SeleniumIDE/projects/ide/

自动化测试的例子(1)先下载并安装SeleniumIDEh自动化测试的例子(2)录制操作查看脚本回放脚本自动化测试的例子(2)录制操作什么是自动化测试自动化测试(automatedtest)是相对手工测试(manualtest)而存在的一个概念,由手工逐个地运行测试用例的操作过程被测试工具自动执行的过程所代替。测试工具的使用是自动化测试的主要特征什么是自动化测试自动化测试(automatedtest)是自动化测试vs.测试自动化自动化测试焦点集中在测试执行,主要是由测试工具自动地完成测试。测试自动化指“一切可以由计算机系统自动完成的测试任务都已经由计算机系统或软件工具、程序来承担并自动执行”自动化测试vs.测试自动化自动化测试焦点集中在测试执行自动化测试

vs.测试自动化........测试自动化

理念全过程

所有测试活动包括测试设计

测试管理........自动化测试

测试工具测试执行

单项活动

自动化测试vs.测试自动化.测试自动化.自动化测试手工测试的局限性无法做到覆盖所有代码路径很难捕捉到与时序、死锁、资源冲突、多线程等有关的错误难以实施系统负载/性能测试,因为需要模拟大量数据或大量并发用户难以实施系统可靠性测试,因为需要模拟系统运行十年、甚至几十年。难以在短时间内完成大量(如几千个)的(回归)测试用例面对测试条件组合爆炸,无能为力或效率非常低。

您的看法?手工测试的局限性无法做到覆盖所有代码路径您的看法?自动化测试的特点自动运行的速度快,是手工无法相比的。测试结果准确。例如搜索用时及时是0.33秒或0.24秒,系统都会发现问题,不会忽视任何差异高复用性。一旦完成所用的测试脚本,可以一劳永逸运行很多遍永不疲劳

可靠

独特的能力

自动化测试的特点自动运行的速度快,是手工无法相比的。自动化测试带来的好处测试周期缩短更高质量的产品软件过程更规范高昂的团队士气节省人力资源,降低企业成本充分利用硬件资源,降低企业成本。表4-2自动化测试在不同测试阶段的应用

自动化测试带来的好处测试周期缩短表4-2自动化测试在不同测手工测试

发现缺陷率高容易实施创造性、灵活性

覆盖率量化困难

重复测试效率低不一致性、可靠性低依赖人力资源

高效率(速度)高复用性覆盖率容易度量准确、可靠不知疲劳激励团队士气

机械、难以发现缺陷一次性投入大自动测试手工测试vs.自动测试手工测试发现缺陷率高高效率(速度)自动测试手工测试两者相互补充在系统功能逻辑测试、验收测试、适用性测试、涉及交互性测试时,多采用手工测试方法;单元测试、集成测试、系统负载或性能、可靠性测试等比较适合采用TA;对那种不稳定、开发周期短或一次性的软件等不适合TA工具本身缺乏想象力和创造性,自动测试只能发现15%的缺陷,而手工测试可以发现85%的缺陷;两者相互补充在系统功能逻辑测试、验收测试、适用性测试、涉及交本章内容7.1测试自动化的内涵7.2自动化测试的原理7.3测试工具的分类和选择7.4自动化测试的引入本章内容7.1测试自动化的内涵7.2自动化测试的原理7.2.1代码分析7.2.2GUI对象识别7.2.3DOM对象识别7.2.4自动比较技术7.2.5脚本技术7.2自动化测试的原理7.2.1代码分析自动化测试的流程举例保存脚本记录执行Log验证测试结果启动应用、执行脚本调用脚本创建脚本录制对象及其操作插入验证点调试脚本启动应用测试报告自动化测试的流程举例保存脚本记录执行Log验证测试结果启动应测试工具实现的原理代码扫描及其分析对象识别捕获和回放(record/playback)脚本技术

自动结果比较测试工具实现的原理代码扫描及其分析代码分析代码的静态分析的关键是建立各种规则,而这种规则的建立是依赖于相应编程语言的语法。如依据EBNF(扩展巴科斯-诺尔范式)对Java代码的分析。参考ParasoftJtest或C++test代码分析代码的静态分析的关键是建立各种规则,而这种规则的建立代码规则表示举例代码规则表示举例代码扫描编译器规则工具代码扫描编译器逻辑名称是对象属性之一的值数值

用于识别对象名称Nativeclass: EditAttachedText:AgentName:Enabled: TrueFocused: TrueHeight: 20Text: HaroldWidth: 119Windows对象识别逻辑名称是对象属性之一的值Nativeclass: EdiWindows对象识别

-2对象库是本地在测试结构范围内

存储对像信息.对象库例如对象(属性)包含登陆窗口在记录过程中捕获的:-AgentNamefield-Passwordfield-OKbutton-Cancelbutton-HelpbuttonWindows对象识别-2对象库是本地在测试结构范围内对象识别工具对象识别工具DOM对象的识别IEDOMInspector

DOM对象的识别IEDOMInspectorDOM对象识别工具FireBug

DOM对象识别工具FireBug脚本技术

线性脚本,是录制手工执行的测试用例得到的脚本,这种脚本包含所有的击键、移动、输入数据等,所有录制的测试用例都可以得到完整的回放。

结构化脚本,类似于结构化程序设计,具有各种逻辑结构、函数调用功能。

数据驱动脚本,将测试输入存储在独立的(数据)文件中,而不是存储在脚本中。

关键字驱动脚本,是数据驱动脚本的逻辑扩张

脚本技术线性脚本,是录制手工执行的测试用例得到的脚本,这种线性脚本线性脚本结构化脚本结构化脚本关键字驱动脚本关键字驱动脚本数据驱动测试脚本OrderIDchangeswitheachorderplacedTestFailswhencomparingstaticbaselinetodynamicdataTestPasseswhencomparingpatternbaselinetodynamicdata动态内容匹配利用模式匹配技术来验证数据如不是验证“OrderID230”,而是“OrderID###”当验证应用的行为时,考虑了各种不同的合法响应数据驱动测试脚本OrderIDchangeswith另外一个例子另外一个例子对象映射Version1.0Version

2.0DeterminesMatch

??Tester

seesTool

sees对象映射Version1.0Version2.0Dete自动比较

静态比较和动态比较,简单比较和复杂比较,敏感性测试比较和健壮性测试比较,。比较过滤器

自动比较静态比较和动态比较,Selenium中验证命令的示例验证点命令对象值verifyTitleMyPageverifyValuenameFieldJohnSmithverifySelecteddorpdown2value=js*123verifyTextPresentYouarenowloggedin

verifyAttributetxt1@classbigAndBlodverfyVisiblepostcode

Selenium中验证命令的示例验证点命令对象值verifComboBoxVPEditBoxVP FileVPHTMLLinkVPHTMLDocumentVPListViewVP WindowVP JavaListViewVP

SyntaxofWindowVPfunction:Result=

WindowVP

(action%,recMethod$,parameters$)[actioncanbeoneoffollowingvalues]

CompareImageCompareMenuComparePropertiesExists/DoesNotExist…WindowVP(CompareImage,"Caption=Paint","VP=PICT1A")Thisfunctionreturns1iftheactionperformedpassesReturn0iftheactionperformedfails.Robot验证点ComboBoxVPSyntaxofWindowVP本章内容7.1测试自动化的内涵7.2自动化测试的原理7.3测试工具的分类和选择7.4自动化测试的引入本章内容7.1测试自动化的内涵各类测试工具根据测试方法不同,分为白盒测试工具和黑盒测试工具、静态测试工具和动态测试工具等。根据工具的来源不同,分为开源测试工具(多数是免费的)和商业测试工具、自主开发的测试工具和第三方测试工具等。根据测试的对象和目的,分为单元测试工具、功能测试工具、性能测试工具、测试管理工具等各类测试工具根据测试方法不同,分为白盒测试工具和黑盒测试工具测试工具的分类静态测试工具 -扫描分析:Findbugs,JTest/C++Test -规则定义动态测试工具 -内存检测工具 -录制/回放工具 -负载测试工具 -监控工具测试工具的分类静态测试工具商业工具解决方案

单元测试:ParasoftJTest/C++test,PRQA•C/C++、CompuWareDevPartnerforVisualC++

CompuWareBounceChecker,IBMRationalPurifyPlus/PureCoverage,CompuWareTrueCoverage,TeleLogicLogiscop

功能测试:HPQTP/WinRunner,IBMRationalFunctionalTester/Robot,SegueSilkTest,OracleEmpirixe-TestSuite,CompuwareTestPartner,ParasoftWebKing

性能测试:HPLoadRunner,BorlandSilkPerformer,IBMRationalPerformanceTester,RadviewWebLoad,CompuwareQALoad商业工具解决方案单元测试:ParasoftJTest/开源工具解决方案单元测试:JUnit&XUnit家族功能测试:Selenium、AbbotAutoIT/AutoHotkey

性能测试:JMeter数据库:DBprobe网络监控:Wireshark/Ethereal,Netcat,Snort

开源工具解决方案单元测试:JUnit&XUnit家DemoJUnitDemoJUnitDemoSeleniumDemoSelenium工具选择的过程工具选择的过程本章内容7.1测试自动化的内涵7.2自动化测试的原理7.3测试工具的分类和选择7.4自动化测试的引入本章内容7.1测试自动化的内涵正确认识测试自动化不现实的期望注定测试自动化的失败测试自动化能:显著降低重复手工测试的时间建立可靠、重复的测试,减

温馨提示

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

评论

0/150

提交评论