2023年,从0彻底打通自动化测试进阶高级岗,卷起来...

news2024/11/26 10:22:49

目录:导读

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


前言

1、自动化测试的分层

单元自动化测试(白盒测试)
概念:单元自动化测试是指对软件中的最小可测试单元进行检查和验证。
适合开发人员进行。

接口自动化测试(灰盒测试)
Web 应用的接口自动化测试大体分为两类:模块接口测试和协议接口测试。

模块接口测试:
概念:测试程序模块之间的调用与返回,主要是对一个可实现完整功能的类、方法或函数的调用的测试。
适合开发人员进行。

协议接口测试:
概念:测试对网络传输协议的调用,一般应用在前端和后端开发之间,以及不同项目之间。
开发人员和测试人员都可以进行。

UI 自动化测试(黑盒测试)
概念:通过模拟手动操作用户UI界面的方式,以代码方式实现自动操作和验证的一种自动化测试手段,可降低系统功能回归测试的成本。

2、适合自动化测试的项目

满足以下三点就可以对项目开展自动化测试。
软件需求变动不频繁;
项目周期较长;
自动化测试脚本可重复使用;

3、自动化测试学习框架

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

4、web测试环境搭建

安装Python
安装 Selenium

pip install selenium

浏览器驱动安装
获取自己浏览器的版本(chrome://settings/help);
通过https://npm.taobao.org/mirrors/chromedriver/ 获取对应的浏览器驱动;  
解压浏览器驱动文件,并将驱动文件复制到python的根目录(通过where python命令查看python安装根目录);

Selenium 自动化测试脚本示例:

# 导入selenium
from selenium import webdriver

# 实例化浏览器驱动对象
driver = webdriver.Chrome()
# 打开百度网站
driver.get("http://www.baidu.com")

# 退出浏览器驱动(释放系统资源)
driver.quit()

5、自动化测试模型

自动化测试模型可分为线性测试、模块化与类库、数据驱动测试和关键字驱动测试。

线性测试:
通过录制或编写对应用程序的操作步骤会产生相应的线性脚本,每个线性脚本相对立,且不产生依赖与调用。这是早期自动化测试的一种形式,即单纯地模拟用户完整的操作场景。

模块化与类库:
把重复的操作单独封装成公共模块。在测试用例执行过程中,当需要用到模块封装时对其进行调用,这样就最大限度地消除了重复,从而提高测试用例的可维护性。

数据驱动测试:
数据驱动测试的定义:数据的改变驱动自动化测试的执行,最终引起测试结果的改变。简单理解就是把数据驱动所需要的测试数据参数化,我们可以用多种方式来存储和管理这些参数化的数据。

关键字驱动测试:
关键字驱动测试又被称为表驱动测试或基于动作字测试。这类框架会把自动化操作封装为“关键字”,避免测试人员直接接触代码,多以“填表格”的形式降低脚本的编写难度。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有奋斗才能点亮人生的灯塔,只有拼搏才能书写辉煌的篇章,只有努力才能创造属于自己的奇迹!坚持不懈,勇往直前,追逐梦想的道路上,你将收获无尽的可能和无限的成就!

只有勇往直前,才能驶入成功的港湾;只有坚持不懈,才能攀登人生巅峰;只有敢于拼搏,才能书写辉煌的篇章。相信自己,奋斗不息,终将获得属于你的辉煌与成功!

生活从不亏待拼搏者,每一次努力都是给未来的自己注入力量,坚持奋斗,终将收获辉煌;只有敢于追逐梦想,才能让生命变得壮丽而有意义。相信自己,勇往直前!

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

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

相关文章

【设计模式】2、工厂方法模式

文章目录 当你在编写代码的过程中, 如果无法预知对象确切类别及其依赖关系时, 可使用工厂方法。 工厂方法将创建产品的代码与实际使用产品的代码分离, 从而能在不影响其他代码的情况下扩展产品创建部分代码。 例如, 如果需要向应…

Redis的五大数据类型和各自的

- 字符串(String) string 数据结构是简单的 key-value 类型。简单动态字符串**(simple dynamic string,SDS)。相比于 C 的原生字符串,Redis 的 SDS 不光可以保存文本数据还可以保存二进制数据,并且获取字符串长度复杂度…

手把手教你玩爆破 --- 关于暴力破解的一些故事

今天不是来打游戏的,我们的重点是了解一些针对web登陆界面的爆破手法。 就是在很多场合中上不了台面的一类攻击手法。简单的通过正常请求的发送,不断尝试用户名密码,最终登陆上去的方法。我们可以称之为爆破、穷举攻击。 1.概述 穷举就是枚…

OpenCv之图像金字塔

目录 一、图像金字塔介绍 二、高斯金字塔 三、拉普拉斯金字塔 一、图像金字塔介绍 图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。简单来说,图像金字塔是同一图像不同分辨率…

基于区块链技术的元宇宙游戏将成为时代浪潮的弄潮儿

区块链技术作为互联网新兴技术逐渐走进公众视野,其中心化、分布式、公开透明、不可篡改等技术特性使其可以在各个领域大展拳脚。区块链技术在金融、公益、文化、物流、农业等领域带来了全新的思维视角、全新的场景与全新的解决方案,无疑是移动互联网之后…

Spring Batch之读数据库—JdbcCursorItemReader之自定义PreparedStatementSetter(三十八)

一、自定义PreparedStatementSetter 详情参考我的另一篇博客: Spring Batch之读数据库——JdbcCursorItemReader(三十五)_人……杰的博客-CSDN博客 二、项目实例 1.项目实例 2.代码实现 BatchMain.java: package com.xj.dem…

推荐10款设计师都在用的3d机械工程软件

新产品和系统的研究和开发需要特定的软件。您必须能够设计建筑物、系统、机械和设备的蓝图和示意图。您还需要能够与其他工程师、绘图员和团队成员协作,同时有效且高效地工作。设计工程师的软件必须简化其流程,以避免妨碍他们的设计和开发工作。 好的工…

SpringBoot项目中WEB与Controller的联系--【SB系列之009】

SpringBoot系列文章目录 SpringBoot 的项目编译即报错处理–SB系列之001 —第一部的其它章节可以通过001链接 ———————————————— SpringBoot项目中WEB页面放哪里–【SB系列之008】SpringBoot项目中WEB与Controller的联系–【SB系列之009】SpringBoot项目中MVC…

喜报|英码科技联合广师大荣获“智芯杯”AI芯片应用创新创业大赛两大奖项

7月15日,由中国仪器仪表学会主办的全国首届“智芯杯”AI芯片应用创新创业大赛总决赛暨颁奖典礼圆满结束,英码科技联合广东技术师范大学设计开发的“AI视觉,让工厂建设更智慧”和“基于AI的智慧校园无感考勤系统”创新项目均荣获三等奖。 ​ 自…

曲师大2023大一新生排位赛-C.String题解

C.String 题目描述 众所周知,许师哥精通字符串。 一天,许师哥意外的获得了一个字符串,但他发现这个字符串并不是一个回文串,因此他非常生气。于是他决定从这个字符串中删除若干个字符使得 剩余的字符串为一个回文串。 回想回文串…

如何选购开放式耳机?开放式蓝牙耳机哪些品牌比较好?开放式耳机选购指南!

作为一个耳机爱好者,最近更是喜欢上了开放式蓝牙耳机,实际用过的起码有十几款,但其实最终能留下来的也只有四五款。由于前期并不知道应该如何选择开放式耳机,经常都会高价买到些质量差、音质也不好、漏音大的开放式耳机&#xff0…

SpringBatch从入门到实战(十一):事务控制

一:事务模型 Step之间事务独立。Step划分成多个Chunk执行,Chunk事务批次独立,互不影响。Chunk开始启动一个事务,Chunk结束时提交或者回滚事务。 二:事务回滚控制 默认情况下,无论是设置了重试retry&#…

实际上手体验maven面对冲突Jar包的加载规则 | 京东云技术团队

一、问题背景 相信大家在日常的开发过程中都遇到过Jar包冲突的问题,emm,在最近处理业务需求时我也遇到了不同版本jar包冲突导致项目加载出错的问题。主要是一个完整的项目会不可避免的使用第三方的Jar包来实现功能开发,各种第三方包之间可能…

低代码如何帮助企业数字化转型?

在数字化时代背景下,企业都面临着巨大的数字化转型挑战。为了迎接这一挑战,企业软件开发工具和平台都在不断地创新和进化。其中,低代码开发平台应运而生,并成为了众多企业转型的首选方案。企业为什么都选择低代码开发平台&#xf…

【机器学习】PyTorch手动实现Logistic算法

参考地址:点击打开 计算较为繁琐,需要用到sigmoid函数和梯度下降算法,步骤主要如下: 二项分布概率公式表示最大似然估计和对数化计算求道带入梯度下降算法计算和优化 代码: import numpy as np import matplotlib.p…

[CPU飙升排查]生产CPU飙升,YGC不断的事故

背景 最近给上线还未使用的服务配置监控,监控系统电话将我呼醒 ,导致原本就不多的头发一阵掉落. 还好系统还没有流量进入,先免打扰,第二天再处理. 查看面板情况如下: FGC正常 YGC不断 CPU飙升 思路确定 分析了下YGC不断,但是没有FGC,CPU飙升,可能出现的情况是哪里有活锁或者…

数据迁移卷不动了?Squids DBMotion新增多种数据库迁移能力

Squdis DBMotion新增了多种数据库的迁移能力:SQLServer to SQLServer、Redis to Redis、MySQL to Kafka,增加了列映射、校验任务独立、抽样校验、校验复检和限速等十多项功能。 本次版本更新,DBMotion新增了三种数据库迁移同步的场景。目前&…

el-table组件插槽“slot-scope”

目录 一、代码展示 二、返回的数组对象不含value或者ispass&#xff0c;不会报错 三、插槽里面放的是要手动输入的值时 一、代码展示 <el-table v-loading"loading" :data"checklistList" selection-change"handleSelectionChange"><…

轻松实现数据一体化:轻易云数据集成平台全解析

在当今快速发展的商业环境中&#xff0c;企业面临着大量来自多样数据源的数据。如何将这些数据进行高效集成和利用&#xff0c;成为企业数字化转型的关键挑战。轻易云数据集成平台提供了一个一站式的解决方案&#xff0c;帮助企业实现数据的无缝集成和高效利用。下面我们将通过…

Pandas Groupby:在Python中汇总、聚合和分组数据

GroupBy是一个非常简单的概念。我们可以创建一个类别分组&#xff0c;并对这些类别应用一个函数。这是一个简单的概念&#xff0c;但它是一种在数据科学中广泛使用的非常有价值的技术。在真实的的数据科学项目中&#xff0c;您将处理大量数据并一遍又一遍地尝试&#xff0c;因此…