在如今开源的时代, 我们就不要再闭门造车了, 热烈的拥抱开源吧! 本文针对性能测试, web UI 测试, API 测试, 数据库测试, 接口测试, 单元测试等方面, 为大家整理了 GitHub 或码云上优秀的自动化测试开源项目, 希望能给大家带来一点帮助.
一, 性能自动化测试
1, 项目名称: 基于 Jmeter 实现的在线压测平台和在线管理 Jmeter 脚本系统
项目简介:
本项目基于 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, 支持在线观测性能压测结果.
项目地址: https://gitee.com/smooth00/stressTestPlatform
2, 项目名称: 分布式压力测试工具 Beetle.DT
项目简介: 基于 .NET 实现的分布式压力测试工具, 用户可以根据需求编写相关的测试用例; 通过工具的管理界面即可以把测试用例推送到服务中心, 再根据实际压测的需求把测试用例分配到不同节点上运行. 工具会根据测试的情况实时获取测试结果, 测试完成后用户还可以查询具体的测试报告. 节点采用进程隔离的方式运行测试用例, 所以测试用例的运行都是相互独立.
项目地址: https://gitee.com/ikende/Beetle.DT
3, 项目名称: 基于 Go 的压力测试工具 armyant
项目简介: armyant 是从 http 压力测试工具 hey 改装而成. 不过, hey 只支持 http 接口的压力测试, 而 armant 可以自定义压测协议. 目前默认实现了 http,mqtt 两种协议的压力测试.
项目地址: https://gitee.com/plug/armyant
跟大家推荐一个学习资料分享群: 175317069, 里面大牛已经为我们整理好了许多的学习资料, 有自动化, 接口, 性能等等的学习资料!
二, Web UI 自动化测试
1, 项目名称: 自动化测试平台 LuckyFrame
项目简介: 本项目是一款免费开源的测试平台, 最大的特点是全纬度覆盖了接口自动化, Web UI 自动化, App 自动化, 并且支持分布式测试, 测试关键字驱动也很大程度上解决了测试同学代码基础弱的问题. 同时也集成了质量管理相关的一些功能, 解决 QA 的日常工作中, 项目过程数据的收集问题, 并能展示一些简单质量报表.
项目地址: https://gitee.com/seagull1985/LuckyFrameWeb
2, 项目名称: AutoLine 开源平台
项目简介: AutoLine 开源平台是一个开源自动化测试解决方案, 基于 RobotFramework 进行二次开发, 支持 RobotFramework 几乎所有的库.
项目地址: https://gitee.com/lym51/AutoLine
三, API 自动化测试
项目名称: Restful API 集成测试工具 Hitchhiker
项目简介: Hitchhiker 是一款开源的 Restful API 测试工具, 支持 Schedule, 数据对比, 压力测试, 支持上传脚本定制请求, 可以轻松部署到本地, 和你的 team 成员一起管理 API.
项目地址: https://gitee.com/iwxiaot/Hitchhiker
四, 接口自动化测试
1, 项目名称: 自动化测试平台 phoenixframework
项目简介: phoenixframework 是一个自动化测试平台, 集代码托管, 分机 (node 节点) 管理, 定时任务, 分布式或并发等方式执行通过 phoenix_develop 模块调试好的用例. 平台使用 SSH4 开发, 覆盖了 webgui, 接口, 移动 mobile 等终端的测试与监控.
目前 webGUI 模块已经完成, 兼容 Chrome,Firefox,IE,httpunit 以及 phantomjs 驱动.
项目地址: https://gitee.com/phoenixframework/phoenixframework
2, 项目名称: TCP/UDP 测试工具 SocketDebugger
项目简介: SocketDebugger 是一款 TCP/UDP 测试工具, 并且包括串口转发功能, 以及自动回复功能.
项目地址: https://gitee.com/hkiaipc/Socket-Debugger
3, 项目名称: HTTP 接口测试插件 ApiDebug
项目简介: ApiDebug 是一个浏览器 HTTP 接口测试插件, 可以用来测试 HTTP,HTTPS 接口. 支持 POST,GET 等方式, 同时也支持 JSON,xml 等自定义接口参数. 系统支持保存历史记录, 也可同步测试接口至 CrapApi 接口管理系统(登陆 http://api.crap.cn , 点击同步即可保存). 除接口测试外, 系统还包含 JSON 格式化等小工具.
项目地址: https://gitee.com/CrapApi/ApiDebug
3, 项目名称: 基于 Java 的 Http 接口测试工具
项目简介: JApiTest 是使用 java 开发的 Http 接口测试工具, 以可视化形式通过配置 http 参数访问测试接口, 并可对返回结果还有判断.
项目地址: https://gitee.com/penngo/JApiTest
五, 数据库自动化测试
项目名称: 数据库单元测试框架 xlsunit
项目简介: 面向数据库应用的单元测试框架, 使用 Excel, 作为输入, 以及输出比较, 适合大量数据库操作.
如下情况可以使用 xlsunit:
必须使用 Spring 或者 Spring Boot, 因为会利用 Spring 单元测试事务回滚机制.
面向数据库应用, 特别是一个业务操作, 有多个表的变化.
xlsunit 支持 Spring 4 以上, SpringBoot1.5 以上, 支持 Oracle,MySQL,Postgres 等数据库.
项目地址: https://gitee.com/xiandafu/xlsunit
六, 数据调优测试
影响系统性能和效率, 数据库起到一个非常关键的作用, 而 SQL 的优化又是成本最低的一种优化方式, 所以我把这一项也列为测试人员需要关注的方面.
项目名称: soar-Web
项目简介: 基于小米 soar 的开源 sql 分析与优化的 Web 图形化工具, 支持 soar 配置的添加, 修改, 复制, 多配置切换, 配置的导出, 导入与导入功能. 目前只支持 MySQL.
项目地址: https://github.com/xiyangxixian/soar-web
项目介绍: 10 月 20 日, 在开源先锋日 (OSCAR DAYS) 上, 小米将宣布开源自研的 SOAR(SQL Optimizer And Rewriter).
这是一款智能 SQL 优化和改写工具, 开发人员可以直接通过此工具快速的对自己的 SQL 进行质量检查, 生成评估报告, 防止将问题 SQL 带到线上从而导致服务质量下降. 它不仅能够尽可能地提高线上代码质量, 还能避免一些由于人为疏漏而带来的隐患.
SOAR 由语法解析器, 集成环境, 优化建议, 重写逻辑, 工具集五大模块组成. 它拥有独立的不依赖数据库的 SQL 解析能力, 能够通过提供的集成环境对 SQL 本身及数据库环境进行评审, 找出可能存在的隐患或问题.
来源: http://www.jianshu.com/p/d54839ea9f10