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

下载本文档

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

文档简介

1、软件测试方法和技术软件测试方法和技术 - Ch.11软件测试自动化软件测试自动化主讲教师:郭晓燕主讲教师:郭晓燕第十一章第十一章 软件测试自动化软件测试自动化11.1测试自动化的内涵测试自动化的内涵11.2 测试工具的分类和选择测试工具的分类和选择11.3 测试工具的主流产品介绍测试工具的主流产品介绍 11.4 IBM-Rational产品的整体解决方案产品的整体解决方案11.5 Mercury Interactive产品的整体解决方案产品的整体解决方案11.6 Compuware产品的整体解决方案产品的整体解决方案11.1测试自动化的内涵测试自动化的内涵11.1.1 为什么要软件测试自动化为

2、什么要软件测试自动化11.1.2 自动化测试的引入和应用自动化测试的引入和应用11.1.3 测试自动化的基本结构测试自动化的基本结构11.1.4 测试自动化的原理和方法测试自动化的原理和方法 11.1.5 测试自动化普遍存在的问题测试自动化普遍存在的问题手工测试的局限性手工测试的局限性p 通过手工测试无法做到覆盖所有代码路径通过手工测试无法做到覆盖所有代码路径; ;p 许多与时序、死锁、资源冲突、多线程等有关的错误通过手工测试很许多与时序、死锁、资源冲突、多线程等有关的错误通过手工测试很难捕捉到难捕捉到p 在系统负载、性能测试时,需要模拟大量数据、或大量并发用户等各在系统负载、性能测试时,需要

3、模拟大量数据、或大量并发用户等各种应用场合时,也很难通过手工测试来进行种应用场合时,也很难通过手工测试来进行p 在进行系统可靠性时,需要模拟系统运行十年、几十年,以验证系统在进行系统可靠性时,需要模拟系统运行十年、几十年,以验证系统能否稳定运行,也是手工测试无法模拟的。能否稳定运行,也是手工测试无法模拟的。p 如果有大量(几千)的测试用例,需要在短时间内完成,手工测试又如果有大量(几千)的测试用例,需要在短时间内完成,手工测试又怎么办呢?怎么办呢?p 测试可以发现错误,并不能表明程序的正确性。测试可以发现错误,并不能表明程序的正确性。自动化测试带来的好处自动化测试带来的好处1. 缩短周期缩短周

4、期 Testing cycle - Regression Testing2. Attributes of TA,Speed 速度Efficiency 效率Accuracy and Precise 准确、精确 Relentlessness 无情3. 容易实施、结果可靠容易实施、结果可靠4. 做手工不能做做手工不能做手工测试手工测试 耗费时间耗费时间 低可靠性低可靠性 人力资源人力资源 不一致性不一致性 仅对于一次性的测试有益仅对于一次性的测试有益 速度速度 可重复可重复 覆盖率覆盖率 可靠可靠 可以再度使用可以再度使用 重复测试节省时间重复测试节省时间自动测试自动测试手工测试手工测试 vs.自动

5、测试自动测试正确认识测试自动化正确认识测试自动化n不现实的期望注定测试自动化的失败不现实的期望注定测试自动化的失败n测试自动化能:测试自动化能:n显著降低重复手工测试的时间显著降低重复手工测试的时间n建立可靠、重复的测试,减少认为错误建立可靠、重复的测试,减少认为错误n增强测试质量和覆盖率增强测试质量和覆盖率n测试自动化不能:测试自动化不能:n完全替代手工测试和手工测试工程师完全替代手工测试和手工测试工程师n保证保证100%的测试覆盖率的测试覆盖率n弥补测试实践的不足弥补测试实践的不足测试自动化成本测试自动化成本/收益分析收益分析结构结构成本成本收益收益净收净收益益No Automation0

6、00Recording and Playback8.3112.7Data-driven structure using datapools8.4189.6Framework structure9.8155.2Framework / data-driven (hybrid) structure focusing on views of the application and using datapools11.6197.4自动化测试的引入和应用自动化测试的引入和应用p 找准测试自动化的切入点找准测试自动化的切入点p 把测试开发纳入整个软件开发体系把测试开发纳入整个软件开发体系p 测试自动化依赖测

7、试流程和测试用例测试自动化依赖测试流程和测试用例p 软件测试自动化的投入较大软件测试自动化的投入较大p 进行资源的合理调度进行资源的合理调度自动化测试工作流程自动化测试工作流程收集测试信息收集测试信息测试需求是什么?那里能得到用到的数据?建立基本测试建立基本测试纪录用户的操作核实成功回放提高基本测试提高基本测试插入测试点驱动测试数据整体测试整体测试关联数据建立综合的测试场景计划计划1创建创建2核实核实 和和 提高提高3整合整合4计划自动化测试计划自动化测试纪录用户操作形纪录用户操作形成基本测试成基本测试对对 回放回放 和和 测试测试提高自动化测试提高自动化测试运行多种测试检运行多种测试检查数据

8、流查数据流测试自动化的基本结构测试自动化的基本结构机房机房办公室办公室文件服务器文件服务器SQL ServerSQL ServerWebWeb服务器服务器 控制程序控制程序拷贝测试文件拷贝测试文件拷贝测试结果拷贝测试结果分派工作分派工作分派工作分派工作查询结果查询结果BuildBuild系统编译系统编译寻找工作项目寻找工作项目更新更新显示显示Dev Build, Test BuildDev Build, Test Build测试自动化的原理和方法测试自动化的原理和方法p 代码分析代码分析: : 类似于高级编译系统,在工具中定义类类似于高级编译系统,在工具中定义类/对象/函数/变量等定义规则、语

9、法规则等,在分析时对代码进行语法扫描,找出不符合编码规范的地方。p 捕获和回放捕获和回放: : 代码分析是一种白盒测试的自动化方法,代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法。p对象识别对象识别p脚本技术脚本技术p自动化比较自动化比较对象识别对象识别编辑框编辑框下拉框下拉框按钮按钮QuickTest 在支持应用中识别、确定每一个对象是什么类型复选框复选框选择框选择框对象识别对象识别 2n逻辑名称是对象属性之一的值逻辑名称是对象属性之一的值n数值数值 用于识别对象名称用于识别对象名称Nativeclass: EditAttached Text: Agent Nam

10、e:Enabled: TrueFocused: TrueHeight: 20Text: HaroldWidth: 119对象识别对象识别 3对象库对象库 是本地在测试结构范围内是本地在测试结构范围内 存储对像信息存储对像信息.对象库对象库例如对象 (属性) 包含登陆窗口在记录过程中捕获的:- Agent Name field- Password field- OK button- Cancel button- Help button脚本技术脚本技术p 线性脚本线性脚本,是录制手工执行的测试用例得到的脚本,这种脚本包含所有的击键、移动、输入数据等,所有录制的测试用例都可以得到完整的回放。p 结构

11、化脚本结构化脚本,类似于结构化程序设计,具有各种逻辑结构、函数调用功能。p 共享脚本共享脚本,是指某个脚本可以被多个测试用例使用。p 数据驱动脚本数据驱动脚本,将测试输入存储在独立的(数据)文件中,而不是存储在脚本中。p 关键字驱动脚本关键字驱动脚本,是数据驱动脚本的逻辑扩张Script exampleSample script=Section Two - header file, public variables and constants declaration area= $include rtpCMCSanity0225_BB_X.sbh$Include rtpCMC5_BB.sbh$

12、include rtpReportLog.sbh=Section Three - Unit test scripting area for this subroutine or function Sub Main CallScript rtpCMCSanity0225_init Dim Result As Integer Dim meetingTopic As String If there already a meeting meeting, didnt start again SQASuspendLogOutput Result = WindowVP (Exists, Caption=*

13、+MEETING_CLIENT_CAPTION+ *, VP=Window Existence;Wait=1,3) SQAResumeLogOutput If Result = 0 ThenResult = func_MiscScheduleStartMeetingSimple (PAGE_CAPTION, meetingTopic, MEETING_PASSWD)ElseEnd IfCheckBox CheckBox Click, Name=OverdraftComboBox, ComboListBoxEditBoxHTMLDocument , HTMLImage , HTMLLink In

14、putKeysInputKeys This is Robot.EnterUser Action commands 测试自动化普遍存在的问题测试自动化普遍存在的问题p 不正确的观念或不现实的期望不正确的观念或不现实的期望p 缺乏具有良好素质、经验的测试人才缺乏具有良好素质、经验的测试人才p 测试工具本身的问题影响测试的质量测试工具本身的问题影响测试的质量p 没有进行有效的、充分的培训没有进行有效的、充分的培训p 没有考虑到公司的实际情况,盲目引入测试工具没有考虑到公司的实际情况,盲目引入测试工具p 没有形成一个良好的使用测试工具的环境没有形成一个良好的使用测试工具的环境p 其它技术问题和组织问题

15、其它技术问题和组织问题11.2 测试工具的分类和选择测试工具的分类和选择11.2.1 测试工具的分类测试工具的分类11.2.2 测试工具的选择测试工具的选择测试工具是测试自动化的表现测试工具是测试自动化的表现测试工具的例子测试工具的例子测试工具的分类测试工具的分类Code analysis Tools- Static analysis- Dynamic analysisTest Execution Tool- Capture and Replay ( Record & Playback)- Monitor Tool- Stubs and Drivers- Automated Testi

16、ng EnvironmentTest case generators测试工具的选择测试工具的选择测试工具介绍测试工具介绍n功能测试工具:功能测试工具:QTP、Seleniumn性能测试工具:性能测试工具:JMetern安全性测试工具:安全性测试工具:Acunetix web Vulnerablity scannern缺陷跟踪系统:缺陷跟踪系统:Mantis、Bugzillan管理工具:管理工具:Testlink、TestDirector11.3 测试工具的主流产品介绍测试工具的主流产品介绍 11.3.1 面向开发的单元测试工具面向开发的单元测试工具11.3.2 负载和性能测试工具负载和性能测试

17、工具11.3.3 GUI功能测试工具功能测试工具11.3.4 基于基于Web应用的测试工具应用的测试工具11.3.5 软件测试管理和其他工具软件测试管理和其他工具面向开发的单元测试工具面向开发的单元测试工具根据不同的语言进行分类根据不同的语言进行分类:pC/C+单元级测试工具单元级测试工具Panorama C+,C+Test, Numega pJUnit是一个开发源代码的是一个开发源代码的Java测试框架测试框架根据工具的功能特点进行分类:根据工具的功能特点进行分类:p 内存资源泄漏检查工具:内存资源泄漏检查工具:Numega中的中的BounceChecker, Rational的的Purif

18、y等等p 代码覆盖率检查工具代码覆盖率检查工具:Numega的的TrueCoverage, Rational的的PureCoverage,TeleLogic公司的公司的Logiscopep 代码性能检查工具:代码性能检查工具:Logiscope和和 Macabe等。等。p 软件纠错工具软件纠错工具Rational Purl等。等。负载和性能测试工具负载和性能测试工具属性属性LoadRunner /MIQALoad /CompuwareWebLoad/Radview价格价格昂贵昂贵较贵较贵一般一般安装配置安装配置简单简单简单简单一般一般操作性操作性较复杂较复杂简单简单简单简单支持测试对象支持测试

19、对象各种中间件各种中间件/数据库数据库/应用服应用服务器的性能监控务器的性能监控/企业架构企业架构(j2ee和和.net)的测试的测试客户客户/服务器系统、企业资源配服务器系统、企业资源配置置(ERP)和电子商务应用和电子商务应用Web Application支持平台支持平台windows,unix或或linuxHP-UX, IBM AIX,Sun Solaris, Linux, NT/2kUnix Windows支持数据库支持数据库DB2, SQLserver, Orcale, SybaseADO, DB2, Oracle, Sybase, SQLserver, OdbcADO, DB2,

20、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功能测试工具功能测试工具将操作应用程序的各种动作和输入记录下来,包括键盘操作、鼠标点将操作应用程序

21、的各种动作和输入记录下来,包括键盘操作、鼠标点击等捕捉击等捕捉(Record)下来,生成一个脚本文件,这个脚本以后可以被下来,生成一个脚本文件,这个脚本以后可以被“回回放(放( playback)” 。在实际测试过程中,要根据测试需求对录制的脚。在实际测试过程中,要根据测试需求对录制的脚本进行一些必要的修改或加入一些参数,如选择不同的测试数据、脚本本进行一些必要的修改或加入一些参数,如选择不同的测试数据、脚本中插入检查点(中插入检查点(Check Point)进行跟踪调试等。)进行跟踪调试等。基于基于GUI功能测试工具主要适合回归测试阶段。当一个应用开发基本完功能测试工具主要适合回归测试阶段。

22、当一个应用开发基本完成后,程序界面基本定型,虽然业务的需求会很频繁变化,但测试脚本成后,程序界面基本定型,虽然业务的需求会很频繁变化,但测试脚本结构基本不需要改动,只需要做些小调整,就可以自动运行,则可大大结构基本不需要改动,只需要做些小调整,就可以自动运行,则可大大提高了测试的效率和测试的准确性。提高了测试的效率和测试的准确性。目前主要产品有目前主要产品有MI公司的公司的 WinRunner, Compuware的的QARun, Rational的的 SQA Robot,MS Visual Test Suite等等GUI自动化测试自动化测试p 设计测试用例,并手工进行测试。设计测试用例,并手

23、工进行测试。p 如果测试未通过,则先改正缺陷,再次执行测试。如果测试未通过,则先改正缺陷,再次执行测试。p 如果测试通过,利用测试工具运行该测试过程,捕获如果测试通过,利用测试工具运行该测试过程,捕获运行过程需要检测的屏幕对象,并保存。运行过程需要检测的屏幕对象,并保存。p 在进行回归测试测试,自动利用测试工具运行测试,在进行回归测试测试,自动利用测试工具运行测试,并比较运行过程的屏幕对象与保存的屏幕对象比较,并比较运行过程的屏幕对象与保存的屏幕对象比较,从而判断测试用例是否通过。从而判断测试用例是否通过。基于基于Web应用的测试工具应用的测试工具基于基于Web应用的测试工具主要进行链接检查、

24、应用的测试工具主要进行链接检查、HTML检查、检查、Web功能和功能和Web站点安全性等各个方面的测试。站点安全性等各个方面的测试。主要主要Web测试工具有测试工具有MI公司的公司的Astra 系列(如系列(如Astra QuickTest )、)、RSW公司的公司的 E-Test Suite等;等;Web系统测试工具系统测试工具: WorkBench、Web Application Stress Tool(WAS)、页面链接测试)、页面链接测试Link Sleuth等。等。Website性能测试测什么?性能测试测什么?各种操作的响应速度各种操作的响应速度最大并发用户数最大并发用户数最大数据容

25、量最大数据容量ACT ACT (Application Center Test) ACT测试的步骤测试的步骤n创建测试脚本创建测试脚本n手工编写手工编写VBScriptn录音并修改录音并修改n运行测试脚本运行测试脚本n设定并发用户数设定并发用户数n设定用户身份设定用户身份n运行、观察、获取主观体验运行、观察、获取主观体验n理解结果报告理解结果报告n图表图表n各项性能统计数字各项性能统计数字n日志文件日志文件解读解读ACT测试结果测试结果nTTFB, TTLBnHTTP错误的含义n401n403n404n500常见的ACT结果图线11.4 Rational产品的整体解决方案产品的整体解决方案11.4.1 Rational测试产品结构测试产品结构11

温馨提示

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

评论

0/150

提交评论