这才是自动化测试,资深测试构建持续交付体系(高质量)持续集成...

news2024/11/18 6:00:44

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

软件测试-自动化测试

Python自动化测试:https://www.bilibili.com/video/BV16G411x76E/

无论是保障质量,还是提升效率,都需要某些持续的能力来支撑他们。

这种支撑能力,可以看作是一种工厂化的流水线能力,业内通常将其统称为持续交付。

从质量保障的角度总体来说,可以将其分为:CI持续迭代-CI持续集成-CD持续发布-CO持续运营-CM持续度量。

持续迭代
技术是什么呢?技术是工具,技术服务于架构设计,架构设计服务于产品,产品服务于业务,业务服务于商业。

这里的持续迭代,更多指的是业务或者需求上的一种可持续的变化,通过需求不断变化来驱动,持续迭代软件产品,为用户提供更好的服务,达成商业价值变现。

持续集成
持续集成可以帮助技术团队更加频繁的将代码更改合并到共享分支或"主干"中。

一旦对应用所做的更改被合并,系统就会通过自动构建应用并运行不同级别的自动化测试(通常是单元测试和集成测试)来验证这些更改,确保这些更改没有对应用造成破坏。

如果自动化测试发现新代码和现有代码之间存在冲突,CI 可以加快修复这些错误的过程。

持续发布
这里的持续发布包括持续交付和持续部署。

完成 CI 中构建及自动化的测试流程后,持续交付可自动将测试通过的代码发布到存储库。持续交付的目标是拥有一个可随时部署到生产环境的代码库。

在持续交付中,每个阶段都涉及测试自动化和代码发布自动化。在流程结束时可以快速的将应用部署到生产环境中。

对于一个成熟的 CI/CD 管道来说,最后的阶段是持续部署。作为持续交付的延伸,持续部署可以自动将应用发布到生产环境,持续部署在很大程度上都得依赖精心设计的测试自动化。

持续部署意味着开发人员对应用的更改在编写后的几分钟内就能生效(假设它通过了自动化测试)。这更加便于持续接收和整合用户反馈。

所有这些 CI/CD 的关联步骤都有助于降低应用的部署风险,因此更便于以更快的节奏发布对应用的更改。

不过,由于还需要编写自动化测试以适应 CI/CD 管道中的各种测试和发布阶段,因此前期建设需要很大的资源投入。

持续运营
应用在生产环境发布后,需要持续的跟踪线上质量、用户反馈建议以及线上可能发生的一些问题或者故障。

所有线上的用户建议、可能发生的问题或者故障,其实从本质来说,和交付质量都息息相关。

因此这里提出了持续运营,就是提倡质量的把控、验证、度量即使到了生产环境,也需要持续不断的将这套机制运行下去。

持续度量
脱离数据讲质量是空中楼阁,从需求质量到交付质量整个周期中,将每个阶段的要做的事情,出现的问题,发生的风险以及结果都进行可量化的记录展示,然后从中进行分析评估,找到不足之处。这就是持续度量,需要持续的投入。

持续交付优势
尽快暴露问题;极大提升效率;提升交付质量;降低项目成本;

持续交付体系工具

工具名称工具作用
Git、SVN、GitLab、Coding统一的源代码管理工具
testNg、pytest、Requests、selenium单元/接口/UI自动化测试工具
Jenkins、Go CD、Travis CI、Pipelines持续集成和持续部署工具

持续交付的前提是整个研发测试发布流程要做到高度自动化。

要实现持续交付,项目一般需要满足这些条件:
代码构建的过程可以反复高频进行,且每次构建结果是一致稳定的;
所有环境配置信息都存于源代码管理工具中(现在有了专门的配置中心组件如Nacos/Apollo);
针对不同环境需要部署的代码包,需要自动编译和创建不同版本;
所有环境的构建编译部署发布步骤必须是自动化完成;

DevOps和持续交付的关系

持续交付要求代码可以反复高频的构建编译,代码包的测试部署发布需要自动化来完成,但传统的研发交付流程已经渐渐不适应当下的业务变化,因此才有了近几年的DevOps,甚至万物皆可Ops。

其实DevOps并不是一种岗位,可以理解为一种紧密协作的高效工作方式。无论是DevOps,还是所谓的TestOps,其实都指的是开发/测试和运维同学一起通过高效协作的方式来更快的构建、测试和发布软件。

DevOps的优势

以DevOps为例,当团队采取这种工作协作方式后,带来的好处如下:
软件的构建测试和发布过程高度自动化;
信息更加透明,交付质量更易于度量评估;
跨团队和跨职能协作的效率和氛围会更好;
要实践DevOps,意味着团队需要去做这些事:

构建自动化流水线系统,从构建测试到部署实现高度自动化;
建立完善精确的监控体系,尽力让信息变透明,数据可度量;
建立跨团队跨职能的沟通协作机制,形成团队的流程和文化;

DevOps工程师要做的事情
帮助团队建立持续交付工作流程和工具;
建立一套完善的监控报警系统和故障响应流程;
构建适用于团队研发交付流程的基础技术设施;
推动DevOps流程和文化在团队落地;

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

生活中充满了各种机遇和挑战,只有敢于迎接挑战,勇于创新和探索,才能不断提升自己的能力和素质。坚定信念,砥砺前行,不断奋斗,让自己成为更加出色的人!

成功需要不断地努力和付出,只有坚持不懈、持之以恒,才能够获得成功的喜悦。在追求梦想的路上,保持热情,不畏挫折,用行动证明自己的价值,成就更加美好的明天!

人生的路途上充满了各种机会和挑战,只有勇于迎接挑战,敢于创新和探索,才能够实现自己的梦想和目标。坚定信念,保持热情,踏实前行,让努力成为一种习惯,成就更加辉煌的未来!

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

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

相关文章

OptimizePI仿真流程

OptimizePI软件介绍 OptimizePI是用于针对PI设计进行优化的一个设计流程,可以针对PDN的设计进行仿真计算,主要功能包括以下几个: PDN前仿真分析PDN后仿真分析PDN阻抗检查去耦电容的回路电感分析芯片的电源管脚的电感分析去耦电容最佳位置评…

一文参透AB斗篷的前世今生

做FP独立站的应该都对cloak斗篷不陌生,cloak已经成为出海营销行业的必备工具之一。尽管使用cloak并不能保证一定有效,但不使用cloak却也是不可行的。今天本文将详细讲解cloak系统的“前世今生”,以便让大家更好地了解cloak系统并能挑选到最适…

【中间件】通过 docker-compose 快速部署 Zookeeper 保姆级教程

文章目录 一、概述二、前期准备1)部署 docker2)部署 docker-compose 三、创建网络四、Zookeeper 编排部署1)下载 Zookeeper2)配置3)启动脚本 bootstrap.sh4)构建镜像 Dockerfile5)编排 docker-c…

如何使用ChatGpt来学习和提问【对话ChatGPT】?

ChatGPT的不断发展和进步,我们需要工作中很多时候会用到ChatGPT,那么如何使用ChatGPT来解决我们工作中的问题呢? Q1如何向ChatGPT提问,从而更快解决我们的问题? ChatGPT:以下是向ChatGPT提问的一些提示&a…

CISSP和Security+的区别和学习建议

当谈到网络安全认证时,经常有朋友问我CISSP 与 Security认证。两者都是业内比较认可,对实际工作有所帮助的认证,但是哪一个适合自己呢,区别又是什么呢? 在深入研究细节之前,让我们先简要了解一下 CISSP 与 …

深度学习之自编码器实现——实现图像去噪

大家好,我是带我去滑雪! 自编码器是一种无监督学习的神经网络,是一种数据压缩算法,主要用于数据降维和特征提取。它的基本思想是将输入数据经过一个编码器映射到隐藏层,再通过一个解码器映射到输出层,使得输…

数字宁夏“1244+N”行动进行时,实在智能以AI为宁夏全区县数字化转型加“数”度

建设数字中国是数字时代推进中国式现代化的重要引擎,是构筑国家竞争新优势的有力支撑。现如今,政府部门发展数字经济已然成为新科技浪潮下的战略选择。可以预见,在数字化浪潮的推动下,中国经济将迎来新的高峰。 近日,宁…

English Learning - L3 作业打卡 Lesson2 Day13 2023.5.17 周三

English Learning - L3 作业打卡 Lesson2 Day13 2023.5.17 周三 引言🍉句1: A blacklist is illegal now.成分划分弱读爆破语调 🍉句2: But at one time, some businesses refused to employ people who were on a blacklist for belonging to unpopular…

【正点原子STM32连载】 第十一章 STM32时钟配置 摘自【正点原子】STM32F103 战舰开发指南V1.2

1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id609294757420 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第十一…

log4net在Asp.net MVC4中的使用

1、安装log4net插件 新建Asp.net MVC4项目&#xff0c;并在Nuget控制台输入命令&#xff0c;或者直接搜索log4net在线安装&#xff0c;安装log4net >Install-Package log4net -Version 2.0.15 2、配置web.config文件 <?xml version"1.0" encoding"ut…

小试牛刀:应用深度强化学习优化文本摘要思路及在裁判文书摘要上的实践效果

一、引言 近期&#xff0c;随着大模型的出现&#xff0c;强化学习再一次的引起了本人的兴趣&#xff0c;本文将应用深度强化学习来优化文本摘要模型&#xff0c;使生成的摘要更加的流畅。在此之前&#xff0c;大家都采用了很多种方式训练摘要系统&#xff0c;例如&#xff1a;…

MySQL的主从实战

MySQL的主从实战 1、Mysql主从的必要性 访问量不断增减&#xff0c;Mysql服务器的压力增大&#xff1b;就需要对Mysql进行优化与改造&#xff1b; 实现Mysql的高可用MySQL的主从复制搭建 主从搭建的目的就是实现数据库冗余备份同步主服务器和Slave服务器&#xff0c;一旦Mas…

Vivado综合属性系列之七 DONT TOUCH

目录 一、前言 二、DONT TOUCH ​ ​2.1 属性说明 ​ ​2.2 属性用法 ​ ​2.3 工程代码 ​ ​2.4 参考资料 一、前言 ​ ​设计中经常会遇到一些信号&#xff0c;模块等被综合工具优化&#xff0c;而实际这些部分确是我们所需要的&#xff0c;针对这种情况&a…

哨兵机制原理详解

文章目录 初始化 Sentinel三个定时任务&#xff08;重要&#xff09;INFO任务订阅/发布任务心跳任务 Redis节点下线判断主观下线判断客观下线判断 Sentinel Leader 选举故障转移过程整体过程Master 选择算法修改从服务器的复制目标将旧的主服务器变为从服务器 节点上线原Redis节…

如何用Nginx实现对国家/城市以及指定IP的访问限制?

1.前言 在【如何用Nginx代理MySQL连接&#xff0c;并限制可访问IP】一文中&#xff0c;我们实现了通过Nginx代理MySQL连接&#xff0c;并限制了指定IP才能通过Nginx进行连接&#xff0c;以提高数据安全性。 该场景适用于根据具体的IP地址来进行访问限制&#xff0c;假如我们要…

synchronized优化原理

文章目录 一、Monitor1.1 Monitor结构 二、轻量级锁三、锁膨胀四、自旋优化五、偏向锁 一、Monitor Monitor的工作原理也是synchronized底层原理 每个Java对象都可以关联一个Monitor对象&#xff0c;如果使用synchronized给对象上锁之后&#xff0c;该对象头的MarkWord中就被设…

怎样从“点点点”进阶到自动化测试?

为什么要学习自动化测试 在讨论这个问题之前&#xff0c;先来聊一下测试人员的职业发展路线&#xff0c;无非就是两条&#xff0c;技术路线和管理路线&#xff0c;技术路线一般就是功能测试&#xff08;60%&#xff09;-->自动化测试&#xff08;25%&#xff09;-->测试…

fio引发的一些问题

fio引发的一些问题 奇怪的255扇区在nvme驱动中插入打印语句直接编译模块加载源码编译内核 查找内核源码 奇怪的255扇区 由于块设备驱动项目需要测试读写速度&#xff0c;故使用fio工具&#xff0c;没想着深入了解&#xff0c;简单测个速就可以 使用tldr命令得到测试磁盘读写的…

linux内核篇-文件系统(硬盘、虚拟文件系统、文件缓存)

文件系统的意义 之前说的都是在进程在物理内存保存的数据&#xff0c;内存就像一个纸箱子&#xff0c;仅仅是一个暂存数据的地方&#xff0c;而且空间有限。如果我们想要进程结束之后&#xff0c;数据依然能够保存下来&#xff0c;就不能只保存在内存里&#xff0c;而是应该保存…

Nacos-04-@RefreshScope自动刷新原理

Nacos动态刷新原理 Nacos做配置中心的时候&#xff0c;配置数据的交互模式是有服务端push推送的&#xff0c;还是客户端pull拉取的&#xff1f; 短轮询 不管服务端的配置是否发生变化&#xff0c;不停发起请求去获取配置&#xff0c;比如支付订单场景中前端JS不断轮询订单支…