测试老鸟总结,自动化测试难点挑战应对方法,我的进阶之路...

news/2024/5/20 1:32:40/文章来源:https://blog.csdn.net/m0_70102063/article/details/131067545

目录:导读

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


前言

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

先说下现常用的UI自动化测试配套框架:
web自动化测试:Python+selenium4+pytest+POM+allure+Jenkins;
app自动化测试:Python+appium+POM+pytest+allure+Jenkins;

识别动态元素

传统的测试自动化框架通过 CSS 属性或其在页面上的位置来识别应用程序中的可视元素。当这些属性在正常的开发活动发生变化时,通常会破坏相关的 UI 测试用例的有效性和稳定性。

修复损坏的测试通常称为维护,通常维护成本随着自动化项目的复杂程度和用例数量的增加而指数增加。对传统开源框架的维护可能会消耗团队高达 40% 的优质资源。

识别动态元素的几种方法包括使用备用定位、相对定位、模糊定位或计算机视觉。

最稳定的测试来自人工智能驱动的工具,这些工具可以深入检查和理解应用程序的元素、属性以及元素之间的关系。如果应用程序从测试运行中学习并调整以反映应用程序随时间的变化,那就更好了。

同步测试

当测试在自动化平台中执行时,测试步骤的时间必须与应用程序的时间相匹配,否则测试将找不到正确的元素。

使测试和应用程序保持同步的技术包括添加基于时间的等待(可以是每个步骤或测试)和基于事件的等待,以防止在事件发生之前执行下一步操作或者断言。可以参考Selenium等待:sleep、隐式、显式和Fluent

但是,添加等待会减慢执行速度。关键是添加尽可能少的等待以实现所需的稳定性,同时尽量减少对速度的影响。

部分公司正在尝试使用计算机视觉来识别页面何时准备好进行下一步以处理这些技术。但是,在该技术成熟之前,还是需要使用不同的基于时间、基于事件和条件等待的选项。

跨浏览器测试

关于跨浏览器测试的重要性的文章很多,但许多开发团队只关注 Chrome。

为什么?
其中一个重要大原因是:构建跨浏览器兼容测试框架和系统成本很高。

用户以不同的浏览器访问网站,那么应该至少执行跨浏览器测试覆盖主流的浏览器和系统组合矩阵,以确保网站在大部分用户使用时能够正常运行。

有两个选项可以让这更容易:使用具有内置跨浏览器测试网格的工具,或者将测试与设备场或虚拟测试网格服务集成。前者往往更简单、更便宜,而后者将为您提供更广泛的设备和浏览器类型配置。

随机弹出窗口

弹出窗口是可能时造成自动化测试失败的最大的困扰。因为弹框的类型多种多样,通常难以不测,会阻止测试的顺利运行。

许多工具要求编写测试用例时候知道弹出窗口的位置,切换到活动窗口,将其关闭,然后再切换回应用程序的主窗口。虽然这些对预期的警告弹出窗口很有帮助,但它们对来自集成工具的随机弹出窗口没有帮助,这些工具可能会阻止元素直到关闭。

对于那些,需要寻找在每个步骤之前搜索弹出窗口的解决方案,然后通过关闭/取消来处理它们。通常这种问题在编码阶段推行统一编码规范解决会具有更高的roi。

测试报告

通过/失败报告并不能让所有人都理解测试的结果。随着添加更多测试、测试类型(烟雾、回归等)以及用户评估结果,它的价值会继续降低。较大的项目需要更复杂的报告,以帮助说明质量的整体状态和方向。

寻找易于在团队中频繁运行和共享的内置报告,例如每周一次。
通过过滤和排序来寻找灵活性,以创建不同视图。测试报告还需要提供访问更新详细的测试信息的功能。

故障排除

当测试失败发生时,需要快速诊断它们,排除故障。这些工具应该使团队中的任何人都可以轻松确定测试失败的原因。团队还需要工具来帮助确定工作的优先级并指出可能影响多个测试的重复错误。

寻找在每个测试步骤中提供之前/之后屏幕截图而不需要额外编码的工具。视频可能会有所帮助,但加载速度较慢,并且通常无法快速查明问题所在。

网络和控制台日志可能有利于额外的诊断,但应自动包含在测试结果中,而不是单独执行任务。

高级工具不仅会告诉您它在哪里坏了——它们还会告诉你它为什么坏了。智能工具还可以通过汇总常见错误并显示测试的最近结果历史记录来帮助对工作进行分类。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一个成功者都有一颗不屈不挠的心,因为他们相信,只要坚持奋斗,就会在终点迎来胜利的喜悦。你也可以成为那个拥有勇气和毅力的人,坚定地朝着目标前行,终将收获成功的果实。

只有在追寻梦想的道路上努力奋斗,才能让生命不留遗憾。不管前方有多少困难和挑战,都要保持信念和毅力,坚持向前,相信未来会更美好!

你的拼搏与努力,终将化作成功的喜悦。永远不要停止前进,因为只有不断挑战自我的人才能看到更广阔的世界。相信自己,坚定信念,你一定能够实现心中所想!

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不定积分练习

不定积分练习 在看视频的时候遇到了一道比较有趣的题,在这里给大家分享一下。 题目 计算 ∫ ( 1 x − 1 x ) e x 1 x d x \int(1x-\dfrac 1x)e^{x\frac 1x}dx ∫(1x−x1​)exx1​dx 解: \qquad 原式 ∫ e x 1 x d x ∫ x ( 1 − 1 x 2 ) e x 1…

Promise-用法

目录 1.处理异步的几种方案 2.理解 3.promise状态:初始化 4.执行异步任务 5.执行异步任务成功 6.执行异步任务失败 7.执行异步任务成功-返回 8.执行异步任务失败-返回 1.处理异步的几种方案 纯粹callback,会剥夺函数return的能力promise&#xf…

【Java基础学习打卡01】计算机概述

目录 引言一、计算机是什么?1.计算机vs计算器2.计算机定义 二、计算机发展简史三、计算机分类四、计算机基本工作原理1.冯诺依曼2.冯诺依曼原理 总结 引言 其实我们在学习Java编程之前应该要对计算机有所了解,这里的了解不是说我们日常接触电脑就算是了…

postgres篇---docker安装postgres,python连接postgres数据库

postgres篇---docker安装postgres,python连接postgres数据库 一、docker安装postgres1.1 安装Docker:1.2 从Docker Hub获取PostgreSQL镜像1.3 创建PostgreSQL容器1.4 访问PostgreSQL 二. python连接postgres数据库2.1 connect连接2.2 cursor2.3 excute执…

docker-compose 搭建 zipkin 服务端

目录 基于docker-compose搭建服务端 数据库 服务器 docker-compose.yaml 问题 测试 基于docker-compose搭建服务端 数据库 我这边存储选择了Mysql存储,新建了 zipkin库,数据库脚本如下 -- -- Copyright 2015-2019 The OpenZipkin Authors -- -- Li…

Springboot3 + SpringSecurity + JWT + OpenApi3 实现认证授权

Springboot3 SpringSecurity JWT OpenApi3 实现双token 目前全网最新的 Spring Security JWT 实现双 Token 的案例!收藏就对了,欢迎各位看友学习参考。此项目由作者个人创作,可以供大家学习和项目实战使用,创作不易&#xff…

linux 部署mysql

本文介绍下Centos7中mysql的安装(Centos7以下版本中有些命令和centos7中有些不同,安时需注意下自己的linux版本) 事先准备 1、查看系统中是否自带安装mysql yum list installed | grep mysql ![在这里插入图片描述](https://img-blog.csdnimg.cn/e322b2f4036c4d9…

电力能耗监测系统是如何运作的

电力能耗监测系统数据的采集主要通过多功能仪表、通讯管理机、通讯协议实现能耗数据的采集,能耗数据上传后经大数据计算实现能耗数据的展示,满足用户对能耗监测的需求。下面对电力能耗监测系统的是怎么采集数据的展开介绍: 1.多功能仪表 对高…

中国的互联网技术有多厉害?

1 很多人没有意识到,中国的互联网技术是相当厉害的。 给大家举几个例子。 我和朋友聊天的时候,手机上的app都在“侧耳倾听”,聊天的一些关键字很快就会出现在手机浏览器的搜索栏中。 携程会给我自动推荐景点,美团会给我推荐美食&…

【FLoyd算法(Floyd到底做什么用 进来看看)】牛的旅行【进来学习做一道题的步骤-1.读题根据样例 概括出题意-2.分析算法-3.优化算法】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

混合动力汽车耐久测试

一 背景 整车厂可通过发动机和电机驱动的结合为多款车型提供混合动力驱动技术。汽车集成电机驱动可大大减少二氧化碳的排放,不仅如此,全电动驱动或混合动力驱动的汽车还将使用户体验到更好的驾驶感受,且这种汽车可通过电动机来实现更快的加速…

操作系统原理 —— 内存覆盖与交换(十九)

什么情况下需要覆盖与交换 要弄清楚什么是覆盖与交换的概念,首先我们要知道在什么情况下才会使用到覆盖与交换。 在早期的计算机内存很小的时候,比如 IBM 推出的第一台 PC 机最大只支持 1 MB 大小的内存,因此会经常出现内存大小不够的情况&…

Dell服务器安装Ubuntu系统

1、下载镜像,做启动盘 镜像链接 http://old-releases.ubuntu.com/releases/20.04.2/ubuntu-20.04.2-live-server-amd64.iso 版本可以根据自己要求选择。 做启动盘 我用的是ultraiso 记得先格式化,再写入。 2、 设置BIOS启动 按F11,进入BIOS…

708教室使用方法

一、教室平面图 708教室的布局如下,重要的设备已经在图中标出。总开关、一体机和机柜。   二、使用方法 2.1 房间机器上电 进门后首先走到“总开关位置”,将电匝闭合。 原来的开关如图所示,有3组开关,1号组开关用于控制插座、…

Linux工具之htop(含移植到arm-linux系统)

文章目录 介绍安装使用一些参数讲解功能键说明一些快捷键一些指令参数 拓展:Linux进程PRI与NI值拓展:VIRT(虚拟内存)RES(常驻内存)和SHR(共享内存)拓展:编译成应用放到开发板上使用源码下载解压编译 介绍 Htop是一个免费的(GPL&a…

spring实例化bean之实例化

1.关键方法createBean doGetBean中调用getSingleton方法中调用singletonFactory.getObject()触发lambda表达式中的createBean方法 AbstractAutowireCapableBeanFactory#createBean protected Object createBean(String beanName, RootBeanDefinition mbd, Nullable Object[] …

不愧是华为出来的,太强了。。。

前言 实习去了博彦科技(外包),做的就是螺丝钉的活,后面还因为人效不佳,被开了。 正式毕业后去了另外一个做电子发票的公司,但是都是功能测试和一点点APP测试,然后经常被开发怼,测试…

Redis进阶:缓存穿透|缓存击穿|缓存雪崩问题

Redis应用问题 1. 缓存穿透问题1.1 问题描述1.2 解决方案方法一:空值缓存方法二:设置可访问的名单(白名单)方法三:采用布隆过滤器方法四:进行实时监控 2. 缓存击穿问题2.1 问题描述2.2 解决方案方法一&…

谷歌浏览器Software Reporter Tool长时间占用CPU解决办法

如下图所示,大家是否在使用谷歌浏览器的过程中发现CPU风扇狂转,打开任务管理器发现一个名为software_reporter_tool.exe的软件占用了一半的CPU资源!这简直不能忍,按照下面教程,可以解决这个令人苦恼的问题。 什么是Sof…

家乡乐山美食网站系统(含源码+数据库)

1.需求分析 将进行家乡乐山美食网站的需求分析。需求分析是系统开发过程中的一项重要工作,它是对用户需求进行深入研究和分析,明确系统的功能、性能、界面等方面的需求,为后续的设计和开发提供依据。 首先,需要明确该网站的主要目…