范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

自动化功能测试和接口测试工具整理

  对于自动化测试,原来谈这方面的内容比较少,但是现在我们做DevOps支撑平台的时候,在整个持续集成和交付的过程中,有一个重要的内容就是自动化测试。自动化测试的覆盖面相当大,其中既包括了CS,BS和移动APP的自动化测试分类;也包括了单元测试,接口自动化测试和UI自动化测试的分类。DevOps成熟度中测试管理概述
  测试管理是一个过程,通过该过程,所有和测试相关的方法,流程,人员都被定义。在产品投入到生产环境运行之前,通过测试过程验证产品的需求,尽可能地发现软件中的缺陷,从而提高软件产品的质量。测试管理分为测试分层策略,代码质量管理和自动化测试三个维度进行表达。
  测试分层策略
  先谈下有哪些测试分类的方法,在持续集成里面我们当然更加会强调自动化测试,因此可以理解为人工测试和自动化测试两类;也可以离开为代码级测试,接口测试和前端测试分离。也可以理解为功能测试和非功能测试两类。
  当然也可以看到,在微服务架构下,我们希望我们本身的开发也是分层的,即中台模块+服务接口+前台功能,即我们通常说的前后端分离,在这种前后端分离的情况下,可以更加方便我们进行测试分层设计和自动化测试。只要是厚中台+薄前台模式,那么就越容易实现测试过程的自动化。
  越是持续集成自动化承担越高,那么自动化测试的比重就会越大。
  可以看到首先在架构设计上就要做到前后端分离,中台+服务+前台,这种分离后可以更加方便后面进行后端代码和接口的自动化测试工作。
  可以看到在测试分层策略里面的四到五级描述里面,我们看到TDD测试驱动开发方面的内容,比如先写测试代码再写实现代码或者两者同时在进行等。其次,我们还是要将在整个devops最佳实践里面,不仅仅开发过程是持续增量进行的,对于测试过程本身也是持续增量进行的,两者必须匹配。
  或者理想状态应该是没有独立的测试周期,开发完成的阶段往往就是测试也配套完成的时间点。
  代码质量管理
  是软件研发过程中保证代码质量的一种机制,即在代码变更后,需要对代码进行检查,分析,并给出结论和改进建议,对代码质量数据进行管理,并可以对代码质量进行追溯。主要包括了质量规约,检查方式,反馈处理三方面的内容。
  代码质量管理即我们常说的代码静态检查,其基于我们制定的代码质量规约进行。质量规约是指对软件代码质量的要求和规范,其中包含了编码规范,复杂度,覆盖率,以及安全漏洞,合规性要求等多个方面的内容。其中检查方式即包括了我们传统手工方面的检查和CodeReview,也包括了运行相关的自动化检查工具进行检查。
  自动化测试
  自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,在预设条件下运行系统或应用程序,执行测试并评估测试结果,以达到节省资源和人力,提高测试效率和准确性,主要包括了自动化设计,自动化开发,自动化执行和自动化分析。
  对于自动化测试可以看到,对于服务接口和代码级的自动化测试相对来说比较容易实现,但是对于前端和UI级的自动化测试相对来说就比较困难些。因此对于前期实践,我们也是建议先实现接口服务和代码级的自动化测试,再来靠前端UI的自动化测试。
  对于性能测试由于可以提前录制脚本,相对来说自动化测试实现起来比较容易。不论是那种类型的自动化测试都可以看到,实际上可以看到如下几个关键点。自动化测试代码或脚本的编写,可以是人工编写,也可以通过录制生成。测试数据的产生问题,参考测试管理过程域自动化测试脚本能够重复执行的要求,确保每次持续集成都能够重复运行测试脚本
  到了自动化测试的第四级开始,可以看到增加了对独立的自动化测试平台的要求,同时也增加了对测试结果分析和度量的要求,即通过测试结果的度量分析来进一步改进测试效率,提升代码质量。自动化测试概述
  今天只谈下对于常见的一个Web应用的自动化测试应该如何去考虑。
  要知道自动化测试不是一个新鲜的东西,很早就有,只是最近几年有了新的发展。比如在10多年前我们做每日构建和冒烟测试,持续集成的过程中,我们就已经在用Junit做自动化测试,并集成到整个持续集成过程。在每日构建完成后,自动化运行Junit的自动化测试脚本并输出冒烟测试的测试结果报告。
  而在当时如果涉及到CS应用的自动化测试,包括对于Web类应用的自动化测试,我们采用QTP(现在改名为UFT)工具来做自动化测试,但是并没有得到广泛的应用,一个核心的原因就是QTP来做Web端的自动化测试,实际上脚本录制和代码编写量都很大,而且很难对所有的测试用例做到完全覆盖,同时即使用了QTP工具录制和维护脚本,实际的人工测试还是不能省略,因此这些都导致了QTP自动化测试并没有大范围推广。
  而最近几年的发展可以看到,对于Web自动化测试Selenium和Robot Framework逐渐成为了主流的自动化测试框架和选择。同时在微服务架构,前后端分层开发推广下,对于接口的自动化测试也发展很快。UFT/QTP自动化测试工具
  QTP是Quick Test Professional的简称,是一种自动测试工具。当前已经更名为UFT,即统一功能测试框架。使用QTP的目的是想用它来执行重复的自动化测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试哪些功能、操作步骤、输入数据和期望的输出数据等。
  HP QuickTest Professional 提供符合所有主要应用软件环境的功能测试和回归测试的自动化。采用关键字驱动的理念以简化测试用例的创建和维护。它让用户可以直接录制屏幕上的操作流程,自动生成功能测试或者回归测试用例。专业的测试者也可以通过提供的内置脚本和调试环境来取得对测试和对象属性的完全控制。
  以QTP为核心的自动化测试框架优点在于:适用性好,很多人都已经会用或者至少说可以简单应用,脚本也简单易懂,大多数无任何代码基础的测试人员都可以加入脚本录制和调试。然而它最大的缺点就是对象库,关键字的框架,灵活度也不高,且加上QTP在对flex等的支持上,也是让许多人头疼的问题。
  在原来对于编码能力往往测试工程师都比较弱,因此对于QTP这种可以自动录制,自动执行和输出报告完整工具应用相当广泛。而现在的自动化测试技术栈,不管是接口、web、移动端,绝大多数都是基于开源项目来构建,测试人员本身的编码能力也在加强,特别是类似Python等脚本语言的大量使用,因此现在实际还在采用类似QTP商用工具的已经越来越少。自动化测试更多的采用类似Selenium, Robot Framework等开源工具进行集成。Selenium自动化测试工具
  Selenium是一个用于Web应用程序测试的工具。
  这个工具的主要功能包括:测试与浏览器的兼容性,测试你的应用程序,看是否能够很好得工作,在不同浏览器和操作系统之上。测试系统功能,创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。
  Selenium当前免费,而且可以和Jenkins,Maven,TestNG等实现集成,同时支持多语言,多平台和浏览器。因此当前被使用的相当多。
  Selenium框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。
  对于Selenium,里面有一个核心组件即Browser bot,类似于浏览机器人,可以执行从测试脚本接收到的命令,自动化的完成页面浏览和各种操作,并记录相应的测试结果。
  Selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(SeleniuBm Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器上。Selenium可以模拟真实浏览器,自动化测试工具,支持多种浏览器。
  具体可参考:
  https://selenium.dev/
  http://www.selenium.org.cn/ (中文站点)Robot Framework
  Robot Framework是一个跨平台的通用的,与应用程序和技术无关的测试框架。它的优点是:易于扩展,提供了简单的API,用户可以自定义基于Python和Java的测试库。它还提供强大的标签功能,来归类测试运行,在测试运行时可以选择不同的Tag或tag组合进行测试运行。
  支持报告合并,以便让你可以多机执行,然后合并报告,全局测试超时时间设置,局部可以覆盖全局的设置非常方便,不会测试卡壳的等等。其主要优点包括:通过使用关键字驱动测试(KDT)方法简化了自动化测试过程。测试数据语法简单易用。生态系统丰富。由各种通用测试库和工具组成,这些工具都是作为独立项目开发的。具有高度可扩展性。
  要注意到Robot Framework本身是关键字驱动的测试,库和关键字就很重要,对于当前的库和关键字没有的时候你还需要自己写代码进行扩展。
  在Robotframework当中,由SeleniumLibrary(非robot自带,需要安装)库提供对网页的操作关键字(功能)。即Robot Framework+SeleniumLibrary结合基本就能够完成我们需要的Web和UI自动化测试能力。
  具体可参考:
  http://robotframework.org/
  https://blog.csdn.net/qq_27534003/article/details/87437195
  https://www.jianshu.com/p/2ebea3256e21接口自动化测试
  对于接口自动化测试,主要是指类似SOAP , Http Rest等接口服务如何进行自动化测试。实际上在我们SOA管控平台的开发过程中,我们也定制化开发了接口自动化测试的工具,先是人工运行一篇接口测试,这本身类似一个脚本录制的动作,然后后续再根据已经录制的脚本批量自动化运行接口测试脚本并输出结果。
  Python+Request
  Requests 是⽤Python语⾔编写,基于urllib,采⽤Apache2 Licensed开源协议的 HTTP 库。它⽐ urllib 更加⽅便,可以节约我们⼤量的⼯作,完全满⾜HTTP测试需求。整个测试思路基本如下:对于每个Http接口请求手工编写测试脚本把对同一个接口的所有测试用例py脚本封装为方法,每个接口封装一个接口类使用Testsuite调用这些接口类,构建测试集,或利用unittest自动识别测试用例构建自动化测试输出测试结果报告
  可以看到要使用Python+Request一方面是要熟悉Python语言和Request库,一方面是需要手工编写测试脚本,整个代码编写量仍然很大。这个方法跟采用Junit单元测试基本是差不多的。
  参考:
  https://www.cnblogs.com/ailiailan/p/8535293.html
  https://blog.csdn.net/songlh1234/article/details/84317617
  Postman
  Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。
  Postman最早是作用chrome浏览器插件存在的,2018年初Chrome停止对Chrome应用程序的支持。当前Postman提供了独立的安装包,不再依赖于Chrome浏览器了。同时支持MAC、Windows和Linux。
  具体参考和下载:
  https://learning.getpostman.com/docs/
  https://www.postman.com/downloads/
  JMeter
  开源测试工具Jmeter可以承担接口请求、结果解析和断言的工作,可以作为轻量级接口自动化的实现手段,对于开发能力不强或规模不大的团队也能接受。Jmeter可以在协议层实现基本的功能,包括接口访问、参数化构造、返回值断言和数据库访问,基本足够满足一个轻量级的接口自动化框架的功能。
  注意Jmeter不仅仅是用做接口自动化测试,同时更加重要的一个功能是做接口的性能测试,我们在录制完成Http请求脚本后,可以对脚本的线程数,运行时长,循环数等进行配置并执行,执行完成后会输出详细的性能测试报告。
  具体参考:
  https://www.cnblogs.com/rd-ddddd/p/9578242.html
  基于Java+TestNG+Rest Assured进行自动化测试
  可以看到TestNG和Rest Assured是两个用于自动化测试的独立类库,这种方法偏白盒测试,需要自己编写测试代码,但是灵活性却相当高,同时可以和类似Jekins工具集合,当然也就可以和我们DevOps平台集成。
  Rest-Assured 是一个测试Restful Web Service的Java类库,我们可以创建高度定制的HTTP请求以发送到Restful服务器。这使我们能够测试各种各样的请求组合,依次测试核心业务逻辑的不同组合。Rest-Assured库提供了验证从服器收到的HTTP响应的功能。
  例如我们可以验证状态码,状态信息,标题甚至是响应的正文。这使Rest-Assured成为一个非常灵活,可用于测试的Java库。
  而TestNG是一个开源自动化测试框架,实际上可以看到是和Junit差不多的一个自动化测试框架,只是增加了一些新的功能和更强大的集成能力。其优势是支持依赖测试方法,并行测试,负载测试,局部故障;灵活的插件API;支持多线程测试。
  同时TestNG不仅仅可以测试Rest接口,也可以测试标准的Java API接口方法。
  具体可参考:
  https://www.cnblogs.com/wade-xu/p/4229805.html
  注:上面这篇文章可以看到采用TestNG实现接口自动化测试,同时进行扩展,将测试脚本管理和测试数据管理分离。同时测试数据全部体现在Excel中。从Excel中读入测试输入,同时将测试接口输出到Excel中。
  https://my.oschina.net/u/4112294/blog/3037471
  注:上面这篇文章谈到TestNG和Rest Assured相结合如何进行接口自动化测试,同时如何和Jekins持续集成工具集成,将测试结果报告进行输出。
  Rest Assured 自带支持对JSON、xml的解析,同时也提供了类似hasITems ,is,equalTo等静态方法供使用。尽管Rest Assured 提供了校验方法,但是在实际API自动化测试过程中,因为往往需要校验的字段非常多,建议还是直接先把要校验的JSON字段解析出来,再通过TestNG提供的Assert类进行校验。
  对于Rest Assured的参考网站如下:
  http://rest-assured.io/
  https://github.com/rest-assured/rest-assured
  LuckyFrame开源测试平台
  LuckyFrame测试平台是一款免费开源的测试平台,最大的特点是全纬度覆盖了接口自动化、WEB UI自动化、APP自动化,并且支持分布式测试。既然是一个完整的测试平台,那么自然会提供测试用例管理,测试数据管理,测试执行,质量管理,测试结果和测试报告查看等相关的功能。这个平台提供在线的Demo可以查看。
  LuckyFrame自动化测试框架分为两个项目:
  一个服务端项目(LuckyFrameWeb),一个客户端项目(LuckyFrameClient),服务端项目主要负责自动化过程的管理,比如用例管理、测试任务管理等等。客户端其实就是测试执行机,主要负责测试用例以及任务的执行。
  Web项目主要分为系统管理、UTP、 质量管理、测试工具测试环境管理等模块。
  具体演示地址:
  http://www.luckyframe.cn/page/lfdemo.html
  https://gitee.com/seagull1985/LuckyFrameWeb
  这个平台感觉有些思路还是可以借鉴,在前面DevOps整个子系统划分的文章里面我也谈到,对于测试管理既可以是一个简单的模块放在DevOps支撑平台里面,也可以是一个独立的子系统,然后再实现和DevOps支撑平台的集成。
  可以看到整个工具还是基本按照一个完整的测试管理平台来实现,覆盖了测试计划,测试设计,测试执行,测试报告等多个方面的内容。同时支持Web UI自动化测试,API接口自动化测试,整体框架相当也完整,但是相关诸多细节估计还需要不断迭代完善。
  Http Runner自动化测试框架
  HttpRunner 是一个基于 Python 开发的测试框架,2018年python开发者大会上,了解到HttpRuuner开源自动化测试框架,采用YAML/JSON格式管理用例,能录制和转换生成用例功能,充分做到用例与测试代码分离,相比excel维护测试场景数据更加简洁。
  HttpRunner 是一款面向 HTTP(S) 协议的通用开源测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。
  为了简化测试用例的编写工作,HttpRunner 实现了测试用例生成的功能,对应的转换工具为一个独立的项目:har2case。即通过当前主流的抓包工具将抓取到的数据包导出为HAR,然后再将HAR格式转化为YAML/JSON格式的测试用例文件。
  对于HTTPrunner当前已经到2.0版本,但是整体感觉还不是一个完整的自动化测试框架平台,当前对于HTTPrunner可以应用于一些简单的接口测试,或者是不会有大改动的接口的回归测试,这样也挺方便的。但是对于一些复杂的测试不如采用Rest Assured功能强和灵活,毕竟Rest Assured基于Java,可以灵活进行Java代码脚本的扩展。
  具体参考:
  https://v1.httprunner.org/

小s的长女许曦文在著名女演员陪同下,首次担任富江的女主人许多第二代明星想走父母的老路,成为演员或歌手,从事表演艺术和其他行业,但他们将面临许多困难。毕竟,父母这一代人产生的氛围压力可能很大。如果他们粗心大意,他们将注定失败。毕竟,娱乐圈父母爱情王秀娥总是敞着领口,不穿好衣服,这代表什么呢?刘天池在父母爱情中饰演的王秀娥是老丁的第一任妻子,虽然戏份不多,但给观众留下了深刻的印象,有很多观众都非常喜欢这个角色。但也有观众发现,为什么每次王秀娥出现,总是不好好穿衣服,咧着杨丞琳正面反击整容传闻,网友比起爱情,姐姐更在意外貌随着网上一整个晚上整容风波的发酵,37岁不老女神杨丞琳终于发长文霸气回应并且晒出16岁时候的照片和最近的照片,杨丞琳硬气回应看看吧,这是16岁的我!在演艺圈成长,我的每一刻都被关注门第和父母爱情里的两个司令,谁更可爱?门第和父母爱情都是热播的电视连续剧,看后感到,这两部电视剧还真有些相似之处。譬如故事都是发生的美丽的海滨城市青岛,都是刻画幸福的家庭和美好爱情的伦理喜剧门第里的罗一成司令和父母爱情2022年待播的姐弟恋爱情剧,一部比一部甜宠,你最期待哪部?近日,随着由江疏影刘敏涛彭昱畅等主演的都市情感剧女士的法则热播,引发了一阵又一阵热议。观众不仅热议该剧的剧情节奏和逻辑故事,而且特别喜欢吐槽江疏影与彭昱畅两位相差8岁的姐弟恋关系,50年代港姐冠军,离婚37年后李兆基仍等她,刘惠娟到底凭啥?01hr与众不同的豪门富太俗话说女人干得好,不如嫁得好。有多少女人终其一生的梦想是成为豪门富太?一辈子不为工作发愁不为生活拮据,还能让下一代轻松赢在起跑线上。要说最有机会接近富豪圈买社保拿到内地身份证跳广场舞,港台明星完全融入内地生活成功申领到港澳居民居住证的鸠摩智李国麟,终于实现了自己有生之年的一个小目标。已定居福州一年多的他,日前在个人社交平台晒出新证件,开心宣称自己现在有了身份。作为被内地观众熟识的港星之对决假土龙老周被捕,局里还有内鬼,袁队刘局有重大嫌疑内地犯罪悬疑剧对决正在热播中,该剧由欧豪王景春丁勇岱等人主演。整部剧的剧情跌宕起伏情节紧张刺激扣人心弦,隐藏在局里的内鬼不仅多,而且潜伏得很深,因此使得该剧悬疑重重,牢牢抓住了观众长着这么好看的一张脸,她却把女精英演成女版靳东?400天没进组的江疏影,上了一部新剧女士的法则,主演还有刘敏涛。我的第一反应是,这片名和去年的爱很美味有的一拼,都是莫名的土洋。第二反应是不能以貌取人以名取片,于是怀着开盲盒的心情47岁陈紫函庆糖婚,小9岁老公送圣婴蛋糕疑催生,结婚六年无子女520情人节前夕,女星陈紫函在社交网晒出与老公戴向宇一起庆祝结婚六周年的温馨照,并配上兔子囍字蛋糕啤酒等emoji表情符号,开心之情溢于言表!几乎在同一时间,戴向宇亦是隔空表白太太1982年罗密去世,阿兰德龙亲吻棺木守灵3天3夜,迟来的深情有何用佐罗和茜茜公主曾是一对让世人羡慕的恋人。这对影视圈的金童玉女并没有走到最后,阿兰德龙背叛了罗密施奈德。1982年,罗密去世后,阿兰德龙却以最快的速度赶来,为她悉心操办后事,送她最后
明星爱情故事,黄磊和孙莉的背后,有很多旁人未知的故事黄磊孙莉爱情很美好,其实背后隐情多多,旁人不得知外人看来,黄磊和孙莉的爱情是彼此的幸运。其实,在这个美好爱情的背后,还有许多不为人知的故事。04年的时候,刘若英在演唱会中跟观众说,她是女团唱跳担当,曾是美女主播,如今却增肥100斤,容颜尽毁一线到不知名,不知名到一线。台前幕后实力唱将,这个舞台,即是时间也是时机,让观众了解,从而发现那些实力派的宝藏歌手。跨界流量包搞笑与才华集齐一身的趣味灵魂锤娜丽莎,从爱豆界踏入喜剧金世佳浑噩13年,就是在等这个人渣的出现提起金世佳,观众们的印象还停留在7年前爱情公寓里的陆展博。那个因终身大事让胡一菲操碎心的傻憨憨。即使是这样他也并非是火遍大江南北的情景剧中的搞笑担当,甚至他还称不上是一位喜剧演员,娘气人设彻底崩塌,这样的刘维,你还爱吗?在一档没有一个正常人的综艺节目里,只有一个人在那里用心表演。所有人都在模仿妖魔鬼怪,只有他在认真耍帅。他延续了蒙面唱将的精彩演绎,上演了如舞蹈风暴般的亮眼表现,明明是一台搞笑节目,最好成绩600分,他助20个孩子考上一本,上大学后却与他不再相见以前一直觉得,高考是一场声势浩大的战役,几张卷子就决定了考生的整个人生,后来才明白,真正的人生差距,也许是高考之后才慢慢拉开的。这场名为高考的关卡,不是终点线,而是发令枪。距离高考80年代女神明星朱琳,因饰演女儿国王爆红,如今过得怎样了?86版的西游记可谓是好几代人的美好回忆,为了成功拍摄西游记导演杨洁可没少在选角上下功夫。饰演女儿国国王的朱琳也正是因为在西游记里的精彩表现,成为了几代人心目中的女神。原本朱琳就是那被路阳陈思诚相中,她凭什么能成为50亿票房电影的必选项?有一档宝藏综艺,采取着和其他节目完全不同的形制,不会取消参赛资格淘汰回家,也不会让观众投票给人晋升的机会,它只是想让那些被人们遗忘的宝藏再次被发掘出来。这档节目的名字就叫做谁是宝藏小成本网剧,没流量没投资,演员没名气,播出后创下收视五连冠御赐小仵作迎来大结局后,评分反倒降了0。1,但这无关紧要,超过15万人打出的8。3评分足以让这部没流量明星没超级ip没有资金投入的三无小成本网络剧登顶称王了。今年的高分神剧,非它莫3年接了3部爆款剧,仅出道4年的李庚希,眼光凭什么那么准?今年的甜宠剧,真没有一部能打的吗?不知道大家还记不记得20年前的上错花轿嫁对郎超10万人评论,打出了8。3高分,而最近被炒得沸沸扬扬的正是这部陈年老剧。其原因是由李庚希正式担任大女被骂曹操传的三国陈建斌一家独大,最后却成全了倪大红三国不惜笔墨地讲述了魏蜀吴三家的权利争斗,对于历史中的曹操刘备孙权等几位一方霸主进行了重新描募。作为史诗级大剧,对标1994版三国演义虽还远有不及,却也创造出了新的收视神话,成为了能用如此大胆的风格颠覆国剧,百炼成钢怕是内地影视第一人了百炼成钢,献礼巨制恰逢建党一百周年。无数巨制影视剧作品纷至沓来。由中共湖南省委宣传部亲自督导出品的百炼成钢正是其中之一。该作品以音乐剧形式串联全片,与场景融会贯通,为我们带来了那个