下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件自动化测试浅谈论文导读:软件测试作为重要的环节之一。它包括测试活动的管理与实施、测试脚本的开发与执行。(1) IBM Rational的软件自动化测试工具。关键词:软件测试,软件自动化测试,录制-回放,脚本1、 自动化测试的引入与定义1.1自动化测试的引入在软件开发过程中,软件测试作为重要的环节之一,越来越受到人们的重视,但软件的测试工作不是一次就能完成的。测试某项性能,不仅要检查前面的测试中发现的软件故障和缺陷是否得到了修复和改良,同时还要检查在修复过程中是否又引入了新的故障或缺陷,因此要进项屡次测试。这样会给测试人员带来很大的工作量,在时间和人力都有限的情况下,采用手工反复进行屡次测试
2、的执行是不大可能的,由此而产生了用自动化测试的软件来实现测试的自动化。1.2 软件自动化测试的定义自动化测试的一般定义为:使用某种程序设计语言编制的自动测试程序,控制被测试软件的执行,模拟手工测试步骤,来验证各种软件测试的需求,完成全自动或半自动测试。它包括测试活动的管理与实施、测试脚本的开发与执行。2、自动化测试的原理和方法软件测试自动化实现的根底是可以通过设计的特殊程序模拟测试人员对计算机的操作过程、操作行为,或者类似于编译系统那样对计算机程序进行检查。其实现的原理和方法主要有:直接对代码进行静态和动态分析、测试过程的捕获和回放、测试脚本技术。1代码分析代码分析类似于高级语言编译系统,一般
3、针对不同的高级语言去构造分析工具,在工具中定义类、对象、函数、变量等定义规那么、语法规那么;在分析时对代码进行语法扫描,找出不符合编码标准的地方;根据某种质量模型评价代码质量,生成系统的调用关系图等。2捕获和回放代码分析是一种白盒测试的自动化方法,捕获和回放那么是一种黑盒测试的自动化方法。捕获是将用户每一步操作都记录下来。这种记录的方式有两种:程序用户界面的像素坐标或程序显示对象窗口、按钮、滚动条等的位置,以及相对应的操作、状态变化或是属性变化。所有的记录转换为一种脚本语言所描述的过程,以模拟用户的操作。回放时,将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给定的
4、标准结果比拟。捕获和回放可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。3脚本技术脚本是一组测试工具执行的指令集合,也是计算机程序的一种形式。科技论文。脚本可以通过录制测试的操作产生,然后再做修改,这样可以减少脚本编程的工作量。当然,也可以直接用脚本语言编写脚本。目前的自动化负载测试解决方案几乎都是采用 录制-回放;的技术,就是先由手工完成一遍需要测试的流程,同时由计算机记录下这个流程期间客户端和效劳器端之间的通信信息,这些信息通常是一些协议和数据,并形成特定的脚本程序 (Script) 。然后在系统的统一管理下同时生成多个虚拟用户,并运行该脚本,监控硬件和软件平台的
5、性能,提供分析报告或相关资料。这样,通过几台机器就可以模拟出成百上千的用户对应用系统进行负载能力的测试。它的步骤包括脚本的录制、增强和改良以及执行自动化测试脚本完成测试,如下图:图1 脚本技术的过程在录制测试脚本之前,首先要设计测试案例。主要包括:确定用例执行前所需要的测试环境和先决条件;确定所要测试的目标;确定对输入数据的要求和期望的输出。设计测试案例时应努力提高覆盖率,尽量减少执行、调试和结果分析的工作量;减少测试案例的数量、加强其独立性、并精确地文档化等来加强可维护性。在录制测试脚本时,应严格按照测试用例来录制。然后是配置数据和优化脚本。大型软件依赖和共享的数据较多,业务流程较复杂,因此
6、配置数据时要用一份文件详细描述:那些数据需要引入数据池,如何对全局的、过程间的参数命名,数据怎样放置和联系,优化脚本时往往需要设置分支和循环,设置对象的属性,设置检查点和数据的输出等,以使脚本能按照测试案例的要求适应各种情况。最后执行测试任务,分析并报告测试结果。3、 软件自动化测试的优缺点3.1 软件自动化测试的优点测试活动自动化在许多情况下可提供其最大价值,如对软件进行的功能性测试,是测试系统在做什么,这些测试可以明确知道应该在什么情况下输入什么,会有什么样的输出。这样的测试就很容易被自动化,也能从自动化中取得较大的效果。对软件进行的性能测试包括在不同的系统负载下进行的测试,这些测试需要采
7、用工具辅助完成,也非常适合于采用自动化。通过自动化测试,可以使某些测试任务提高执行效率,除此之外,还有以下优点:(1对程序的回归测试更方便。软件测试实行自动化进程是因为测试工作的需要,更准确地说是回归测试和系统测试的需要。由于回归测试的动作和用例是完全设计好的,测试期望的结果也是完全可以预料的,将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间。(2) 可以执行一些手工测试困难或不可能进行的测试。比方,对于大量用户的测试,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户,从而到达测试的目的。(3) 更好地利用资源。将繁琐的任务自动化,可以提高准确性和
8、测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。有些测试不适合于自动测试,仅适合于手工测试,将可自动测试的测试自动化后,可以让测试人员专注于手工测试局部,提高手工测试的效率。(4) 测试具有一致性和可重复性。由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而到达测试的可重复的效果。(5) 测试的复用性。由于自动测试通常采用脚本技术,这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。(6) 此外,手工不能做的事情,自动化测试能做,如负载、性能测试等。科技论文。3.2 软件自动化测试的误区和限制在软件测试自动化的实施过
9、程中会遇到许多误区,比拟普遍的有如下几种:(1) 不正确的观念或不现实的期望。一般来说,人们对新技术的解决方案常常深信不疑,认为可以解决面临的所有问题,对测试工具也不例外。事实上,如果期望不现实,无论工具如何,都满足不了期望。(2) 希望测试发现大量新缺陷。测试运行第一次时最有可能发现新缺陷。如果测试已经运行,再次运行相同的测试发现新缺陷的概率就小得多。(3) 平安性错觉。如果自动化测试没有发现任何缺陷,并不意味着软件没有缺陷,可能测试设计本身就有缺陷。并且,测试覆盖率也不会到达百分之百。(4) 自动化测试的维护性。当软件修改后,通常也需要修改局部测试,这样必然导致对自动化测试的修改,所以在自
10、动化测试的设计和实现时,要防止自动化测试带来的好处被高维护本钱所淹没。(5) 测试自动化可能会制约软件开发。由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。测试自动化可以带来非常明显的收益,但也有其限制:首先,不能取代手工测试。手工测试比自动测试发现的缺陷更多,并且,手工测试可以处理意外事件虽然工具也能处理局部异常事件,但是对真正的突发事件和不能由软件解决的问题就无能为力。其次,测试自动化对测试质量的依赖性极大,并不能提高有效性,还可能会制约软件开发。此外,对于周期短、时间紧迫的工程不宜采取自动化测试。由于推行自动化测试的前期工作相当庞大,将自动化测试框架应用到一个工程中
11、也要评估其适宜性,工程很可能被大量的测试框架的准备和实施而被拖垮。4、自动化测试的常用工具及其适用范围不同的测试工具,其面向的测试对象是不一样的。按照测试工具的主要用途和应用领域,可以将目前常见的测试工具分为:测试管理、功能测试和负载压力测试这几类,它们各有各自的特点,下表是对这些工具进行的一些特点及比拟:(1) IBM Rational的软件自动化测试工具。IBM Rational的软件自动化测试解决方案追求测试工具和测试成功经验、测试流程的统一,其最大特点是通过一套完整的软件测试工具在实现测试管理流程的根底上,同时涵盖了功能测试、性能测试和可靠性测试的自动化测试需求,通过工具之间的集成完成
12、测试资源的整合,帮助测试团队实现IBM Rational的测试成功经验。在IBM Rational Solutions中主要的测试工具有:测试管理平台Rational TestManager、缺陷管理平台Rational ClearQuest、自动化测试工具Rational Robot、白盒测试工具PurityPlus。IBMRational的自动化软件测试工具的另一个特点就是:通过TestManager+Robot,在实现测试管理流程的同时,能够完成功能测试和性能测试,这会大大缩短测试团队对工具的学习过程,提高工具的易用性。功能测试主要围绕Windows图形界面、字符终端和Browser界面
13、进行测试。客户端可以是VC, VB, PB, Delphi等编制的软件、各种字符终端软件或者运行浏览器Microsoft Explorer和Netscape,通过自动录制形成测试脚本实现自动化的功能/回归测试。(2) 对于缺陷管理工具:此类工具常见的有微软公司的VSS(visualsource safe) , Mozilla公司的Bugzilla以及Rational公司的C1earQuest等。VSS的优点在于使用简单,并提供了历史版本记录、修改控制、文件比拟、日志等根本功能。而且其与Visual Studio实现了无缝集成支持Windows平台,通过Check out-Modify-Chec
14、k in的模式实现控制管理。但缺陷在于其只能在Windows下运行,不能在Unix, Linux下运行。SourceSafe不支持异构环境下的配置。Bugzilla是近来比拟流行的一种缺陷管理工具,它能够为你建立一个完善的Bug跟踪体系,包括报告、查询并产生报表、处理解决等几个局部。科技论文。它的主要特点包括:基于Web方式;有利于缺陷的清楚传达;系统灵活,可配置性很强;可以自动发送Email等。但Bugzilla是一个新的工具,可能会有比拟长的学习时间去掌握。(3) 功能测试工具:这一类工具都具有脚本录制回放功能,著名的有以色列MercuryInteractive公司的功能测试工具WinRu
15、nner。WinRunner用于检测应用程序是否能够到达预期的功能及正常运行,自动执行重复任务并优化测试工作,从而缩短测试时间。通过自动录制、检测和回防用户的应用操作,从而提高测试效率。从脚本上比照WinRunner和robot,脚本语言robot为SQABasic,容易掌握,WinRunner脚本为C语言,掌握有难度,短期内提高对测试人员要求比拟高;调试脚本方面:robot脚本支持step,animate等调式方式,WinRunner和quick test支持step等几种调试方式,相互比拟来看robot调试功能强大,比拟直观。5、总结总之,软件自动化测试还不能解决所有的测试问题,因此,在进行自动化测试前,首先要建立一个对软件测试自动化的认识观。软件测试工具能提高测试效率
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020年科普知识竞赛题库及答案(完整版)
- 健康检查中心质量改进方案
- 文具行业构件加工合同
- 2024年员工激励福利协议
- 2024前期物业托管合同规范
- 2024年个体房东与企业租赁合同
- 2024年业绩挂钩股权激励合同
- 2024年歌舞厅娱乐服务项目规划申请报告模范
- 2024年南昌客运驾驶员试题题库
- 2024年济南客运驾驶从业资格考试题库答案解析
- 防错法精讲,有案例(防呆法、愚巧法)课件
- 腾讯审计报告2023
- 食品40农产品加工业发展
- 江苏省泰州市姜堰区2023-2024学年五年级上学期期中数学试卷
- 中小学考试试题质量评价表
- Unit5Storytime(教学课件)六年级英语上册译林版三起
- 2023年高考山东等级考试化学选择题分析课件
- 教育学原理-第五章-人的全面发展教育-适用于项贤明主编《教育学原理》(马工程)
- 新版标准日本语初级上册课文(附中文对照)-日本初级课本
- 经纬度换算工具
- 软件测试常见典型面试题库(整理100题)
评论
0/150
提交评论