全网最详细,自动化测试与自动化框架总结,你不知道的都在这了...

news2024/11/24 10:31:53

目录:导读

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


前言

单元测试框架

单元测试指的是对软件最小单元 (方法、函数、类等)进行测试。

常用的单元测试框架:
Java:Junit、TestNg
Python:Unittest、Pytest

而在自动化测试中,一个用例就一个方法,所以在自动化测试中也同样适用单元测试框架。

单元测试框架的作用?

组织并执行测试用例:
根据实际的测试需要,从大量测试用例中,选择出合适的用例批量执行,如:冒烟测试用例集、回归测试用例集等

测试判断:
任何测试都需要对实际结果和预期结果进行判断单元测试框架都提供了丰富的断言方法

测试报告:
记录测试的结果:测试用例通过率、执行时间、失败用例详情等

自动化测试框架

自动化测试是让代码来执行测试,要顺利实施自动化测试,要尽量减少人工的干预、减少脚本开发的成本和维护成本,提高测试的效率。

一个好的测试框架,是让不懂代码的人也能够通过这个框架去实现自动化测试。

自动化测试框架和单元测试框架的关系

自动化测试框架中会使用到单元测试框架,一个完整的自动化测试框架,需要借助很多其它工具来达成自己的目标(降低脚本开发成本、易于维护管理、提升测试效率等等)。

比如:
selenium:实现对浏览器的操作等
pytest/unittest:组织用例的批量执行等
PO设计模式:提升脚本编提升代码的重用性,写和维护的效率
数据驱动:实现数据和代码分离
关键字驱动:数据驱动的升级,降低了自动化脚本的开发成本和难度
此外还有日志、配置文件等等

自动化优势
可重复性;
可程序化:可以进行编程、对格式进行规范标准;
可靠:没有情绪化、稳定;
提高测试精确度;
提升测试资源的利用率:人力资源、时间资源等;

手工测试和自动化测试的区别
手工测试发现的缺陷多:因为人是有智慧的,可以自觉判断更多的问题和现象,找出更多的缺陷;
手工测试的质量更高:因为手工测试可以发现更多计划外的缺陷;
自动化测试与开发更贴近:因为自动化测试需要编写程序代码;
两者各自的局限性:手工测试相比较而言工作效率低、容易情绪化导致工作内容不稳定;自动化测则不能像人一样思考;

自动化测试软件件分类
功能测试:
UFT:界面层 、 付费
selenium:免费、写代码 web自动化、安装包小

性能测试:
loadrunner:收费、功能强大、50%使用率
rational robot
jmeter

测试管理工具:
禅道& jira:成本高
接口测试工具:postman
自主研发的工具:满足业务需求、针对性强
开源测试工具:费用低、灵活、易用性差
商业工具:功能强大、易用性好、价格贵、交互界面考虑全面

自动化工作流程
自动化测试决定–>测试工具获取–>自动化测试引入–>测试计划设计与开发(脚本)(最重要)–>测试执行与管理(最麻烦)–>测试评审和评估

自动化测试考虑的因素
项目的影响:自动化测试对项目的精度、覆盖率风险有积极作用,让开发更敏捷
复杂度:自动化是否容易实现,包括数据和其他环境的影响
时间:自动化测试的实现需要多长时间
需求:早期需求和代码的稳定
工作量:代码是否相对稳定、功能特性是否会进化
覆盖率:能不能覆盖程序的关键特性和功能
资源:测试人力资源、硬件资源
自动化执行:是否有时间和技能去运行

自动化测试使用适用
适用:
回归测试:在软件新版本开发时执行之前的测试;
更多更频繁的测试;
手工测试无法实现的工作;
跨平台的测试:web测试的兼容性测试;
重复性较强的操作;

不适用:
软件版本不稳定;
设计与物理设备交互的测试;
测试结果较容易通过人工判断的测试;

自动化测试工具选择
买对的、不买贵的
选择主流的测试工具
分阶段、逐步引入测试工具
选择技术支持完善的产品
如需多种工具、尽量选择一个公司产品

企业常用自动化测试框架
接口自动化测试方向: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/668510.html

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

相关文章

网络:IP地址、子网掩码、网络地址、广播地址、网段、网关

目录 一、IP地址 二、子网掩码 三、网络地址 四、广播地址 五、网段 六、网关 七、IP地址、子网掩码、网络地址、广指地址、网殷、网关的关系 参考链接 一、IP地址 IP地址是因特网协议(IP)中使用的一种数字标识符,用于唯一地标识网络…

LLM - 基于 Vicuna-13B 参数计算搭建私有 ChatGPT 在线聊天

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/131312366 LLaMA 和 Vicuna 都是大语言模型(LLM),两者的差异如下: LLaMA (Large Language Model Meta AI)&#…

英飞凌MCU芯片选型推荐参考

前言: 英飞凌Infineon作为一家芯片大厂,有众多芯片产品可供选型,这里重点推荐下庞大的MCU系列如何选项。首先,对于英飞凌产品构成要有深刻的认识,需要熟悉一个半导体产业并购的历程。2013年5月,Spansion 1.1亿美元并购了对富士通(Fujitsu)半导体微控制器和模拟业务部门…

聚类Clustering方法定位船舶站点

背景 现有船舶的航线中采样的数据库,采样的总时长为3个月,仅采样航速静止(小于1节)的数据,关键有效数据主要有经纬度/实时吃水量。 思路 基于站点附近轮船有停靠且航行速度慢,故取样点多的基础认识&…

正确的认识泥石流以及做好泥石流的防范

泥石流是山区沟谷中由暴雨、冰雪融水或地下含水层的渗入所形成的携带大量泥沙、石块等固体物质的特殊洪流,具有流量大、历时短、破坏力强等特征,泥石流携带的泥沙、石块等可高达数十米,并从山坡上倾泻而下,往往会形成一个“堰塞湖…

Python自动化测试利器selenium详解

Selenium是一种常用的Web自动化测试工具,支持多种编程语言和多种浏览器,可以模拟用户的交互行为,自动化地执行测试用例和生成测试报告。Selenium基于浏览器驱动实现,结合多种定位元素的方法,可以实现各种复杂的Web应用…

二进制搭建Kubernetes集群(一)——部署etcd集群和单master

单master集群架构图: 实验环境(二进制搭建 Kubernetes v1.20) 注意:生产环境中,etcd集群和master、node节点都应该部署在不同的机器上,此处为了实验方便,将三台etcd节点分别部署在了master和no…

探究Vue源码:mustache模板引擎(3) 通过编写简单正则了解mustache转换思路

我们会基本使用显然不够啊 我们要去了解mustache的原理 乃至自己去写一个mustache 首先 mustache 不是不能用简单的正则表达式来实现 但是 这里为了让大家理解 为什么不能 我们还是用简单正则写一下 我们创建一个 html文件 然后 编写代码如下 <!DOCTYPE html> <htm…

API性能监控 【ApiHelp】-- 组件Monitor 核心功能实现

上篇文章介绍了组件Monitor主要设计和功能Monitor组件设计&#xff0c;现在来具体看看Monitor组件的实现。 1、Java Agent实现AgentMain 前面已经介绍了Java Agent相关知识&#xff0c;现在来具体实现下。 实现AgentMain类&#xff1a; AgentMain为agent的入口类&#xff0c;程…

【C语言】项目实战——快速0基础上手五子棋游戏(内附源码)

君兮_的个人主页 勤时当勉励 岁月不待人 C/C 游戏开发 如果你是从现在关注的老粉的话&#xff0c;你可能会有点疑惑“how old are you&#xff1f;”(怎么老是你&#xff1f;) 唉&#xff0c;没办法我也不想的&#xff0c;但是月末了参加新星计划和2023年博客之星的评选只能更…

职业生涯规划书600字范文

职业生涯规划书600字范文篇1 记得高中时老师就告诉我们要认识自己&#xff0c;“认识自己”&#xff0c;仅仅四个字&#xff0c;实践起来是何等的艰难&#xff0c;古往今来那么多仁人志士为了能认识自己&#xff0c;不断实践&#xff0c;不断创新&#xff0c;可又有几个能在生命…

软件安全技术复习内容

软件安全技术 边复习边写的&#xff0c;有错误及时指正第一章 软件安全概述零日漏洞安全威胁分类CIA安全基本属性PDRR模型软件安全的主要方法和技术基本方法主要技术 第二章 软件漏洞概述概念软件漏洞成因分析软件漏洞分类基于漏洞成因的分类基于漏洞利用位置的分类基于威胁类型…

FPGA基础知识-编程语言接口

目录 学习目标&#xff1a; 学习内容&#xff1a; 1.PLI的使用 2.PLI任务的连接和调用 3.内部数据的获取 4.PLI库子程序 学习时间&#xff1a; 学习产出&#xff1a; 学习目标&#xff1a; 解释在Verilog仿真中如何使用PLI子程序。 描述PLI的用途。 定义用户自定义系…

DSIN(Deep Session Interest Network)详解

1. 提出动机 这个模型依然是研究如何更好地从用户的历史行为中捕捉到用户的动态兴趣演化规律。DIEN存在一个问题&#xff0c;就是只关注了如何去改进网络&#xff0c;而忽略了用户历史行为序列本身的特点&#xff0c;我们仔细去想&#xff0c;用户过去可能有很多历史点击行为&…

kafka硬件选择以及如何在生产中优化各个组件的参数

硬件选择&#xff1a; 1.求出一天kafka会产出大概多少的消息&#xff0c;然后平均到每一秒&#xff0c;要多少的消息&#xff0c;然后一条消息大概就是0.5-2k的大小&#xff0c;求出&#xff0c;每秒占用多少内存 2.求购买服务器数量(上边求出的效率 * 副本数/100)1 如果除不…

2022 开源社年度报告:打开新世界

2022 年被认为是充满挑战的一年&#xff0c;对于开源社而言也不例外。开源社同样面临着外部环境的不断变化&#xff0c;然而&#xff0c;正是开源的力量和开放协作的模式&#xff0c;让我们能够在这个极端情况下做出卓越的回应。 大家对于开源社的组织架构充满好奇&#xff0c;…

下载插件-4K Video Downloader

这款插件小编自己还是蛮喜欢的&#xff0c;有兴趣的小伙伴可以体验学习下。 一、简单介绍 提供视频下载服务&#xff0c;让您以高质量的方式获取所需内容。无论是视频、播放列表、频道还是字幕&#xff0c;您都可以轻松下载并保存为多种格式&#xff0c;如MP4、MKV、M4A、MP3、…

C++基础(8)——类和对象(多态)

前言 本文主要介绍了C中多态的基本知识 4.7.1&#xff1a;多态的基本概念和原理剖析 1&#xff1a;基本概念 静态多态&#xff1a;函数重载、运算符重载 动态多态&#xff1a;派生类和虚函数实现运行时多态 静态多态在编译阶段确定函数地址&#xff1b;动态多态在运行阶段…

RN 学习小记之使用 Expo 创建项目

本文Hexo博客链接&#x1f517; https://ysx.cosine.ren/react-native-note-1 xLog链接&#x1f517; https://x.cosine.ren/react-native-note-1 RSS订阅 &#x1f4e2; https://x.cosine.ren/feed/xml 由于业务需要&#xff0c;开始学习RN以备后面的需求&#xff0c;而虽然之…

《后端存储实战课》课程学习笔记(二)

创建和更新订单时&#xff0c;如何保证数据准确无误&#xff1f; 订单系统是整个电商系统中最重要的一个子系统&#xff0c;订单数据也就是电商企业最重要的数据资产。一个合格的订单系统&#xff0c;最基本的要求是什么&#xff1f;数据不能错。 首先&#xff0c;你的代码必须…