怎么做自动化测试?8年测试老鸟自动化测试总结,史上最全...

news2024/10/2 12:16:54

目录:导读

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


前言

1、为什么做自动化测试

减少测试工作,更快,更经济地验证软件质量。以更少的工作量构建质量更好的软件。

2、加入有自动化测试的团队,你如何入手?

熟悉现有测试框架;
了解核心的测试任务;
基于工作内容和需要,结合框架实现产出;

3、如何从零搭建测试框架

了解当前公司的具体情况和需求;
根据当前情况选择合适的系统搭建demo;
运行demo,开始产出;
优化与调整,形成稳定的测试框架;
分享并推广框架;
结合实际的推广过程中的应用,不断优化;

4、自动化测试需要学习的技术

自动化测试框架:selenium,appium,requests;
设计模式:关键字驱动模式,POM模式;
数据驱动测试(DDT:data driver test);
数据驱动:将测试过程中的所有数据进行提取,保存,管理,提升框架的稳定性
数据驱动的本质是文件【Excel,Yaml,Json,Py文件】

测试用例管理框架:unittest,pytest;
试报告输出:HtmlTestRunner,Allure;
配置管理:日志(Logging,loguru),代码管理(Git,SVN),持续集成(Jenkins)、环境(OS,DB,Server)。

优化:测试用例的并发:如何多任务并发处理,异步实现用例的读取与执行。
如对测试框架进行分布式设计,比如主从高可用,及多节点下通过路由下发测试任务,由子节点执行测试用例,最终将测试结果集成到主节点。

5、如何开展自动化测试工作

根据产品的业务特性整理出来可以做自动化的一个功能模块;
根据优先级及人员现状来指定自动化测试计划;
从功能用例当中挑选合适的用例来转成自动化用例;
根据业务背静和当前人员现状进行测试框架的选型;
自动化测试的脚本开发;
根据项目来制定自动化的执行方案;
测试报告工作的分析,以及自动化测试成果的汇报,跟进和后期维护;

6、APPUI与WebUI的自动化框架介绍POM

自动化测试框架的设计模式一般有关键字驱动和POM模型。

POM(Page Object Module)自动化测试框架
页面对象模型,在web和APPUI中最核心的一种测试框架,业界公认的最佳模型。
业界自动化测试的发展:从 行为驱动 -> 页面驱动

POM流程
将流程所关联的页面作为对象,将对象串联起来,形成一个个不同的流程,每一个不同的行为对应每一个页面。

POM的实现-分层处理
结构设计:
逻辑代码:实现所有的工具函数封装,类似于关键字驱动设计模型。【基类】
页面对象:基于系统页面,生成对应的页面对象,通过调用工具函数实现业务的操作。【页面对象类】
测试代码:基于测试需要,组建页面对象,实现核心流程的自动化测试用例执行。【测试用例】
测试数据:响应测试数据的准备,Excel,Yaml,Json,CVS,Py文件

提取系统页面;
基于结构设计与页面的业务需要实现编码;

7、结合POM搭建完整的测试框架

POM体系+日志+配置管理+测试报告+持续集成+邮件

8、配套自动化测试框架

接口自动化测试方向:Python+requests+pytest+yaml+alluer+Jenkins;
web自动化测试方向:Python+selenium4+pytest+POM+allure+Jenkins;
app自动化测试方向:Python+appium+POM+pytest+allure+Jenkins;

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

心怀梦想,跨越边界,奋斗是追求卓越的征程。不畏艰难,勇往直前,唯有拼搏才能绽放人生的辉煌。相信自己,坚持追逐,书写属于自己的传世之作!奋发向前,创造非凡,在拼搏中绽放属于你的光芒!

梦想燃起,追求卓越,奋斗是创造辉煌的征途。战胜困难,超越极限,唯有拼搏才能绽放人生的壮丽。坚持信念,勇往直前,谱写属于自己的传世之歌!不止步,冲破天际,在奋斗中绽放无尽的光芒!

脚步坚定,心永不懈,奋斗是追寻梦想的征程。砥砺前行,无畏挑战,只有拼搏才能绽放人生的辉煌。相信自己,勇敢闯荡,书写属于自己的精彩传奇!

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

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

相关文章

AutoML工具-AutoGluon

1、简介 AutoGluon是AutoML的自动化工具,涉及方面有图像、文本、时间序列和表格式数据。 2、入门 2.1 安装 pip install autogluon 2.2 使用 (1)Tabular(解释是表格式数据,不知道对不对) 两个函数Ta…

Vue使用QuillEditor富文本编辑器问题记录

1.内容绑定的问题 绑定内容要使用 v-model:content"xxx" 的形式。 2.设置字体字号 字体以及字号大小的设置需要先注册。 <script> import { QuillEditor,Quill } from vueup/vue-quill import vueup/vue-quill/dist/vue-quill.snow.css; // 设置字体大小 c…

认识聚类算法【机器学习必学】

什么是聚类算法? 聚类算法是一种典型的无监督学习算法&#xff0c;主要用于将相似的样本自动归到一个类别中。 在聚类算法中根据样本之间的相似性&#xff0c;将样本划分到不同的类别中&#xff0c;对于不同的相似度计算方法&#xff0c;会得到不同的聚类结果&#xff0c;常…

为代码生成一个良好可读的API文档-Doxygen简单实战

需求&#xff1f;为什么要有API文档 在代码开发过程中&#xff0c;我们会发现有这样的情况&#xff0c;其他团队的代码和自己团队的代码相异甚大&#xff0c;如果没有一个统一规范的文档来对接&#xff0c;会造成很多交流沟通上的不便&#xff0c;但我们又不想浪费时间去边写说…

探索产品项目管理软件的种类及功能

随着科技的不断发展&#xff0c;越来越多的企业开始重视产品项目管理的重要性。产品项目管理软件作为一种有效的工具&#xff0c;可以帮助企业更好地规划、执行和控制项目&#xff0c;提高项目的成功率。本文将分为两部分&#xff0c;分别介绍产品项目管理软件的功能以及一些知…

微信认证申请流程(其他组织)

第一步&#xff1a;登录微信公众平台->设置->微信认证->开通 第二步&#xff1a;同意协议&#xff1a;签署《微信公众平台认证服务协议》 第三步&#xff1a;验证管理员 第三步&#xff1a;选择认证类型及填写认证资料 选择认证类型及上传申请公函 其他组织资质信息 …

制作分班查询系统必备软件,轻松解决分班查询烦恼

常用的分班查询系统制作工具有以下几种&#xff1a; 1. 编程语言和框架&#xff1a;使用编程语言和相关的框架&#xff0c;如Java、Python、PHP等&#xff0c;可以自行开发分班查询系统。这种方式可以根据学校的具体需求进行定制开发&#xff0c;灵活性较高。 2. 数据库管理系…

管理类联考——逻辑——形式逻辑——汇总篇——专业术语

专业术语 专业术语 日常描述 符号化 符号表达 表达含义 常见标志词充分条件假言判断如果P&#xff0c;那么Q→P→Q如果P为真&#xff0c;则Q一定为真&#xff1b;如果Q为假&#xff0c;那么P一定为假。也就是P→Q和┐Q→┐P一定为真。如果P&#xff0c;那么Q&#xff1b;只要P&…

51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验三 LED流水灯

目录 前言 一、原理图及知识点介绍 二、代码分析 知识点五&#xff1a;#include 中的库函数解析 _crol_&#xff0c;_irol_&#xff0c;_lrol_ _cror_&#xff0c;_iror_&#xff0c;_lror_ _nop_ _testbit_ 前言 第一个实验:51单片机&#xff08;普中HC6800-EM3 V3.0…

OpenLayers入门,OpenLayers使用fetch加载并显示TopoJson格式区划边界数据并叠加文字标注,动态创建要素样式

专栏目录: OpenLayers入门教程汇总目录 前言 上一章中已经说明了TopoJson格式数据,《OpenLayers入门,OpenLayers加载TopoJson数据,使用行政区划边界作为示例》,大家应该都已经有所了解。 本章在上一章基础上改用fetch加载TopoJson格式数据,并手动解析数据为Feature要素…

学习单片机的秘诀:实践与坚持

在学习单片机时&#xff0c;将实践与学习结合起来是一个很好的方法。不要一上来就死磕指令和名词&#xff0c;而是边学边做实验&#xff0c;循序渐进地理解和应用指令。通过实验&#xff0c;你能亲身感受到指令的控制效果&#xff0c;增强对单片机的理解和兴趣。 学习单片机不…

LeetCode344.反转字符串

344.反转字符串 题目描述 解题思路 这是字符串专题的第一题 在之前反转链表的题目中&#xff0c;我们使用了双指针法来进行反转链表 这道题同样的&#xff0c;也使用双指针&#xff0c;对于字符串的反转&#xff0c;比链表更为简单 因为字符串本质上是一种数组&#xff0c…

Paleobotany——北美中生代-新生代化石植物总目(Paleobotanical card search)

北美中生代-新生代化石植物总目&#xff08;Paleobotanical card search&#xff09; 总览1. 介绍2. 历史3. 内容 用户手册&#xff08;卡片内容解读&#xff09;示例卡片组成CIC编号的详细解读年代编码解读 卡片检索 总览 了解学习使用由耶鲁皮博迪自然历史博物馆&#xff08…

印度想建设6G强国,是梦想还是幻想?

拥有14亿人口的印度&#xff0c;也是一个充满梦想与野心的国家&#xff0c;印度一直在努力追赶科技的发展&#xff0c;尤其是通信领域。印度目标是在2030年成为6G强国&#xff0c;然而其计划与现实之间还存在着巨大的鸿沟。 本报告分别从印度互联网普及率、城乡差异、用户性别、…

MySql006——检索数据:基础select语句

在《MySql003——结构化查询语言SQL基础知识》中&#xff0c;我们学习了有关SQL的基础知识&#xff0c;也知道SQL中查询语句select使用最为频繁。 它的用途是从一个或多个表中检索信息。为了使用SELECT检索表数据&#xff0c;必须至少给出两条信息——想选择什么&#xff0c;以…

AOP获取切点表达式中注解的属性

文章目录 1、获取Cacheable注解的属性2、获取自定义注解的属性 1、获取Cacheable注解的属性 有个小需求&#xff0c;要在日志中打印支持redis缓存的方法的相关信息&#xff0c;这里切点表达式动词用annotation&#xff0c;后面跟Cacheable注解 Component Aspect Slf4j public…

Vue2+TS封装一个可全局拖拽的弹窗组件

Vue2TS封装一个可全局拖拽的弹窗组件 ant组件的弹窗组件不支持拖拽&#xff0c;就很难受 项目里刚好有这个需求&#xff0c;就自己封装了一个 效果图&#xff1a; vue部分: <template><div class"image-standard-modal":style"{ top: top px, left…

Unity面试题:热更新篇

请简要介绍Unity热更新的原理和实现方式。 答&#xff1a;Unity热更新的原理是通过将游戏的资源和代码分离&#xff0c;将代码部分放置在服务器端&#xff0c;游戏启动时通过网络下载更新的代码并动态加载&#xff0c;以达到实现热更新的目的。实现方式包括AssetBundle、ILRunt…

【ArcGIS Pro二次开发】(57):地图系列

在ArcGIS Pro中&#xff0c;有一个地图系列&#xff0c;可以在一个布局中导出多个地图。 在SDK中为ArcGIS.Desktop.layout.MapSeries类和映射系列导出选项&#xff0c;可以以支持多页导出。 MapSeries类提供了一个静态CreateSpatialMapSeries方法&#xff0c;该方法使用指定的…

你是否好奇交流充电桩主板的安装维度?

你是否好奇交流充电桩主板的安装维度?安装环境、要求和方式&#xff0c;将影响充电桩的可靠性和安全性。 交流充电桩主板的安装环境至关重要&#xff0c;设备需要安装在室外&#xff0c;因此应选择防水、防火、耐候、耐腐蚀的材料。同时&#xff0c;安装要求具有良好的接地&am…