当前位置:首页 » 编程软件 » 跨平台录制自动化脚本

跨平台录制自动化脚本

发布时间: 2022-11-30 12:46:16

‘壹’ jmete怎么写自动化测试脚本

把Jmeter配置成一个Web代理,用Jmter自己来录制脚本

第一步: 创建一个Thread Group (邮件点击: Test Plan -> Add -> Thread Group)

第二步: 创建http 代理服务器 (邮件点击"工作台"(WorkBench), Add-> Non-Test Elements ->
HTTP(S) Test Script Recorder)

然后设置浏览器的代理服务器。 设置好后,在浏览器中访问网站。 Jmeter就能录制下来了。

Jmeter 中录制的脚本乱七八糟的, 什么图片,js都有,根本没法用,真不如自己写脚本。

应该设置下忽略这些没用的请求

‘贰’ 如何利用selenium写自动化测试脚本

一开始,基本上很多人都是用selenium IDE录制脚本开始的,我也是!有一本书写得很不错:selenium初学者指南!So,从录制回放开始我的selenium,而在这个过程中,不断地去补充我的html css知识,熟悉selenium的api!

慢慢地,发现录制的脚本在回放的时候经常报错,通过检查发现,是定位上的错误,导致这种定位的错误的最大原因是系统前端采用了某种框架,如tigerUI,exj....所以HTML里面的标签很多都是动态的,比如id,class,name!这对selenium操作定位的元素而进行自动化来说是致命伤!

所以,开始自己写定位信息,这已经是必须的了!从而学习了xpth和css选择器,掌握了更加有效,快速和稳定地定位页面上的元素(定位的时候难免会碰到有iframe,这就得先切换到iframe中再进行定位了)!也就是,在selenium IDE上写脚本!

信心满满地在selenium IDE上写了长长地一段脚本,并且反复跑都能成功!总算尝到了一点点幸福的滋味!然后呢,问题来了,当我要修改和扩展这段的脚本的时候,才发现这效率是相当地低!一句句查!一句句改!多么痛的领悟!

另外,selenium IDE 默认启动的是火狐,在使用selenium RC 启动 IE 进行跑脚本时浏览器总是会报错!各种搞不定,各种不淡定!决定放弃使用IDE!

selenium有一个强大之处就是支持多种语方:java,C#,python等等,并且可以把录制的脚本转换成代码!我用的是java,果断走起!

不用说,当然是把脚本转为java代码了,在E www.hbbz08.com clipse中重新开始搞!

选择一个测试框架:有Junit和TestNg两个选择,公司用的是junit,所以,不用多说,我就用junit验证selenium脚本的运行结果!并且,Junit和TestNG都可以生成比较直观的测试报告!

写好一些代码,会看到整段代码中密密麻麻充斥着基本相同的代码:开始封装代码!把常用到API封装起来!封装好之后代码看着就舒服多了!

接下来,是不是也应该把代码中的定位信息用一个专门的文件放起来,再去读取里面的定位信息,这样,维护代码和维护定位信息就放在了两个地方,不用老是扎在代码和定位路径中,简单地分一下层!果断尝试!

‘叁’ 自动化测试的工具有哪些

商业工具:
1、RFTRational Functional Tester 的基础是针对于Java、.NET的对象技术和基于 Web 应用程序的录制、回放功能。工具为测试者的活动提供的自动化的帮助,如数据驱动测试。IBM RFT是一个用于功能和回归测试的数据驱动的测试平台。它支持大范围的应用,例如.Net、Java、SAP、Flex和Ajax。RFT使用Visual Basic。Net和Java作为脚本语言。RFT有一个独特的功能,称为 Storyboard 测试,用户的动作被记录下来,并通过应用截图在 Storyboard 格式中可视化。RFT的另一个有趣特性是它与IBM Jazz应用生命周期管理系统(如IBM Rational Team Concert和Rational Quality Manager)的集成。
2、kylinTOP:这是一款国产的自动化测试工具,支持WEB和APP的自动化测试,其中元素智能定位是这款自动化软件主要特点,是设计理念比较超前的测试工具,算是国内众多自动化测试工具中,做的比较突出的一款。与传统的RFT和UFT相比,的确有过人之处,算是后起之秀,使用起来,简单高效、稳定。这样描述估计也没几个人能体会到的。说白一点就是一个人可以干三个人的活,使用者只需关注业务即可。
3、UFT:UFT(别名:QuickTest Professional简称QTP)是一种自动化测试工具,以VBScirpt为内嵌语言,其前身是QTP。UFT支持功能测试和回归测试自动化,可用于软件应用程序和环境的测试。UFT自动化测试的基本功能包括:创建测试、检验数据、增强测试、运行测试脚本、分析测试结果、维护测试;UFT支持两种视图,一种是Keyword View(关键字视图),另一种是Expert View(专家视图)。是一款老牌的自动化测试工具。
4、SilkTest:这个也是比较相对着名的工具,不过同样还是没有了解过,对于商业的工具,因为其占地面积大,还要破解等麻烦事,最关键的是使用的公司少,所以只使用过QTP,其它的一概未了解过
开源工具:1、Selenium:这个应该大多数人都知道的,现在也是大多数互联网公司在使用的测试框架;selenium仅支持web的UI级别测试,但是其优点在于:a、支持多种语言编写测试脚本,比如:java、python、ruby、perl等;同时也就意味着其后的支持类库也是很多的b、支持多浏览器,如:ie,ff,safari、chrome等c、支持多平台,如:windows、linux、MAC、android、iphone等d、支持分布式执行,一套测试用例可以同时分布到不同的测试机上执行,而且还可以进行任务细化,比如:针对liunx执行系统只分配linux下需要执行的用例此外还有录制工具支持,简单也说,web类测试基本上是首选,不过对flash的支持好像不是太好其主要分2个版本,1.X版本是以js驱动来进行自动化实现的;2.X重新开发了webdriver来代替js驱动,直接调用浏览器底层接口来完成自动化实现的前提:如果使用remote或者RC功能,需安装jre下载地址:http://seleniumhq.org/download/
2、EFT【easy function testing】:这个是在.net3.0 的UIAutomatuon的基础上封装的一个dll文件,同样还封装了部分windows api以实现鼠标和键盘事件。所以这个只能叫测试类库,且仅支持windows程序,而且同样支持uiautomain所支持的WPF程序的测试。前提:安装了.net3.0使用:引入该文件,uiautomation 相关dll,VS环境下编写测试用例
3、UIAutomation:这个是微软提供的UI自动化框架,当然它的初衷并不仅仅是为自动化测试而产生的,它的任务是给更多的开发或者应用去调用windows的UI控件,不过还是可以用于自动化测试的;因为之前微软就有类似的工具,而这个是重新设计的ui操作类框架,其目的是为了兼容支持windows系列操作系统的UI自动化操作【xp,vista,server2003】,还有就是天然支持WPF。当然其设计与通常的自动化工具就不一样了,比如:没有把控件支持的方法绑定在控件对象本身,没有提供专门的鼠标/键盘事件,但是却提供了特定控件对象的事件响应监听及处理方法的定制。其工作流程大概是这样的:a、先获取特定的元素对象,有多种方法。如:句柄,属性值b、获取这个元素对象的模式。模式是这个框架的设计的独具之处,成就了它的灵活性,统一性c、通过这个模式在进行具体的方法调用,属性值获取等d、监听指定对象的特定事件,一旦发生则执行指定的事件处理函数
4、Robot FrameworkRobot Framework是一个完全基于关键字测试驱动的框架,它即能够基于它的一定规则,导入你需要的测试库(例如:其集成了selenium的测试库,即可以理解为操作web控件的测试底层库),然后基于这些测试库,你能应用HTML、TXT等文档形式编写自己的关键字(这些关键字即你的库组成),之后,再编写测试用例(测试用例由测试关键字组成)进行测试。例如:一个简单的登陆测试由:登陆+输入密码+登出三个关键字组成,也可以由一个关键字登陆组成,关键字颗粒的大小可以自行定制。

‘肆’ jmeter怎么录制app脚本

Jmeter 是一个非常流行的性能测试工具,虽然与LoadRunner相比有很多不足,比如:它结果分析能力没有LoadRunner详细;很它的优点也有很多:
l开源,他是一款开源的免费软件,使用它你不需要支付任何费用,
l小巧,相比LR的庞大(最新LR11将近4GB),它非常小巧,不需要安装,但需要JDK环境,因为它是使用java开发的工具。
l功能强大,jmeter设计之初只是一个简单的web性能测试工具,但经过不段的更新扩展,现在可以完成数据库、FTP、LDAP、WebService等方面的测试。因为它的开源性,当然你也可以根据自己的需求扩展它的功能。
我觉得它更像一个瑞士军刀,小巧,且功能齐全。初次认识Jmeter的时候,我觉得它不好,是因为相比LR来说,它没有脚本录制功能,也许不是没有,只是我不知道,因为文档上介绍的是这样,我要做一个web性能测试的话,就手动的一个个添加循环控制器、http信息管理头、http请求等等各种元件。如果测试的脚本较多时,这无疑是个体力活。
Badboy是一款不错web自动化测试工具,利用它来录制脚本,并且录制的脚本可以直接保存为JMeter文件来使用。我无疑给我们带来了很大我方便。
----------------------我的环境------------
Badboy version 2.1.1
Apache JMeter-2.3.4 (需要JDK环境来运行)
--------------------------------------------
第一种方法:通过bodboy来录制脚本。

1.打开人badboy工具,点击工栏目上的红色圆形按钮,在地址栏目中输入被测试项目的地址。

录制完成后,点击工具栏旁边黑色按钮,结束录制。
选择“文件”--àExport to Jmeter…

2.打开Jmeter工具,选择“文件”-->“打开”选择刚才保存的文件(.jmx类型),将文件导入进来了。

第二种方法,通过JMeter自身设置来录制脚本。

这种方法是我才发现的(鄙视一下自己的无知,嘻嘻~!),觉得方法比较简单。
1.打开JMeter工具
创建一个线程组(右键点击“测试计划”--->“添加”---->“线程组”)
创建一个http代理服务器(右键点击“工作台”--->“添加”--->“非测试元件”--->“http代理服务器”)
完整的设置参照下图:

2. 下面来设置一下IE浏览器
IE--->“internet属性”--->“连接”--->“局域网设置”

设置为本机IP就可以了,注意端口号要与Jmeter上的端口号一致。默认都是8080端口。
3. 现在点击jmeter上的“启动”按钮,打开浏览器输入需要录制web项目地址,jmeter会自动记录你IE所访问的页面。

PS:第二种方法是我刚才知道的一种,关于这两种方法哪个更好,现在还不知道,但第二方法有通过IE浏览器辅助的,我想可能只要IE能打开的,它都能记录,但它录制的脚本看上去比较乱(感觉上)

‘伍’ 什么是自动化测试

一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。

基本信息

  • 中文名称

    自动化测试

  • 外文名称

    Test

  • 定 义

    人为驱动测试为转为机器执行过程

  • 应 用

    软件测试的自动化

  • 工 具

    QTP

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

折叠编辑本段工具介绍

折叠QTP

全名HP QuickTest Professional software ,2012年12月6日发布11.5版本,并更名为Unified Functional Testing

QTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等

QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以越来越流行的Web应用。它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面。

折叠WinRunner

Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。

企业级应用可能包括Web应用系统,ERP系统,CRM系统等等。这些系统在发布之前,升级之后都要经过测试,确保所有功能都能正常运行,没有任何错误。如何有效地测试不断升级更新且不同环境的应用系统,是每个公司都会面临的问题。

折叠RationalRobot

是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面IBM Rational Test Manager上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。

折叠AdventNetQEngine

AdventNet QEngine是一个应用广泛且独立于平台的自动化软件测试工具,可用于Web功能测试、web性能测试、Java应用功能测试、Java API测试、SOAP测试、回归测试和Java应用性能测试。支持对于使用HTML、JSP、ASP、.NET、PHP、JavaScript/VBScript、XML、SOAP、WSDL、e-commerce、传统客户端/服务器等开发的应用程序进行测试。此工具以Java开发,因此便于移植和提供多平台支持。

折叠SilkTest

是业界领先的、用于对企业级应用进行功能测试的产品,可用于测试Web、Java或是传统的C/S结构。SilkTest提供了许多功能,使用户能够高效率地进行软件自动化测试。这些功能包括:测试的计划和管理;直接的数据库访问及校验;灵活、强大的4Test脚本语言,内置的恢复系统(Recovery System);以及具有使用同一套脚本进行跨平台、跨浏览器和技术进行测试的能力。

折叠QARun

QARun的测试实现方式是通过鼠标移动、键盘点击操作被测应用,即而得到相应的测试脚本,对该脚本可以进行编辑和调试。在记录的过程中可针对被测应用中所包含的功能点进行基线值的建立,换句话说就是在插入检查点的同时建立期望值。在这里检查点是目标系统的一个特殊方面在一特定点的期望状态。通常,检查点在QARun提示目标系统执行一系列事件之后被执行。检查点用于确定实际结果与期望结果是否相同

折叠TestPartner

是一个自动化的功能测试工具,它专为测试基于微软、Java和Web技术的复杂应用而设计。它使测试人员和开发人员都可以使用可视的脚本编制和自动向导来生成可重复的测试,用户可以调用VBA的所有功能,并进行任何水平层次和细节的测试。TestPartner的脚本开发采用通用的、分层的方式来进行。没有编程知识的测试人员也可以通过TestPartner的可视化导航器来快速创建测试并执行。通过可视的导航器录制并回放测试,每一个测试都将被展示为树状结构,以清楚地显现测试通过应用的路径。

折叠Holodeck

-强大的故障植入软件测试工具

Holodeck is an advanced fault-injection tool that gives you the power to attack an application while it monitors and logs everything your application does - every function call, registry entry, piece of data read or written.

折叠TelelogicTAU

TAU第二代包含三个最新的、最强大的技术用来加速大规模软件开发和测试:统一建模语言(UML)及它的许多最新修订版本中的特性,UML2.0;功能强大的测试语言TTCN-3和新的构造系统的方法:Model Driven Architecture(模型驱动构架)。这三个新的业界标准结合成TAU的已经过认可的软件开发平台,形成了一个系统,一个一流的稳定可靠的工具解决方案。TAU第二代是系统与软件开发解决方案的一个突破,它把业界从使用了太长时间的手工、易出错、以代码为中心的方法中释放出来,自然而然地迈向下一步,一个更加可视化、自动化及可靠的开发方法。Telelogic TAU/Tester是基于通用测试语言TTCN-3,用于自动化的系统和集成测试的强大工具。TAU/Tester以现代化的开发工具为基础,提供高层测试功能,支持整个测试生命周期,加速自动化测试。TAU/Tester可使用户特别关注于测试的开发,因为TTCN-3语言是独立于开发语言或测试设备的,且是抽象和可移植的。

折叠AutoRunner

AutoRunner是黑盒测试工具,可以用来完成功能测试、回归测试,可以提高测试效率,降低测试人工成本。

产品可以对以下类型对象进行GUI功能性测试:

1 Windows类型对象,一般为用C++/Delphi/VB/VFP/PB/.NetForm等技术开发的桌面程序。

2 IE网页对象,一般性的网站,比如大的门户类网站。

3 Java对象,一般为用AWT/Swing/SWT等技术开发的桌面程序。

4 Flex对象,网页的内容是用Flex开发的。

5 Silverlight对象,网页的内容是用Silverlight开发的。

6 WPF对象,一般为用WPF技术开发的桌面程序。

7 QT对象,一般为用QT技术开发的桌面程序。

折叠PhoenixFramework

Phoenix Framework是一款基于 Selenium,Webdriver,autoIt研发的一款集资源管理和测试于一体的Web自动化测试工具。最新版本是1.1.8,该工具支持无脚本执行模式,无人值守执行模式,自由定制模式。不仅执行模式可以定制,功能模块也支持定制。使用该工具的界面创建用例,组装脚本,启动执行。使用该工具其他开放的接口,可手动创建脚本,组装并执行。它支持两种部署模式,第一种是Server-Client方式,Server与Client均为EXE程序,通信协议是Socket;另一种是WEB版部署,方便与现有系统集成,支持Linux,将Server与Client放到Tomcat或Weblogic服务器下部署,通信协议为Http,通过WEB页面控制并监控Client端的执行。

折叠编辑本段前提条件

实施自动化测试之前需要对软件开发过程进行分析,以观察其是否适合使用自动化测试。通常需要同时满足以下条件:

1) 需求变动不频繁

测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。

项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。

2) 项目周期足够长

自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成,这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。

3) 自动化测试脚本可重复使用

如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低,致使其间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试人员的练手之作,而并非是真正可产生效益的测试手段了。

另外,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如性能测试、配置测试、大数据量输入测试等。

折叠编辑本段适用场合

通常适合于软件测试自动化的场合:

(1)回归测试,重复单一的数据录入或是击键等测试操作造成了不必要的时间浪费和人力浪费;

(2)此外测试人员对程序的理解和对设计文档的验证通常也要借助于测试自动化工具;

(3)采用自动化测试工具有利于测试报告文档的生成和版本的连贯性;

(4)自动化工具能够确定测试用例的覆盖路径,确定测试用例集对程序逻辑流程和控制流程的覆盖。

随着测试流程的不断规范以及软件测试技术的进一步细化,软件测试自动化已经日益成为一支不可忽视的力量。能否借助于这支外在力量以及如何借助于这支力量来规范企业测试流程、提高特定测试活动的效率,正是本期所要讨论的话题。

软件测试自动化的研究领域主要集中在软件测试流程的自动化管理以及动态测试的自动化(如单元测试、功能测试以及性能方面)。在这两个领域,与手工测试相比,测试自动化的优势是明显的。首先自动化测试可以提高测试效率,使测试人员更加专注于新的测试模块的建立和开发,从而提高测试覆盖率;其次,自动化测试更便于测试资产的数字化管理,使得测试资产在整个测试生命周期内可以得到复用,这个特点在功能测试和回归测试中尤其具有意义;此外,测试流程自动化管理可以使机构的测试活动开展更加过程化,这很符合CMMI过程改进的思想。根据OppenheimerFunds的调查,在2001年前后的3年中,全球范围内由于采用了测试自动化手段所实现的投资回报率高达1500%。

折叠编辑本段选型原则

然而存在优势是否就一定意味着选择自动化测试方案都能为企业带来效益回报呢?也不尽然,任何一种产品化的测试自动化工具,都可能存在与某具体项目不甚贴切的地方。再加上,在企业内部通常存在许多不同种类的应用平台,应用开发技术也不尽相同,甚至在一个应用中可能就跨越了多种平台;或同一应用的不同版本之间存在技术差异。所以选择软件测试自动化方案必须深刻理解这一选择可能带来的变动、来自诸多方面的风险和成本开销。

以下笔者给出企业用户进行软件测试自动化方案选型的参考性原则,这些原则是从笔者实际工作中凝练而成的,它包括以下六个方面的建议:

●选择尽可能少的自动化产品覆盖尽可能多的平台,以降低产品投资和团队的学习成本;

●测试流程管理自动化通常应该优先考虑,以满足为企业测试团队提供流程管理支持的需求;

●在投资有限的情况下,性能测试自动化产品将优先于功能测试自动化被考虑;

●在考虑产品性价比的同时,应充分关注产品的支持服务和售后服务的完善性;

●尽量选择趋于主流的产品,以便通过行业间交流甚至网络等方式获得更为广泛的经验和支持;

●应对测试自动化方案的可扩展性提出要求,以满足企业不断发展的技术和业务需求。

折叠编辑本段过程

自动化测试与软件开发过程从本质上来讲是一样的,无非是利用自动化测试工具(相当于软件开发工具),经过对测试需求的分析(软件过程中的需求分析),设计出自动化测试用例(软件过程中的需求规格),从而搭建自动化测试的框架(软件过程中的概要设计),设计与编写自动化脚本(详细设计与编码),测试脚本的正确性,从而完成该套测试脚本(即主要功能为测试的应用软件)。

1) 自动化测试需求分析。

当测试项目满足了自动化的前提条件,并确定在该项目中需要使用自动化测试时,我们便开始进行自动化测试需求分析。此过程需要确定自动化测试的范围以及相应的测试用例、测试数据,并形成详细的文档,以便于自动化测试框架的建立。

2)自动化测试框架的搭建。

所谓自动化测试框架便是像软件架构一般,定义了在使用该套脚本时需要调用哪些文件、结构,调用的过程,以及文件结构如何划分。

而根据自动化测试用例,我们很容易能够定位出自动化测试框架的典型要素:

a. 公用的对象。

不同的测试用例会有一些相同的对象被重复使用,比如窗口、按钮、页面等。这些公用的对象可被抽取出来,在编写脚本时随时调用。当这些对象的属性因为需求的变更而改变时,只需要修改该对象属性即可,而无需修改所有相关的测试脚本。

b. 公用的环境。

各测试用例也会用到相同的测试环境,将该测试环境独立封装,在各个测试用例中灵活调用,也能增强脚本的可维护性。

c. 公用的方法。

当测试工具没有需要的方法时,而该方法又会被经常使用,我们便需要自己编写该方法,以方便脚本的调用。

d. 测试数据。

也许一个测试用例需要执行很多个测试数据,我们便可将测试数据放在一个独立的文件中,由测试脚本执行到该用例时读取数据文件,从而达到数据覆盖的目的。

在该框架中需要将这些典型要素考虑进去,在测试用例中抽取出公用的元素放入已定义的文件,设定好调用的过程。

折叠编辑本段脚本编写

该编写过程便是具体的测试用例的脚本转化。初学的自动化测试人员均会使用录制脚本到修改脚本的过程。但专业化的建议是以录制为参考,以编写脚本为主要行为,以避免录制脚本带来的冗余、公用元素的不可调用、脚本的调试复杂等问题。

折叠编辑本段测试运行

事实上,当每一个测试用例所形成的脚本通过测试后,并不意味着执行多个甚至所有的测试用例就不会出错。输入数据以及测试环境的改变,都会导致测试结果受到影响甚至失败。而如果只是一个个执行测试用例,也仅能被称作是半自动化测试,这会极大的影响自动化测试的效率,甚至不能满足夜间自动执行的特殊要求。

因此,脚本的测试与试运行极为重要,它需要详查多个脚本不能依计划执行的原因,并保证其得到修复。同时他也需要经过多轮的脚本试运行,以保证测试结果得一致性与精确性。

自动化测试引入的原因是就把软件测试人员从枯燥乏味的机械性手工测试劳动中解放出来,以自动化测试工具取而代之,使测试人员的精力真正花在提高软件产品质量本身。

折叠编辑本段注意事项

首先,一个企业实施测试自动化,绝对不是拍脑袋说干就能干好的,它不仅涉及测试工作本身流程上、组织结构上的调整与改进,甚至也包括需求、设计、开发、维护及配置管理等其他方面的配合。如果对这些必要的因素没有考虑周全的话,必然在实施过程中处处碰壁,既定的实施方案也无法开展。其次,尽管自动化测试可以降低人工测试的工作量,但并不能完全取代手工测试。100%的自动化测试只是一个理想目标,根据笔者的经验,即便一些如SAP、OracleERP等测试库规划十分完善的套件,其测试自动化率也不会超过70%。所以一味追求测试自动化只会给企业带来运作成本的急剧上升。再次,实施测试自动化需要企业有相对规模的投入,对企业运作来说,投入回报率将是决定是否实施软件测试自动化的最终指挥棒,笔者建议企业在决定实施软件测试自动化之前,必须要做量化的投资回报分析。此外,实施软件测试自动化并不意味着必须采购强大的自动化软件测试工具或自动化管理平台,毕竟软件质量的保证不是依靠产品或技术,更多的因素在于高素质的人员和合理有效的流程。

折叠编辑本段实战模拟

折叠背景介绍

A公司是一家大型保险公司,拥有近20个城市的分公司,并在其中5个城市建立了IT支持中心。平均每年的上线应用数量在20个左右(新业务系统和原有业务系统的主要版本发布)。A公司的专职测试团队人数不足30人而且测试团队的测试人员技能参差不齐测试只是作为项目上线前的一道工序而已。在测试团队内部也几乎没有自动化的手段,主要依靠手工测试。由于已上线应用系统的问题,开发团队必须分出一部分资源去维护和修复上线应用,而同时测试团队的测试成果和效率却无法和这些应用质量挂钩,也更无从谈起对软件质量的控制。所以,A公司决定在软件质量和测试方面进行投入,他们考虑以下几方面:

●引进软件测试流程管理的自动化,提高软件测试过程的管理水平,使软件测试和软件开发一样可被评估、被衡量。

●实现性能测试自动化,所有应用上线之前必须有应用性能风险评估报告和相关部门的确认

●逐步实现功能测试的自动化,在目前人员配置的情况下,把部分手工测试变成自动化测试,提高测试可信度,降低人为错误。

●通过软件测试自动化,管理软件测试中的案例、缺陷、报告等资产,进一步提升软件测试的效率并建立测试基础库。

●在规划中,将来的2~3年内使所有的应用系统上线都必须有数字化的测试数据作为依据。

折叠系统的情况

由于保险公司的业务种类繁多,同时在经过了几十年的经营后,公司内的应用系统从早期的终端方式到现代的J2EE和.NET等应有尽有,鱼龙混杂。IT部门已经建立的3年规划,即在未来的3年时间内将所有终端和C/S方式的应用转换成B/S架构,但当前仍然需要对这些旧应用系统进行维护,以保证业务的顺利进行。对于开发部门来说,新应用开发基本上已经以B/S架构为主,主要是基于J2EE架构的WebHTTP应用和部分Window.NETForm的应用。

折叠公司现状

企业机构在做测试自动化选型时一定要考虑清楚企业内部哪些部分可以实施自动化、哪些部分暂不实施自动化、哪些部分仅在某几个项目做自动化试点。切忌匆忙上马或盲目否定,缺乏实事求是的理性思考。

测试部门仅负责系统测试和对用户验证测试进行管理,对于之前的单元测试和集成测试主要由开发团队中划分出的一部分临时测试人员完成。由于缺乏监测手段,测试部门也无法收集和确定集成测试和单元测试的完成情况,在整个软件测试过程中,业务需求是由开发部门通过RationalRequisitePro进行管理,但测试需求尚没有提出要求,测试案例主要通过在公司公用的文件服务器中的目录管理方式管理,对测试中缺陷流程等管理主要依靠邮件的流转进行处理90%以上的测试是通过Excel和Word等测试案例文档来完成,测试人员对软件测试自动化的认识仅停留在"记录+回放"的认识上。

折叠方案

方案A:A公司可以采用美科利(Mercury)公司产品为主的软件测试自动化方案。

●依照原先的邮件流转过程配置TestDirector缺陷管理流程,为每个保险业务的开发小组和测试团队分配相应的用户许可证,取消原有邮件方式。

●部署MercuryQuickTestProfessional,以便完成应用程序相关功能测试。

●部署MercuryLoad-Runner。从测试团队中分化出专职的性能测试自动化工程师和小组,和业务部门协调,建立A公司应用系统上线性能指标,通过LoadRunner给出测试指标。

●建议A公司成立专门的质量控制部门,对TestDirector中的数据定期进行分析,建立相关质量模型,以便于企业量化管理和过程改进。

方案B:A公司也可以采用IBMRational产品为主的软件测试自动化方案。

●采用RationalTestmanager来进行整个测试流程的管理,为相关开发和测试小组成员分配相应权限,改变以前通过邮件以及Word、Excel文档管理测试的工作方式。

●部署RationalRobot,用它来完成功能相关的测试工作以及新版本发布时的冒烟测试。此外,RationalRobot也能较好地完成性能相关测试。统一的操作方式降低了工具的学习周期和培训带来的大笔开销。

●部署RationalPurifyplus,使测试工作前移到开发阶段。由于Purifyplus能较好地支持白盒测试,编程人员在编码阶段引入的错误能尽早被检测到,这大幅降低了后期测试的开销。

●建议A公司成立专门的质量控制部门,对Testmanager中的数据定期进行分析,建立相关质量模型,以便于企业量化管理和过程改进。

方案C:A公司也可以采用开源软件为主的软件测试自动化方案。

●采用Bugzilla来进行Bug跟踪管理,采用BugzillaTestRunner进行测试用例管理,采用CVS进行测试资源的配置管理。

●采用MaxQ和WebInject对B/S结构的应用系统进行功能测试。

●采用DBMonster、Open-STA、LoadSim进行性能相关测试。

●可采用Xunit架构的开源工具对不同语言的程序单元进行单元测试。

●建议A公司成立专门的开源软件维护小组,以解决可能会碰到的工具维护工作。

●建议A公司成立专门的质量控制部门,对Bugzilla、TestRunner、CVS中的数据定期进行分析,建立相关质量模型,以便于企业量化管理和过程改进。

折叠方案评价

由于不同客户在组织架构、员工素质以及流程管理水平等方面的不同,我们很难用一个实例、一两句话来说明不同解决方案的适用性。在上面的例子中,笔者给出了3种可行的方案,具体选择哪一个,需要仔细权衡。这里笔者给出一般性的意见,对于不想受制于某个测试自动化厂家的企业,开源绝对是一个理想的选择。此外,它不需要支付成本,工具的源代码可以随意修改,因而具有较好的灵活性。但开源工具的弊端也是明显的:缺乏使用培训和技术支持,工具的用户界面一般也较为粗糙。而对于那些比较看重培训和售后支持的企业,笔者建议选择IBMRational或Mercury或其他厂家的产品。这样虽然需要支付一部分费用,但省去了工具维护所需要的大量工作。至于具体选择哪个厂家的产品为好,笔者尚无结论性意见。相信读者朋友都有一些见仁见智的看法,不妨来信交流。

‘陆’ 如何写自动化测试脚本具体的思路是。。。。。

自动化测试适用范围主要是回归测试针对回归测试来设计自动化测试脚本的思路:1.确定是否需要进行自动化测试2.需要自动化测试,则确定哪些内容需要进行自动化测试3.选取需要自动化测试的内容相关的测试用例4.根据这些用例,构建数据文件5.根据数据文件设计相应的逻辑,以方便数据文件的输入为主6.自动化测试脚本应该包含以下内容:1.可重复的操作步骤2.可替换的输入3.具有比对预期输出与实际输出的功能4能够自动将比对的结果输出到一个统一的文件上

‘柒’ 常用的自动化测试工具及特点分析

想要进入 自动化这行业,知道常用的自动化测试工具及特点相当关键。下面就由我为你带来常用的自动化测试工具及特点,希望你喜欢。

常用的自动化测试工具及特点
1、RunnerMercury

Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。企业级应用可能包括web应用系统,ERP系统,CRM系统等等。这些系统在发布之前,升级之后都要经过测试,确保所有功能都能正常运行,没有任何错误。如何有效地测试不断升级更新且不同环境的应用系统,是每个公司都会面临的问题。

2、Rational

Robot是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面IBM

Rational TestManager上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。

3、AdventNet

QEngineAdventNet QEngine是一个应用广泛且独立于平台的自动化软件测试工具,可用于Web功能测试、web性能测试、Java应用功能测试、Java 、API测试、SOAP测试、回归测试和Java应用性能测试。支持对于使用HTML、JSP、ASP、.NET、PHP、JavaScript/VBScript、XML、SOAP、WSDL、e-commerce、传统客户端/服务器等开发的应用程序进行测试。此工具以Java开发,因此便于移植和提供多平台支持。

4、SilkTest

是业界领先的、用于对企业级应用进行功能测试的产品,可用于测试Web、Java或是传统的C/S结构。SilkTest提供了许多功能,使用户能够高效率地进行软件自动化测试。这些功能包括:测试的计划和管理;直接的数据库访问及校验;灵活、强大的4Test脚本语言,内置的恢复系统(Recovery System);以及具有使用同一套脚本进行跨平台、跨浏览器和技术进行测试的能力。

5、QA

RunQARun的测试实现方式是通过鼠标移动、键盘点击操作被测应用,即而得到相应的测试脚本,对该脚本可以进行编辑和调试。在记录的过程中可针对被测应用中所包含的功能点进行基线值的建立,换句话说就是在插入检查点的同时建立期望值。在这里检查点是目标系统的一个特殊方面在一特定点的期望状态。通常,检查点在QARun提示目标系统执行一系列事件之后被执行。检查点用于确定实际结果与期望结果是否相同。

6、Test

Partner是一个自动化的功能测试工具,它专为测试基于微软、Java和Web技术的复杂应用而设计。它使测试人员和开发人员都可以使用可视的脚本编制和自动向导来生成可重复的测试,用户可以调用VBA的所有功能,并进行任何水平层次和细节的测试。TestPartner的脚本开发采用通用的、分层的方式来进行。没有编程知识的测试人员也可以通过TestPartner的可视化导航器来快速创建测试并执行。通过可视的导航器录制并回放测试,每一个测试都将被展示为树状结构,以清楚地显现测试通过应用的路径。

7、Holodeck

强大的故障植入软件测试工具Holodeck is an advanced fault-injection

tool that gives you the power to attack an application while it monitors and

logs everything your application does - every function call, registry entry,

piece of data read or written.

8、Telelogic

TAUTAU第二代包含三个最新的、最强大的技术用来加速大规模软件开发和测试:统一建模语言(UML)及它的许多最新修订版本中的特性,UML2.0;功能强大的测试语言TTCN-3和新的构造系统的方法:Model

Driven Architecture(模型驱动构架)。这三个新的业界标准结合成TAU的已经过认可的软件开发平台,形成了一个系统,一个一流的稳定可靠的工具解决方案。TAU第二代是系统与软件开发解决方案的一个突破,它把业界从使用了太长时间的手工、易出错、以代码为中心的方法中释放出来,自然而然地迈向下一步,一个更加可视化、自动化及可靠的开发方法。

9、TelelogicTAU/Tester

是基于通用测试语言TTCN-3,用于自动化的系统和集成测试的强大工具。TAU/Tester以现代化的开发工具为基础,提供高层测试功能,支持整个测试生命周期,加速自动化测试。TAU/Tester可使用户特别关注于测试的开发,因为TTCN-3语言是独立于开发语言或测试设备的,且是抽象和可移植的。
Android手机自动化测试工具
1、Monkey是Android SDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试,也有日志输出。实际上该工具只能做程序做一些压力测试,由于测试事件和数据都是随机的,不能自定义,所以有很大的局限性。

2、MonkeyRunner也是Android SDK提供的测试工具。严格意义上来说MonkeyRunner其实是一个Api工具包,比Monkey强大,可以编写测试脚本来自定义数据、事件。缺点是脚本用Python来写,对测试人员来说要求较高,有比较大的学习成本。

3、Instrumentation是早期Google提供的Android自动化测试工具类,虽然在那时候JUnit也可以对Android进行测试,但是Instrumentation允许你对应用程序做更为复杂的测试,甚至是框架层面的。通过Instrumentation你可以模拟按键按下、抬起、屏幕点击、滚动等事件。Instrumentation是通过将主程序和测试程序运行在同一个进程来实现这些功能,你可以把Instrumentation看成一个类似Activity或者Service并且不带界面的组件,在程序运行期间监控你的主程序。缺点是对测试人员来说编写代码能力要求较高,需要对Android相关知识有一定了解,还需要配置AndroidManifest.xml文件,不能跨多个App。

4、UiAutomator也是Android提供的自动化测试框架,基本上支持所有的Android事件操作,对比Instrumentation它不需要测试人员了解代码实现细节(可以用UiAutomatorviewer抓去App页面上的控件属性而不看源码)。基于Java,测试代码结构简单、编写容易、学习成本,一次编译,所有设备或模拟器都能运行测试,能跨App(比如:很多App有选择相册、打开相机拍照,这就是跨App测试)。缺点是只支持SDK 16(Android 4.1)及以上,不支持Hybird App、WebApp。

5、TestWriter是上海博为峰结合多年为企业做测试服务的经验所研发的一款具有自主知识产权的自动化测试工具,跨Web、Android、iOS三大平台,为企业用户提供真正的低成本、高效率的自动化测试,引领软件测试自动化运用由技术层面向业务层面转变。用户可在TestWriter中通过统一图形化界面轻松创建测试计划,并驱动执行引擎完成自动化测试任务,有效降低了测试人员能力要求及脚本维护工作量,让自动化测试更简单,更专注于业务。
app自动化测试工具
Monkey Runner

Monkey Runner是AndroidSDK提供的测试工具。严格来讲Monkey Runner它其实就是一个Api工具包,它是比Monkey强大,用它是可以编写测试脚本来自定义数据、事件。唯一不足的是脚本用Python来写,对测试人员来说要求较高,它的学习成本也是比较高的。

Monkey

Monkey是AndroidSDK自带的测试工具,它在测试过程中会向系统发送伪随机的用户事件流,比如一些按键输入、触摸屏输入、手势输入等),它可以实现对正在开发的应用程序进行一个压力的测试,同时也是有日志输出,实际上该工具只能做程序做一些压力测试,由于测试事件和数据都是随机的,并不能自己自己定义,这也是它的局限性所在。

Ui Automator

Ui Automator这个工具也是Android提供的自动化测试框架,基本上支持所有的Android事件操作,对比Instrumentation它不需要测试人员了解代码实现细节(可以用Ui Automatorviewer抓去App页面上的控件属性而不看源码)。

它是基于java,因此它的测试代码结构比较简单、编写也是比较容易、学习成本,可以是一次编译,所有设备或模拟器都能运行测试,能跨App。它的缺点是只支持SDK16(Android4.1)及以上,不支持HybirdApp、WebApp。

Espresso

我们听说过的Espresso是Google的开源自动化测试框架。它是相对于Robotium和UIAutomator,它最主要的特点就是规模是更小、更加的简洁,并且API是更加的精确,编写的测试代码简单,由于是基于Instrumentation的,因此是不能跨App。

Appium Android自动化框架

这个框架是iOS,android自动化测试的一个框架。它是可以支持多种的语言:Java,C#,Ruby也是可以支持。并且是还可以去调用selenium的API,所以一般是可以利用selenium来测试在手机上面的网页应用。

研究过appium,它不仅是支持云计算服务,还可以为客户提供许多虚拟手机来测试,这块不过是付费的。如果你想要的要求越多,你就必须付更多的费用,这是它的特点所在。

软件自动化测试的工具是比较多的,不同的软件也是有它的不同的特点,功能上的差异,如何深入了解这些工具并且是合理的使用,这是我们需要做的事情。

猜你还感兴趣的:

1. ios自动化测试框架有哪些

2. 软件QTP自动化测试

3. ios自动化测试流程

4. ios自动化测试工具有哪些

5. 常用的自动化测试工具及流程

‘捌’ 如何使用selenium+flexmonkium录制flex页面自动化测试脚本

如何对Flex进行自动化测试之RIAtest使用方法.今天有时间摸一下flex自动化的一些东西,今天先介绍下一个收费的flex自动化的工具 RIAtest。 第一次认识它是在InfoQ的周刊上看到的,当时没有留意,这次好好的使用了下。您可以在以下的链接下载:
今天有时间摸一下flex自动化的一些东西,今天先介绍下一个收费的flex自动化的工具 RIAtest。
第一次认识它是在InfoQ的周刊上看到的,当时没有留意,这次好好的使用了下。您可以在以下的链接下载:
RIAtest3 下载地址:http://www.riatest.com/procts/download.html
相对与FunFX 和 Flex selenium的不成熟,RIAtest已经集成了录制,回放,手工脚本等功能着实眼前一亮。
简单的说一下如何使用它进行flex自动化测试,这里省去了FunFX,Flex selenium,FlexMonkey需要重新编译工程的烦恼。
1.启动RIAtest,在File—>new project新建一个项目,项目建好后,在new project上点击右键,选择Add New Script,会添加一个新的脚本文件,你录制的脚本就会写到这个文件里面。选择 Project–>Options
在Application SWF File是您要测的flex编译出来的SWF,点击OK确定(我们使用RIAtest的安装路径RIATest 3\samples\components\app\bin下面有App.swf文件做例子)。好了,我们可以开始运行程序,进行录制脚本啦。点击菜单栏 run–>Launch Application,RIAtest会调用系统的浏览器,加载swf文件,这就是我们要测试的程序了。点击开始录制脚本的按钮,就可以开始录制脚本了,去浏览器中的那个APP.swf中随便点点看,会看到RIAtest的脚本文件中生成一些脚本。这些就是录制的脚本了。再点击那个红色按钮停止录制,在run–>terminate application用来结束应用程序的本次运行。
2.下面就是RIAtest的相关脚本语言:
FlexBox("index:30")=>click();
FlexBox("SimpleComponentsView")=>click();
FlexTextArea(“newItemText”)=>keyPress(KEY_BACKSPACE);
这里不得不提一下Watir和selenium中捆饶我们的alert弹出框,这里由于RIAtest它的内部机制采用Flex Automation来定位组件,我们可以用以下的方法来定位
new Locator({automationClassName:”FlexButton”, automationName: “OK”})
首先我们使用object inspector来获得警告id(index),然后判断是否存在alert,之后我们用之前定位的‘OK’ button来进行点击操作。处理起来还是比较简单的。
这是继之前的 自动化测试系列之后,再次研究flex的自动化。RIAtest针对flex的自动化测试是比较不错的,上手很容易。配置,编写脚本,维护脚本都不难。相对如果使用 selenium Flex和ruby FunFx的话需要在代码上好好下功夫,它们对很多内置类支持不是很好。由于RIAtest不是free的,需要您在金钱和工程难度上做选择。

‘玖’ 用自动化测试工具录制脚本有什么用

AutoRunner是一款自动化测试工具。AutoRunner可以用来执行重复的手工测试。主要用于:功能测试、回归测试的自动化。它采用数据驱动和参数化的理念,通过录制用户对被测系统的操作,生成自动化脚本,然后让计算机执行自动化脚本,达到提高测试效率,降低人工测试成本。

‘拾’ 如何使用selenium ide 录制脚本

selenium是近来用的比较多的自动化工具,ide作为脚本录制工具,也是新手比较喜欢的工具,但是在使用过程中很多坑,下边详细给大家讲一下整个操作过程,及需要注意的点。

使用使用selenium ide录制脚本主要包括两个步骤,ide的安装及ide的脚本录制,下边分别讲述下:

一、selenium ide的安装

  1. selenium ide是火狐浏览器上的一个插件,我们只能在火狐上安装,

  2. 火狐的版本一直在更新,我相信大家使用的火狐基本都是最新的版本,但是但是最新的火狐已经不支持ide的安装和使用了,这也是为什么很多人下载不了、安装不成功!

  3. 做自动化不想跳不开脚本录制这一步的,那怎么办?我们把新版本的火狐卸载掉,找一个旧版本的火狐来,45版本就OK。

  4. 卸载及下载安装就不说了,火狐历史版本下载:网页链接

  5. 安装45版本后记得到配置里,修改下不让它自动安装更新,

  6. 安装好后,接下来是ide的安装,直接去火狐的官网,在附加组件里查找:

热点内容
logn算法 发布:2024-04-27 21:58:36 浏览:596
11选五的简单算法 发布:2024-04-27 21:46:14 浏览:71
ebay图片上传 发布:2024-04-27 21:31:50 浏览:587
微信电脑登录显示服务器错误 发布:2024-04-27 20:58:08 浏览:135
压缩弹簧安装 发布:2024-04-27 20:35:43 浏览:371
淘宝视频无法上传视频 发布:2024-04-27 20:31:27 浏览:643
安卓软件怎么分享 发布:2024-04-27 20:28:26 浏览:669
宽带测速上传 发布:2024-04-27 20:23:22 浏览:174
mysql存储过程ifand 发布:2024-04-27 20:17:12 浏览:252
4位数密码锁怎么开 发布:2024-04-27 20:10:31 浏览:853