• 0
  • 0
分享

  在如今开源的时代,我们就不要再闭门造车了,热烈的拥抱开源吧!本文针对性能测试、Web UI 测试、API 测试、数据库测试、接口测试、单元测试等方面,为大家整理了github或码云上优秀的自动化测试开源项目,希望能给大家带来一点帮助。

  一、性能自动化测试

  1、项目名称:基于Jmeter实现的在线压测平台和在线管理Jmeter脚本系统。

1-8.png

  项目简介:

  本项目基于renren-fast Java开发平台开发,内核基于Jmeter-Api和Jmeter脚本实现在线性能压测。

  具有如下特点:

  ·友好的代码结构及注释,便于阅读及二次开发

  · 实现前后端分离,通过token进行数据交互,前端再也不用关注后端技术

  · 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求

  · 页面交互使用Vue2.x,极大的提高了开发效率

  · 完善的代码生成机制,可在线生成entity、xml、dao、service、html、js、sql代码,减少70%以上的开发任务

  · 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能

  · 引入API模板,根据token作为登录令牌,极大的方便了APP接口开发

  · 引入Hibernate Validator校验框架,轻松实现后端校验

  · 引入云存储服务,已支持:七牛云、阿里云、腾讯云等

  · 引入swagger文档支持,方便编写API接口文档

  · 引入路由机制,刷新页面会停留在当前页

  · 引入最新版本Jmeter-Api,支持分布式压测,测试报告生成及在线查看下载。

  · 引入Echarts,支持在线观测性能压测结果。

  2、项目名称:分布式压力测试工具 Beetle.DT

1-7.png

  项目简介:基于 .NET 实现的分布式压力测试工具,用户可以根据需求编写相关的测试用例;通过工具的管理界面即可以把测试用例推送到服务中心,再根据实际压测的需求把测试用例分配到不同节点上运行。工具会根据测试的情况实时获取测试结果,测试完成后用户还可以查询具体的测试报告。节点采用进程隔离的方式运行测试用例,所以测试用例的运行都是相互独立。

  3、项目名称:基于 Go 的压力测试工具 armyant

  项目简介:armyant 是从 http 压力测试工具 hey 改装而成。不过,hey 只支持 http 接口的压力测试,而 armant 可以自定义压测协议。目前默认实现了 http,mqtt 两种协议的压力测试。

  二、Web UI 自动化测试

  1、项目名称:自动化测试平台 LuckyFrame 

1-6.png

  项目简介:本项目是一款免费开源的测试平台,最大的特点是全纬度覆盖了接口自动化、WEB UI自动化、APP自动化,并且支持分布式测试,测试关键字驱动也很大程度上解决了测试同学代码基础弱的问题。同时也集成了质量管理相关的一些功能,解决 QA 的日常工作中,项目过程数据的收集问题,并能展示一些简单质量报表。

  2、项目名称:AutoLine开源平台

  项目简介:AutoLine开源平台是一个开源自动化测试解决方案,基于RobotFramework进行二次开发,支持RobotFramework几乎所有的库。

  三、API 自动化测试

  项目名称:Restful Api 集成测试工具 Hitchhiker

1-5.png

  项目简介:Hitchhiker 是一款开源的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起管理 Api。

  四、接口自动化测试

  1、项目名称:自动化测试平台 phoenixframework

1-4.png

  项目简介:phoenixframework 是一个自动化测试平台,集代码托管, 分机(node节点)管理,定时任务,分布式或并发等方式执行通过 phoenix_develop 模块调试好的用例。平台使用 SSH4 开发,覆盖了 webgui,接口,移动mobile 等终端的测试与监控。

  目前 webGUI 模块已经完成,兼容 chrome,Firefox,IE,httpunit 以及 phantomjs 驱动。

  2、项目名称:TCP/UDP 测试工具 SocketDebugger

  项目简介:SocketDebugger 是一款 TCP/UDP 测试工具,并且包括串口转发功能,以及自动回复功能。

  3、项目名称:HTTP 接口测试插件 ApiDebug

1-3.png

  项目简介:ApiDebug 是一个浏览器HTTP接口测试插件,可以用来测试 HTTP、HTTPS接口。支持POST、GET 等方式,同时也支持 json、xml 等自定义接口参数。系统支持保存历史记录,也可同步测试接口至 CrapApi 接口管理系统(登陆 http://api.crap.cn ,点击同步即可保存)。除接口测试外,系统还包含 json 格式化等小工具。 

  4、项目名称:基于 Java 的 Http 接口测试工具

1-2.png

  项目简介:JApiTest 是使用 java 开发的 Http 接口测试工具,以可视化形式通过配置 http 参数访问测试接口,并可对返回结果还有判断。

  五、数据库自动化测试

  项目名称:数据库单元测试框架 xlsunit。

  项目简介:面向数据库应用的单元测试框架,使用excel,作为输入,以及输出比较,适合大量数据库操作。

  如下情况可以使用 xlsunit:

  ·必须使用 Spring 或者 Spring Boot,因为会利用 Spring 单元测试事务回滚机制。

  · 面向数据库应用,特别是一个业务操作,有多个表的变化。

  · xlsunit 支持 Spring 4 以上,SpringBoot1.5 以上,支持 Oracle,MySql,Postgres 等数据库。

  六、数据调优测试

  影响系统性能和效率,数据库起到一个非常关键的作用,而SQL的优化又是成本最低的一种优化方式,所以我把这一项也列为测试人员需要关注的方面。

  项目名称:soar-web

1-1.png

  项目简介:基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具,支持 soar 配置的添加、修改、复制,多配置切换,配置的导出、导入与导入功能。目前只支持mysql。

  项目介绍:10月20日,在开源先锋日(OSCAR DAYS)上,小米将宣布开源自研的SOAR(SQL Optimizer And Rewriter)。

  这是一款智能 SQL 优化和改写工具,开发人员可以直接通过此工具快速的对自己的 SQL 进行质量检查,生成评估报告,防止将问题 SQL 带到线上从而导致服务质量下降。它不仅能够尽可能地提高线上代码质量,还能避免一些由于人为疏漏而带来的隐患。

   SOAR 由语法解析器、集成环境、优化建议、重写逻辑、工具集五大模块组成。它拥有独立的不依赖数据库的 SQL 解析能力,能够通过提供的集成环境对 SQL 本身及数据库环境进行评审,找出可能存在的隐患或问题。

  近年来,自动化测试越来越热门,该领域新的挑战和机遇也在同步产生,尤其是AI,RPA和机器学习,可以预见会在几年中快速增长。因此,考虑自动化的方式很有必要,今天为大家推荐9个开源的自动化测试框架,供小伙伴们参考。

  1、Carina

  Carina是基于Java的自动化测试框架,它不依靠特定的技术堆栈,因此测试人员智只能在iOS和Android之间重用测试自动化代码。

  它的重要功能有:能把所有测试层,包括移动端、Web应用程序、REST服务甚至数据库组合到同一应用程序;支持关系和分关系数据库;可以用FreeMarker模板引擎生成REST请求。

  2、Testproject.io

  Testproject.io适合不熟悉软件测试的自动化,并在寻求强大社区的免费平台的测试人员,它基于Selenium、Appium构建,允许测试人员用常用的自动化操作运行测试。

  它的重要功能有:支持与全球测试人员共享软件测试和API;有测试记录,全局自动化网格和自动化构件块在内功能;支持多种语言,包括Python、JavaScript、Java、C ++等。

  3、Gauge

  Gauge是近几年流行起来的测试自动化工具,轻量,能跨平台,基于插件体系结构,能与任何语言,IDE和生态系统一起使用。

  它的重要功能有:语法简单;设置简单,可使用单个命令启动并运行框架;通过多种扩展插件支持模块化架构;没有任何特定的结构,能用简单的Markdown创建文本文档。

  4、Selenium

  Selenium是优秀的Web应用程序开源自动化测试框架,在多个操作系统之间具有交叉兼容性,因此可用多种语言编写测试脚本。

  它的重要功能有:跨平台;操作系统和浏览器兼容;集成了多种API和编程语言;高度可定制;集成了工具Selenium IDE,可在不学习特定脚本的情况下进行测试。

  5、Katalon

  Katalon是操作简单的自动化测试框架,支持Web、移动和API自动化测试。

  它的重要功能有:多种脚本语言扩展支持;支持Jira实施;通过分析和记录Web操作并捕获关联的对象来自动生成测试脚本,流程自动化。

  6、Galen

  用Galen进行测试自动化工作,比较大的作用是改善用户体验,它专门针对UX测试,提供了用于测试、验证移动或Web应用程序布局的特定语法。

  它的重要功能有:能指定浏览器窗口的大小以对布局规范进行测试;能用Galen语法,JavaScript或Java编写测试文件;热图分析能生成详细的HTML报告。

  7、Serenity

  Serenity是基于Java的开源自动化测试框架,可帮助编写自动化的验收和回归测试,易于与行为驱动开发(BDD)集成的工具。

  它的重要功能有:能通过抽象样板代码促进编写BDD和Selenium测试;能在维持较低级别记录详细信息的同时,在较高级别上测试多个方案;带有预先构建功能,包括WebDriver管理,Jira集成,运行并行进程等。

  8、Appium

  Appium是一个基于WebDriver协议的开源自动化测试框架,用于测试移动应用程序,它允许使用相同的API为不同的平台编写测试。

  它的重要功能有:提供不同编程语言和框架;允许测试人员创建元素存储库并进行相应的管理;支持iOS,Android和Windows测试套件之间的可重用代码和测试。


作者:程序员小雷    

来源:http://www.51testing.com/html/94/n-7798894.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 测试用例示例笔试题:你用到的测试方法/测试策略有哪些?等价类划分边界值因果图场景法正交表确定边界值的方法()确定边界情况(输入或输出等价类的边界)选取正好等于、刚刚大于或刚刚小于边界值作为测试数据概念:因果图法比较适合输入条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出。因果图基本图形符号恒等:若原因出现,则结果出现;若原因不出现,则结果不出现。非(~):若原因出现,则结果不出现;若原因不出现,则结果出现。或(∨):若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现。与(∧):若几个原因都出现,结果才出现;若其中有一个原因不出现,则结果不...
            16 15 2632
            分享
          • 使用风险分析,确定测试的重点由于很少有机会对一个应用软件进行所有可能的测试 (包括所有可能的事件组合、所有的相关性、或者一切可能出错的东西),对大多数软件开发项目来说,利用风险分析是适当的。这需要判断技能、常识、感觉和经验。如果有正当理由,也可采用正式的方法。需要考虑下列因素:对于该项目的用途而言,哪种功能最重要?哪种功能对用户最明显?哪种功能对安全影响最大?哪种功能对用户最有用?对客户来说,该应用软件的哪个部分最重要?在开发过程中,该应用软件的哪个部分可以最先测试?哪一部分代码最复杂,容易导致出现错误?哪一部分的应用程序是在急迫或在惊恐的情况下开发出来的?哪一部分程序与过去项目中引起问题的部...
            0 0 1290
            分享
          •   关键要点  ·由于软件开发过程具有复杂性,所以它很难被理解。  ·正是这种复杂性,导致了许多来源不明的信条和直觉。  ·最近一项对软件开发过程的研究结果挑战了许多普遍持有的观点。  ·一些不太容易理解的研究结果揭示了开发过程中意想不到的力量。  ·在软件开发中,非技术因素对整个项目的影响往往胜过技术因素。  最近,我看到了一项关于项目中所使用的编程语言和代码质量相关性方面的研究。?我非常感兴趣,因为研究结果和我预想的截然相反。一方面,这项研究可能有缺陷,另一方面,许多在软件开发中已确立的实践和信念来源不明。我们遵守这些实践和信念是因为“每个人”都在这样做,或者它们被认为是最佳实践,或者它们...
            11 11 1786
            分享
          • 前言:本文主要针对http接口进行测试,使用Jmeter工具实现。Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接口的测试。一、开发接口测试案例的整体方案:第一步:我们要分析出测试需求,并拿到开发提供的接口说明文档;第二步:从接口说明文档中整理出接口测试案例,里面要包括详细的入参和出参数据以及明确的格式和检查点。第三步:和开发一起对接口测试案例进行评审。第四步:结合开发库,准备接口测试案例中的入参数据和出参数据,并整理成csv格式的文件。第五步:结合接口测试案例文档和csv格式的数据文档,做接口测试案例...
            14 15 2240
            分享
          • 一、uiautomatorviewer介绍uiautomatorviewer是androidSDK自带的一个元素定位工具。通过截屏并分析XML布局文件的方式,为用户提供控件信息查看服务。使用uiautomatorviewer,你可以检查一个应用的UI来查看应用的布局和组件以及相关的属性。该工具位于SDK目录下的tools\bin子目录下。二、启动uiautomatorviewer1、在SDK的安装目录下双击uiautomatorviewer.bat就可以启动2、也可以使用cmd命令进行启动,cd到tools目录下,然后输入uiautomatorviewer.bat回车后启动服务。启动界面如下:...
            0 0 1240
            分享
      • 51testing软件测试圈微信