毕业设计(论文)自动化测试之基于Web自动化测试Watir+Ru_第1页
毕业设计(论文)自动化测试之基于Web自动化测试Watir+Ru_第2页
毕业设计(论文)自动化测试之基于Web自动化测试Watir+Ru_第3页
毕业设计(论文)自动化测试之基于Web自动化测试Watir+Ru_第4页
毕业设计(论文)自动化测试之基于Web自动化测试Watir+Ru_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、论 文 摘 要 随着软件规模不断扩大,软件的复杂度不断加大,采用手工测试软件已经不能适应要求。采用电子自动化测试技术对于人工而言,能更好地保证测试的准确度,而且大大提高了测试的效率,加快软件的开发速度。本文主要从自动化测试技术在软件工程中的应用着手,对自动化技术工作过程作及基于web的自动化测试watir+ruby作简要介绍, 关键词:软件测试自动化 脚本目 录论 文 摘 要1一、引论4二、自动化测试概述4三、自动化测试的前提条件5四、自动化测试的过程5五、基于web的自动化测试watir+ruby6六、watir+ruby 自动化测试辅助工具7七、watir+ruby脚本实例的应用7(一)会

2、员注册信息以及验证脚本实现7(二)会员登录脚本实现9八、 常见的相关自动化测试工具9(一)rational robot9(二)win runner10(三)quicktest professional (qtp)10(四)qa run10(五)silktest10(六)test partner10(七)telelogic tau11九、总结与展望11参考网站11自动化测试之基于web自动化测试watir+ruby(开封大学 计算机应用专业)一、引论 软件测试是保证软件质量的重要活动,是软件项目实施的不可缺少的环节,软件测试的直接目的是发现软件中存在的缺陷。软件测试的主要职责是对软件产品的进行测

3、试和检验,保证质量能满足客户需求,通过必要测试,软件缺陷数可至少降低75%,而软件的投资回报率能达到350,软件测试带来的产业效益正逐渐引起国内相关企业的关注。软件开发和使用的历史已经留给了使用者很多由于软件缺陷而导致的巨大财力、物力损失的经验教训。这些经验教训迫使软件开发者们必须添加一个相应的流程,并在此流程中采取强有力的检测措施来检测未发现的隐藏的软件缺陷,也就是软件测试;软件测试的核心是测试思维,你的思维能深入到什么程度,测试就能做到什么程度,本次课题旨在训练我们的测试思维,同时通过本次的课题实例掌握测试流程与技巧,为我们成为真正的测试人员打下坚实的基础。随着计算机软件的规模越来越大,软

4、件测试成为了软件质量保障的关键环节,软件测试自动化也成为了软件测试领域所无法逾越的发展阶段。二、自动化测试概述自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。三、自动化测试的前提条件实施自动化测试之前需要对软件开发过程进行分析,以观察其是否适合使用自动化测试。通常需要同时满足以下条件:(一)软件需求变动不频繁。 测试的脚本稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试

5、人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。 项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。(二)项目周期足够长。 由于自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成。这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑

6、谈。 (三)自动化测试脚本可重复使用。 如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低,致使其间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试人员的练手之作,而并非是真正可产生效益的测试手段了。 另外,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如性能测试、配置测试、大数据量输入测试等。四、自动化测试的过程 自动化测试与软件开发过程从本质上来讲是一样的,无非是利用自动化测试工具(相当于软件开发工具),经过对测试需求的分析(软件过程中的需求分析),设计出自动化测试用例(软件过程中的需求规格),从而搭建自动化测试的框架(软件过程中的概

7、要设计),设计与编写自动化脚本(详细设计与编码),测试脚本的正确性,从而完成该套测试脚本(即主要功能为测试的应用软件)。 (一)自动化测试需求分析。 当测试项目满足了自动化的前提条件,并确定在该项目中需要使用自动化测试时,我们便开始进行自动化测试需求分析。此过程需要确定自动化测试的范围以及相应的测试用例、测试数据,并形成详细的文档,以便于自动化测试框架的建立。 (二)自动化测试框架的搭建。 所谓自动化测试框架便是像软件架构一般,定义了在使用该套脚本时需要调用哪些文件、结构,调用的过程,以及文件结构如何划分。 而根据自动化测试用例,我们很容易能够定位出自动化测试框架的典型要素: 1.公用的对象

8、不同的测试用例会有一些相同的对象被重复使用,比如窗口、按钮、页面等。这些公用的对象可被抽取出来,在编写脚本时随时调用。当这些对象的属性因为需求的变更而改变时,只需要修改该对象属性即可,而无需修改所有相关的测试脚本。 2.公用的环境 各测试用例也会用到相同的测试环境,将该测试环境独立封装,在各个测试用例中灵活调用,也能增强脚本的可维护性。 3.公用的方法 当测试工具没有需要的方法时,而该方法又会被经常使用,我们便需要自己编写该方法,以方便脚本的调用。 4.测试数据 也许一个测试用例需要执行很多个测试数据,我们便可将测试数据放在一个独立的文件中,由测试脚本执行到该用例时读取数据文件,从而达到数据覆

9、盖的目的。 在该框架中需要将这些典型要素考虑进去,在测试用例中抽取出公用的元素放入已定义的文件,设定好调用的过程。五、基于web的自动化测试watir+ruby(一)watir 介绍: watir是web application testing in ruby的缩写,watir是能用于web自动化测试的二进制包,并能很好的阅读和维护,语言非常简洁;watir的脚本工作原理是非常简单的。它是以事件驱动,会触发一些如点击”链接”、填写表单、点击按钮,并能验证测试结果,如文本输出等;watir不仅支持在windows下的ie,ff下进行测试。而且也支持linux和mac平台下的safari和chro

10、me,并能对flash testing进行测试;watir主要是由ruby语言开发的,所以watir也支持连接数据库,读数据文件和数据表,导入xml等功能。其实watir就是”利用ruby进行web application”测试。(二)watir+ruby 的安装: 进入url:“ /display/wtr/tutorial”按说明进行安装ruby,watir,之后在doc下运行命令:ruby r验证ruby是否已安装,运行命令:gem intall watir安装watir,然后运行命令:gem update -system,更新之当前版本。(三)在

11、ie或firefox下,根据辅助工具,进行脚本编写。六、watir+ruby 自动化测试辅助工具ie下:ie developer toolbarfirefox:firebug 转码工具:iconv 数据库连接:oci8七、watir+ruby脚本实例的应用watir+ruby按照步骤安装好以后 ,编写脚本,进行会员注册验证和用户登录验证的自动化测试,具体如下: (一)会员注册信息以及验证脚本实现 如下:require watirurl=http:/my.alibaba.co.jp/myalibaba/reg/free_member_register.htm?inid=in_hdr_rgst_b

12、tnie=watir:ie.start(http:/www.alibaba.co.jp)ie.goto(url)ie.radio(:name,_fmm.in_0.c)ie.radio(:value,cn).click()ie.text_field(:name,_fmm.in._0.l).set shirui100#ie.button(:name,check_id).clickie.text_field(:name,_fmm.in._0.p).set 123456ie.text_field(:name,_fmm.in._0.r).set 123456ie.text_field(:name,_fm

13、m.in._0.e).set 34301956455ie.text_field(:name,_fmm.in._0.pho).set 571ie.text_field(:name,_fmm.in._0.phon).set 123456ie.text_field(:name,_fmm.in._0.a).set 343049612ie.text_field(:name,_fmm.in._0.f).set 史ie.text_field(:name,_fmm.in._0.la).set 瑞ie.radio(:name,_fmm.in_0.g)ie.radio(:value,m).click()ie.ra

14、dio(:name,_fmm.in_0.b)ie.radio(:value,buyer).click()ie.select_list(:name,_fmm.in._0.ca).select(服装)ie.button(:name,event_submit_do_insertfreememberinfo).click()if ie.text.include?(您已经成功注册成为阿里巴巴日本站的免费会员!) puts (注册成功)else puts (注册失败)end (二)会员登录脚本实现 如下:require watir#导入watir库ie = watir:ie.new #创建ie实例ie.g

15、oto(http:/www.alibaba.co.jp/) #页面导航ie.link(:url, http:/my.alibaba.co.jp/myalibaba/login.htm).click()#点击登录链接ie.text_field(:name, _fmm.l._0.lo).set(shirui_003)#输入用户名ie.text_field(:name, _fmm.l._0.p).set(123456)#输入密码ie.checkbox(:name, _fmm.l._0.i).clear()#清除下次自动登录ie.button(:name, event_submit_do_sign_i

16、n).click()#点击登录按钮if(ie.text.include?(,您好! ) #验证登录成功puts 登录成功elseputs 登录失败end在doc底下运行以上脚本,运行成功,输出“登录成功”,运行失败,输出“登录失败”。8、 常见的相关自动化测试工具(一)rational robot是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面ibm rational test manager上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始(二)win

17、 runner是一种企业级的用于检验应用程序是否如期运行的功能性测试工具。通过自动捕获,检测,和重复用户交互的操作,win runner能够辨认缺陷并且确保那些跨越多个应用程序和数据库的业务流程在初次发布就能避免出现故障,并且保持长期可靠运行。(三)quicktest professional (qtp)是一个功能测试自动化工具,主要应用在回归测试中。quicktest针对的是gui应用程序,包括传统的windows应用程序,以及现在越来越流行的web应用。它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析

18、结果和维护测试等方面(四)qa runqarun的测试实现方式是通过鼠标移动、键盘点击操作被测应用,即而得到相应的测试脚本,对该脚本可以进行编辑和调试。在记录的过程中可针对被测应用中所包含的功能点进行基线值的建立,换句话说就是在插入检查点的同时建立期望值。在这里检查点是目标系统的一个特殊方面在一特定点的期望状态。通常,检查点在qarun提示目标系统执行一系列事件之后被执行。检查点用于确定实际结果与期望结果是否相同。(五)silktest是业界领先的、用于对企业级应用进行功能测试的产品,可用于测试web、java或是传统的c/s结构。silktest提供了许多功能,使用户能够高效率地进行软件自动

19、化测试。这些功能包括:测试的计划和管理;直接的数据库访问及校验;灵活、强大的4test脚本语言,内置的恢复系统(recovery system);以及具有使用同一套脚本进行跨平台、跨浏览器和技术进行测试的能力。(六)test partner是一个自动化的功能测试工具,它专为测试基于微软、java和web技术的复杂应用而设计。它使测试人员和开发人员都可以使用可视的脚本编制和自动向导来生成可重复的测试,用户可以调用vba的所有功能,并进行任何水平层次和细节的测试。testpartner的脚本开发采用通用的、分层的方式来进行。没有编程知识的测试人员也可以通过testpartner的可视化导航器来快速创建测试并执行。通过可视的导航器录制并回放测试,每一个测试都将被展示为树状结构,以清楚地显现测试通过应用的路径。(七)telelogic tautau第二代包含三个最新的、最强大的技术用来加速大规模软件开发和测试:统一建模语言(uml)及它的许多最新修订

温馨提示

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

评论

0/150

提交评论