自动化测试工具开发请问做自动化测试工具类的开发需要掌握哪些方面的技能?

自动化测试工具开发  时间:2021-09-16  阅读:()

如何搭建自己的自动化测试框架

这段时间一直在为公司内部开发 自动化测试框架 ,简称GTF,因为这个框架现在还属于开发阶段,很多事都是言之过早。

我会持续将我在架构过程中的想法写下来。

供自己和大家一起分享。

这些想法,并不属于我一个人,我工作中的同事们给了我很大的帮助。

今天这一篇主要说明架构方面的考虑。

在现有的提供自动化测试解决方案的产品很多,包括:Robot,TestComplete,WinRunner等等。

我只接触过这些,公司里也进行过很大的尝试,但是结果往往总是不竟如人意。

这中间,排除那些人员方面的原因,也总结这些自动化工具 ,在使用过程中的不方便的地方: 1. 定位控件不方便。

标准控件还好,非标准控件就只能靠很多非正常方法去获取。

而且,控件的识别往往和界面布局相关。

3. 代码维护不方便。

由于在编写过程中,大量的和界面相关的代码,导致最后在需求变更的时候,代码的维护,成为软件测试人员的负担。

针对这些情况,我们经过讨论,何不自己做一个软件测试框架。

当然了,这是基于我们的丰富的知识积累的决策。

大家不需要关心这个决策的情况。

不过,可以多关注一些我们在做的过程中的分析结果。

通过分析流行的软件测试框架,有多种方式: 第一、最典型的就是消息驱动,自动化工具通过脚本录制和编写,保存为测试脚本。

在回放的过程中,将这些脚本转换成为Windows消息,发送给我们应用程序的窗体和各种控件。

这种方式的好处在于,自动化工具和应用程序之间能够做到完全的隔离。

但是,由于使用了Windows消息,它也拥有了一个非常致命的缺点。

那就是消息队列的异步性与程序的顺序性之间的矛盾。

很多消息发送给了应用程序,但是应用程序的处理可能已经和消息队列错位了。

有一些关于代码的时间片等待,就是因为这个问题。

另外,就是由于完全的隔离,对于操纵控件数据的能力大大降低。

毕竟,拥有大量数据的控件都不是标准控件。

第二、嵌入式 。

TestComplete就是这类工具。

它有支持不同语言的版本。

大概思路,就是在程序编译的时候,注入自己的控件代理。

脚本的回放,直接可以通过代理,操纵到应用程序。

可惜的是,这类软件开发的时候,更多的是考虑平台的兼容性。

对于特有平台上的支持不是十分完美。

特别是对自定义控件(比如Delphi中,除了VCL的标准控件)支持也没有做到最好。

不过,我这里必须承认,TC的内部实现机制可能十分强大,我不能窥探所有。

如果有人清晰,可以指点一二。

针对上面的两种,我们想到的第三种方式:一体式。

这种方式中,通过给程序在打包的过程中,添加额外的框架代码,使得程序自动提供控件的访问方式。

自动化的模块也会作为软件测试程序的一部分运行。

应用程序在执行脚本的时候,自动通过脚本 ,控制各控件界面的显示和关闭。

它应该是第二种方式的变种。

但是由于是自己实现的,所以在对各类自定义控件支持的都非常好。

针对一开始提出的几个自动化测试的难题,我们提出了,自动封装窗体上所有控件的概念(这些概念后面会详细介绍),对于软件测试人员,只要关心真正的业务操作流程。

而业务流程中涉及到的控件,已经为他们自动提供好。

这样,脚本也自然只成了业务流程的脚本。

其复杂度也就大大降下来了。

如果要推荐2个工具的话,我就推荐泽众软件公司的 自动化测试工具AutoRunner和测试管理工具Testcenter ,用这2个软件合作可以很好的进行自动化测试与对测试用例进行管理。

如何才能做好测试自动化

1.测试自动化类似于软件开发的过程 录制/回放脚本的开发方式是不可能应付所有自动化测试的需求的,因此,需要测试人员掌握必要的开发知识和编码知识。

2.测试自动化是一个长期的过程 首先,不能期望自动化测试在短期内找到很多Bug,自动化测试只有在长期的多次运行后磁能体现它的价值。

其次,不要认为只要购买了工具,录制一些脚本,然后就可以安枕无忧的看着自动化测试实现想要的效果,需要考虑自动化测试脚本维护成本,随着被测试应用程序功能的增加和修改,测试脚本的维护工具量会急剧的增加。

3.确保测试自动化的资源,包括人员和技能 最好有专门的自动化测试工程师来保证测试自动化持续,顺利的进行下去,自动化测试工程师需要对项目测试自动化负责,设计测试框架和脚本结构,解决各种测试脚本的开发问题,确保自动化测试得以计划,设计和有序的开发,维护。

4.循序渐进的开展自动化测试 不要一开始就把自动化设想的很大,这往往是不可实现的,应该从小开始,先熟悉工具和自动化测试的基本技能,然后,整合资源开始实现一些基本的自动化测试用例,例如:冒烟测试类型的自动化测试脚本,先实现那些容易实现的,且相对稳定的功能模块的自动化测试,然后再考虑逐步扩展和补充其他相对难实现,或者是比较不稳定的功能模块。

5.确保测试过程的成熟度 如果软件企业的测试过程和项目管理过程的能力成熟度比较低,则实现自动化测试的成功率也比较低,在开展自动化测试之前,先考察一下软件企业各方面的管理能力,;例如:测试是否独立进行?有无配置管理?进度控制能力如何?如果各方面的能力成熟度都比较差的话,则不要盲目的引入测试自动化。

自动化测试应该是这样的: 自动化应该是一种Service(Automation As A Service),所有的测试人员和开发人员都应该可以自己很方便的去跑自动化 自动化测试的运行结果应该是可以自动分析的,占用很少的时间 自动化测试的成功率应该是要很高的(比如95%以上) 自动化应该是写一次,运行很多次,为什么你们花那么多时间还要去改自动化代码?

现在想转做软件测试,但是自动化工具只是学过而已,没有真正用于工作中,请问下朋友,我要掌握什么呢?

有JAVA开发基础很好找啊,测试需要掌握的东西建议去智联招聘或则51job上看看招聘要求,基本就是数据库,linux,测试理论,软件工程之类的,有开发基础的话应该很容易找到自动化测试的职位吧~~现在测试在北上广这些大城市找的还是很多的,但是公司良莠不齐,多投投简历,多面试几次就全懂了。

自动化测试框架如何搭建

要针对你使用的是什么自动化工具 你的问题太泛指 如果是qtp,使用的是VBScript,那你要根据你使用的开发语言的方式来搭 总体思想是 从底层往上,细化到界面,然后调用界面 基本每次修改不用动到大部分,只要修改最底层的代码,你就算搭建好了 如果平时一改一个地方,要动全身的,那就搭建错误

哪个公司做测试工具自动化开发比较好?要大公司的!

大公司? 你是指MECURY系列的QTP,Loadrunner?那就去HP Rational系列的,那就去IBM 或者.NET平台下的一大堆自动化工具,那就去MS。

事实上,只要是做产品的大公司,自己都有自己的自动化开发团队。

你就是闭着眼睛找也能找到。

请问做自动化测试工具类的开发需要掌握哪些方面的技能?

您好   1、首先你得先定位自己需要开放自动化测试工具为哪类,例如:自动化测试用例管理工具,自动化测试框架类、界面自动化测试工具等   2、根据你所需的自动化测试工具类,对应相应的技能   1)基本技能;编程知识(其实哪一种语言都能进行自动化测试工具开发,不过我推荐:想掌握一些软件开发方面高级一些的思想,可以学学java的OO,一般而言,自动化测试需要开发效率比较高,则可以应用一些脚本方面的语言,例如:tcl、python等。

所以,首先,先掌握基本的编程语法以及编程思想   另外的一个基本技能:你需要简单的去了解一下自动化测试以及其中的一些应用模式,而且需要对测试流程以及基本的测试方法进行学习,就像你做软件工程一样,你也需要适应一定的软件流程,例如:瀑布式、RUP式。

  3)之后,对应不同的工具学习不同的东西,例如:你开发一个简易的界面自动化测试工具,WIN32、web以及java都是用不同的语言,像win32的话,就需要去掌握MS的一些基本知识,例如:句柄的概念、MSAA接口概念等。

java的swing界面的话,就得去看java底层的事件机制,web的话,就去好好了解一下web中的html节点元素,还有js等。

或者你想做一个手机自动化测试工具,andriod,则需要对android的开发进行一些了解了。

这就叫应用不同的技能满足不同的需求阶段。

当然,还有各种不同的自动化测试工具,例如:测试管理以及连接类、CLI命令行控制类,日志生成类等 ,这都是在平时工作中进行总结出来的一些经验,总之,先打好基础。

如果,有什么问题或者想法的话,可以发邮件于我:test_sunny@(散步的SUN),ok,祝你学习愉快~欢迎来到自动化测试的小世界

弘速云香港VPSVPS线路有CN2+BGP、CN2 GIA,KVM虚拟化架构,裸金属月付564元

弘速云怎么样?弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港vps、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统。点击进入:弘速云官方网站地址...

织梦DEDECMS即将授权收费和维权模式 站长应对的几个方法

这两天在站长群里看到不少有使用DEDECMS织梦程序的朋友比较着急,因为前两天有看到来自DEDECMS,我们熟悉的织梦程序官方发布的公告,将会在10月25日开始全面商业用途的使用DEDECMS内容管理程序的会采用授权收费模式,如果我们有在个人或者企业商业用途的,需要联系且得到授权才可以使用,否则后面会通过维权的方式。对于这个事情,我们可能有些站长经历过,比如字体、图片的版权。以及有一些国内的CMS...

90IDC-香港云主机,美国服务器,日本KVM高性能云主机,创建高性能CLOUD只需60秒即可开通使用!

官方网站:点击访问90IDC官方网站优惠码:云八五折优惠劵:90IDCHK85,仅适用于香港CLOUD主机含特惠型。活动方案:年付特惠服务器:CPU均为Intel Xeon两颗,纯CN2永不混线,让您的网站更快一步。香港大浦CN2測速網址: http://194.105.63.191美国三网CN2測速網址: http://154.7.13.95香港购买地址:https://www.90idc.ne...

自动化测试工具开发为你推荐
descriptiondescription是什么文体项目质量管理在项目质量管理中有什么什么是cookie有时遇到网页提示禁止第三方cookie是什么意思?招行信用卡还款招行信用卡怎么还款东西网如何在网上购买东西?burndownburn down是否及物?能用被动语态吗?教学视频网站谁有各种教学视频网站呀.?工作经验介绍个人工作经历简介要怎么写乐辞乐组词有哪些乐辞自驱力读后感
万网虚拟主机 中国万网域名注册 德国vps 什么是域名解析 免费顶级域名 krypt 七牛优惠码 缓存服务器 paypal认证 2017年万圣节 息壤代理 谷歌台湾 博客域名 xshell5注册码 香港博客 zcloud 百度新闻源申请 侦探online 达拉斯 瓦工工具 更多