全网最牛最全面的自动化平台从0到1地一步步搭建

news2024/11/18 18:32:47

来到新的公司有半年多了,由于业务和人员的极速扩张,整个局面处于百废待兴阶段,有太多方方面面的事情要做,前五个月基本上都是在给各式各样的需求进行支援,最近的两个月多月才比较固定做技术域的事情。

所在组主要是做一些平台和工具开发,以及一些专项测试,基本好多公司在做的我们也都在搭建,比如用例、造数、覆盖率等等平台&工具,以及移动、服务专项等,我是负责从0开始搭建的一个接口自动化平台需求,要得急第一个版本上线要求一周(摊手)。

上图给出了目前平台的整体功能的架构,最初的想法和搭建平台的目的在这里总结下,大概有以下几个方面:

背景原因: 质量部门按照业务域划分,一般都有来自原有团队现有框架,亦或新团队从以前公司带过来的框架,无法短时间再造迁移,也不太可能统一一种框架;

业务痛点: 测试结果没有数据库持久化,都是利用现有的工具包生成的静态文件报告,无法做统计相关分析和历史数据查询;

效率问题:自动化本身想要想要起作用,除了框架和代码的稳定高质量,还要做持续集成,分散在各小组基本只能做到jenkins定时调度,而且这部分都是一些重复性的工作。

主要是这三点,其实还有包括如运营推广、与其他平台打通等不利的多方面因素,基于上边这些,就诞生了这个自动化平台,其实严格来说算是一个主打报告功能,辅助执行等功能的这么一个平台。然后对于平台功能直接参考上图,短期内规划如此,暂不展开讲了。

接着来看下一个技术相关的图,它主要简单清晰的展示了已实现部分和未来涉及到技术内容,结果上报的部分最开始是通过提供一个开放API上报接口,让各个团队的自动化话框架自行改造,将每次本地或者Jenkins运行的测试结果上传给平台。

随着业务对接和功能的迭代,其实各团队虽然各框架结构实现方法各不相同,但运行方式总体就是JAVA TestNG 和 Python pytest 两种,个别使用了JUnit,而在JAVA自动化项目持续集成的方式都是maven命令行,Python项目就是py文件执行。所以在汇集结果上报数据的处理无外乎两种方式:

  • TestNG:使用自定义监听器,如继承ITestListener 和 IReporter

  • Pytest:使用Hook,比如利用pytest_runtest_makereport

这两个框架在自定义报告有很多可研究的地方,后边会搞个系列讲讲,这里仅做个抛砖引玉,既然各测试组都用相同的东西做相同的事情,并且有的组技术能力也有一定的壁垒,因此就有了为了解决这个痛点而出现的JAVA上报工具包和Pytest上报插件,通过简单的引用配置就能最小成本快速的上报。

再有另外一个核心的功能是平台支持了Jenkins无感知的配置和Pipeline调度,给出几张截图来看看初步成果。

图1: 操作新建绑定代码项目,后端会自动配置好Jenkins服务

图2: 进入绑定的项目配置对应的执行计划,TestNG为XML,Pytest为py文件。同时支持定时配置,飞书通知基本配置,另外在新建测试后就会自动进行调度执行,然后通过技术架构的三种方式把结果上报到平台,平台进行汇总统计。

图3: 调度执行完成后,从项目测试报告tab或者收到的通知简报上可以跳转到报告详情页,主要展示测试报告的详细信息,并且把错误的case优先分类展示,让其第一时间进行确认和处理。

平台还会持续迭代,从文章开始的产品架构图和技术架构已经展示了未来迭代的更多功能,当然规划还是在实际的落地和后续的使用反馈中不断调整变化,很应景我司的一个文化“拥抱变化”。

,之前一直想找个点,做个开源的项目,并且希望能有一定的使用价值,而不是为了开源而做再做一个类似接口web工具,这个报告平台和插件也许就是个不错的方向,可以在积累一段时间,踩过一些坑后对其重新梳理,把功能更通用需求方面整理,将平台和工具包一并分享出来。正好之前的《提测平台》系列也快接近尾声,要有新的系列继续,做个小调研,同时也希望大家可以加我微信入群或私信一同探讨,也可以未来参与共建。

【软件测试到测试开发全测试生涯学习路线】

以及全套配套的学习资料,视频教程....

:【以下路线图太详细了只能展开部分,具体的可以在文章末尾扫描小卡片备注000领取哦】

1:自动化测试进阶系列:

2:全栈性能测试,监控以及调优

3:全栈测试开发平台实战

4:全栈安全测试渗透测试

5:devops持续集成部署

6:全栈接口测试工具进阶

7:跨平台自动化测试工具

8:大厂简历,真题,录音

9:全栈系列课企业项目实战

总结:现阶段如何突出重围呢?唯有不断的学习,下面是软件测试到测试开发全职业生涯全套学习资料

【需要的可以点击下方官方推广小卡片扫码备注000免费领取】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/348555.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端学习第一阶段:第六章 HTML和CSS3

6-1 HTML5 01-HTML5CSS3提高导读 02-HTML5提高-新增语义化标签 03-HTML5-新增视频标签 04-HTML5新增音频标签 05-HTML5新增input表单 06-HTML5新增表单属性 6-2 CSS3 07-CSS3新增属性选择器(上) 08-CSS3新增属性选择器(下) 09-CSS…

C语言(指针,数组和函数)

目录 一.指针和数组 1.指向数组 2.数组下标和指针解引用的相等性 3.*和优先级问题 二..函数,数组和指针 1.声明数组形参 2.使用const保护地址数据 3.指针和多维数组 4.指向多维数组的指针 5.函数和多维数组 一.指针和数组 在前面的章节里面我们已经说过了…

Mr. Cappuccino的第39杯咖啡——Kubernetes之深入理解Pod

Kubernetes之深入理解PodPod相关概念Pod详细配置清单Pod核心配置Pod基本配置1. 创建yaml文件2. 创建namespace并根据yaml文件创建资源3. 查看namespace下的pod列表以及pod的详细信息Pod中多个容器的名称和端口号不能相同Pod镜像拉取策略Pod环境变量Pod端口相关设置Pod资源相关配…

echarts修改饼图,环形图的圆环宽度,大小

echarts修改环形图的圆环宽度&#xff0c;大小 环形图圆环的大小需要通过series-pie. radius属性来修改 radius 饼图的半径。 Array.<number|string>&#xff1a;数组的第一项是内半径&#xff0c;第二项是外半径。每一项遵从上述 number string 的描述。 把数组的第…

前端高频面试题—JavaScript篇(四)

&#x1f4bb; 前端高频面试题—JavaScript篇&#xff08;四&#xff09;&#x1f3e0;专栏&#xff1a;前端面试题 &#x1f440;个人主页&#xff1a;繁星学编程&#x1f341; &#x1f9d1;个人简介&#xff1a;一个不断提高自我的平凡人&#x1f680; &#x1f50a;分享方向…

150家半导体企业IPO最新进展(附企业名录)

前言 根据Omdia的数据显示&#xff0c;2022年全球在第一季度、第二季度、第三季度实现的半导体收入分别为1593亿美元、1581亿美元、1470亿美元&#xff0c;分别环比下降0.03%、1.9%、7.0%。 目前&#xff0c;半导体产业链经历了自2022上半年的欣欣向荣&#xff0c;到2022年下半…

万字长文掌握Python高并发

文章目录0 前言1 并发、并行、同步、异步、阻塞、非阻塞1.1 并发1.2 并行1.3 同步1.4 异步1.5 阻塞1.6 非阻塞2 多线程2.1 Python线程的创建方式2.1.1 方式一2.1.2 方式二 继承Thread2.1.3 通过线程池创建多线程2.2 聊聊GIL2.2.1 Python线程与操作系统线程的关系2.3 线程同步2.…

【CICD】Jenkins 部署 Docker 容器形态的后端服务

在实现 Jenkins 构建部署前端项目之后&#xff0c;逐渐对使用 Jenkins 部署后端服务有了一定兴趣&#xff1b;总体流程没有什么很大的变化&#xff0c;不过是后端服务需要以 Docker 的形式进行启动&#xff0c;在此记录一下具体过程&#xff08;部分过程与构建部署前端相同不做…

windows下载安装jdk1.8(jdk8)基础篇

一、前言 目前jdk最高升级到JDK19版本了&#xff0c;但是大部分应用系统都是用的1.8&#xff0c;对于初学者来说&#xff0c;也需要下载安装这个版本的jdk。 二、下载安装步骤 一、我已经下载下来&#xff0c;大家到【我的下载目录】下载&#xff0c;密码3360&#xff0c;分…

使用Benchto框架对Trino进行SQL性能对比测试

有时需要对魔改源码前后的不同版本Trino引擎进行性能对比测试&#xff0c;提前发现改造前后是否有性能变差或变好的现象&#xff0c;避免影响数据业务的日常查询任务性能。而Trino社区正好提供了一个性能测试对比框架&#xff1a;GitHub - trinodb/benchto: Framework for runn…

金额大写转换

金额大写转换&#xff08;C语言 &#xff09; 本人喜欢探索各种算法。见站内好多此类文章&#xff0c;有些很好&#xff0c;有些不完整。姑且也来凑下热闹。 金额大写应用在很多方面&#xff0c;如支票、发票、各种单据&#xff0c;各种财务凭证&#xff0c;合同文本金额部分。…

【逐步剖C】-第七章-数据的存储

一、数据类型介绍 1. C语言基本内置类型&#xff1a; char //字符数据类型 short //短整型 int //整形 long //长整型 long long //更长的整形 float //单精度浮点数 double //双精度浮点数2. 类型的基本归类 &#xff08;1&#xff09;整型&#xff1a; charunsign…

c语言指针

指针 指针是存放地址的变量&#xff0c;也可以说指针地址。 对于定义p&#xff08;这里的话&#xff0c;只是定义&#xff0c;说明p是指针&#xff09;&#xff0c;p作为一个指针去指向存放数据的位置&#xff0c;而p意思是取&#xff08;p指向的内存位置的数据&#xff09;&…

es启动,浏览器无法访问9200

通过brew成功启动es&#xff0c;但是访问http://localhost:9200/报错&#xff0c;连接被拒绝 %:brew services start elasticsearch-full> Successfully started elasticsearch-full (label: homebrew.mxcl.elasticsearc可能原因如下&#xff1a; 1、安装java 要先安装ja…

聊聊async/await原理

前言 我们知道Promise的出现极大地解决了回调地狱&#xff0c;但是如果使用流程非常复杂的话&#xff0c;就非常容易过多地调用Promise的then()方法&#xff0c;这样也不利于使用和阅读。 例如&#xff1a;我希望在请求 www.baidu.com 后输出请求的结果&#xff0c;再去请求 …

【基于腾讯云的远程机械臂小车】

1. 项目来源 项目源码地址&#xff1a;https://gitcode.net/VOR234/robot_arm_car/-/blob/master/TencentOS-tiny123.zip https://gitee.com/vor2345/robot_arm_car 程序分别 视频演示&#xff1a;https://www.bilibili.com/video/BV15M4y1D7MD/?vd_source530bf85167de80ff…

46.在ROS中实现global planner(2)

前文实现了一个global planner的模板&#xff0c;并且可以工作&#xff0c;本文将实现astar算法&#xff0c;为后续完成一个astar global planner做准备 1. AStar简介 1.1 AStar Astar算法是一种图形搜索算法,常用于寻路。Astar算法原理网上可以找到很多&#xff0c;简单的说…

企业/品牌新闻稿怎么写?

撰写出优质的企业/品牌新闻稿对于任何一个希望通过新闻媒体推广自己品牌的公司来说都是十分重要的。在新闻稿中&#xff0c;您可以通过介绍自己的公司&#xff0c;披露最新的产品和服务信息以及宣传最新的成就来吸引媒体和读者的关注。下面是一些关于如何撰写出优质的企业/品牌…

【工具篇】Firmwalker车联网实用小工具介绍

前言 firmwalker这个小工具在工作中也一直在用&#xff0c;正好领导说要写一篇这个工具的分析说明文章&#xff0c;经过询问可以发表博客。由于一直在用&#xff0c;所以末尾优劣势部分存在一些主观想法。 编写不易&#xff0c;如果能够帮助到你&#xff0c;希望能够点赞收藏加…

SpringCloud, SpringCloud-Alibaba,Nacos概述

目录 SpingCloud概述 1.SpringCloud是什么? 2.SpringCloud和SpringBoot的关系 3.SpringCloud-Alibaba概述 3.1.Netflix公司项目进入维护模式 3.2.Spring Cloud Alibaba是什么&#xff1f; 3.3.Spring Boot和Spring Cloud的版本号说明 3.Nacos总结 SpingCloud概述 1.Spri…