5年测试老鸟整理,企业自动化测试经验,不要再走弯路了...

news/2024/11/19 23:40:48/

目录:导读

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


前言

2023年,自动化测试已经逐渐成为目前企业软件测试必备测试过程之一了。

1、什么叫做自动化测试工程师?
首先,要会使用自动化测试工具;
接下来,对于高手来说,要能写一些独立的测试脚本甚至测试工具;
更高的高手则是能把脚本和工具和实际工作紧密结合起来,解决工作中遇到的问题。

2、自动化测试工程师应该具有开发能力吗?
通过上述内容,应该可以看得出来,自动化测试人员一定要有开发能力,而这恰恰是测试人员目前所欠缺的。

没有开发能力的测试人员虽然也可以做一些所谓的自动化,但是仅仅是一些皮毛,没有办法做到活学活用。根据调查数据,目前所有从事测试工作的人中,90%的人都没有任何开发能力。根据目前的市场行情,如果在精通一门开发语言,能够从纯手工测试转型为自动化测试工程师,月薪至少增加5~8k。

3、自动化测试的层级
一般来说,自动化测试分为三个层级:单元测试、接口测试、UI测试,这三层成一个金字塔形状分布。最底层是单元测试,接口测试在中间,UI测试在最上层。

单元测试:
单元测试无疑是最适合做自动化的,但是,大多数单元测试都是由研发人员自己完成。单元测试的代码行覆盖率能够达到70%,就是一个非常不错的程度了。

单元测试框架:
单元测试常用的框架——XUnit,比如Java的JUnit,PHP的PHPUnit,Python的Pytest/unittest等等;

一个测试用例通常由三部分组成——setUp,测试逻辑,tearDown。setUp用于准备测试数据,tearDown用于清理数据;一般单元测试框架都支持装饰器设计模式的注解,比如跳过执行,测试套件的组织,测试用例依赖管理等等。

单元测试框架可以无缝地在UI测试和接口测试中使用,它们的基本思想都是相通的。

接口测试:
接口的自动化是目前最适合测试工程师进行自动化的一层。接口不但变化小,运行速度快,受益高,还有着出现问题后能够很快定位的优点。

UI测试:
目前,大众眼中关注的比较多的是UI的自动化测试,这是由大家的思维惯性导致的。传统的测试行业,测试工程师都是从UI下手,来完成所有的测试工作,所以到自动化领域,大家也理所当然的喜欢从UI层来进行自动化。

做UI自动化,最重要的是要能有一个好的自动化测试框架,这里有一些框架的基本设计思路供大家参考:

分布式——case增加到一定程度后,如何快速的运行所有的case,这就涉及到分布式的概念。行为驱动——也就是常说的Cucumber,这个领域笔者没有太多的涉足,不误导大家;

关键字驱动——由『操作对象』、『操作』、『数据』关键字组合成测试用例,框架来把关键字解析为脚本并执行。这种框架最大的优点就是可以提供给不懂代码的测试人员使用,典型的代表是Robot framwork;

数据驱动——同一段代码的业务逻辑通过更换数据输入来生成多个测试用例,我们只需维护测试数据就可以维护case,这种框架思想在很多测试工具中都有实现;

关键字和数据混合驱动——目前最高级的框架,将上述两种框架结合起来。
当然,这些思路不仅仅能用在UI层的自动化。

对于UI自动化,我个人的建议是只做冒烟测试用例的自动化,这样既可以从UI的角度来重复性的验证主业务主流程没有问题,又可以降低维护成本。

4、什么时候最适合做自动化?
首先,自动化测试从来都不是用来发现新的bug的,它更多的是用来验证原有功能是没问题的,新的修改对原有代码逻辑没有影响。

所以,当一个项目相对稳定之后,以后的项目都是基于原有代码进行迭代,这个时候自动化的介入是非常有效的。

另外,如果某个用例需要有大量的输入项,做手工测试比较繁琐,我们也可以引入自动化的手段做局部的自动化。比如,验证某个用户登录1000次是否能够登录成功,这种情况使用手工的方式基本是不可能的。

5、常用自动化测试框架推荐
接口自动化测试方向: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.ppmy.cn/news/500997.html

相关文章

电脑游戏怎么录屏?其实很简单,只需要简单3步

电脑游戏一直是游戏爱好者最热衷的游戏之一。但是,有时候我们想分享我们在游戏中的精彩时刻,或者记录我们的游戏过程以便后续观看和学习。在这种情况下,录屏就成了必不可少的工具。但是,许多人可能不知道电脑游戏怎么录屏。在本文…

电脑软件下载

电脑软件下载 quartusll9.0下载链接: https://pan.baidu.com/s/18TlW5atsI6GIkvKE8hS7ag ;提取码:iz2l solidwork2012下载链接: https://pan.baidu.com/s/10cD0R9mr5OYguHVW5qsX1Q ;提取码:qj5d visual studio2008下载链接: https://pan.baidu.com/s/1aJz_SC0rmIUU-e70F…

基于TCP/UDP的Socket编程

---- socket概述: socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。 socket起源于UNIX,在Unix一切皆文件哲学的思想下,socket是一种"打开—读/写…

【特征检测器】检测器

检测器 1. Shi-Tomasi 检测器1.1 算法特点:1.2算法步骤1.3 8-邻域非最大抑制算法 1. Shi-Tomasi 检测器 1.1 算法特点: Shi-Tomasi 检测器使用了 Harris 算法的改良版,在处理图像边缘时具有更好的性能表现,能够检测出更多的稳定…

基于XDP技术的高性能rtp媒体转发服务程序

在软交换中,经常有公网转发音频、视频媒体的需求,开源软件有rtpproxy、rtpengine之类,但性能并不是太好,经常有人说跑音、视频几百路就把机器CPU跑满了。 以前写过一篇“跨平台、高性能的媒体转发服务器实现”,本质上…

基于SpringCloud微服务FTP客户端设计

一、引言 21世纪是信息化时代,是多媒体的时代,网络技术快速发展,推动了世界范围的信息传输和信息交流。人与人之间共享文件越来越频繁,随着科技质量的提高,文件变的相比较而言比以前大了不少,这时人们对文件处理需求就会有很大要求。我们可以通过邮件来传输,或者通过U盘…

three.js几何体的_UV_、法向属性以及BufferGeometry类介绍

一、几何体的_UV_以及法向属性 UV属性是一组二维坐标,每个顶点都有一个对应的UV坐标。在三维模型上贴上二维的纹理贴图时,需要将所有顶点映射到纹理上的对应位置。UV属性的取值范围一般是[0,1],表示纹理上的相对位置。通过修改UV属性&#xf…

提升项目经理能力,有什么方法?

一,项目管理是职场的基础能力 他思考了一会,和我说:项目经理这个职业,同事专业性强,薪酬稳定,福利优越。只要有几年的项目管理经验,也能生存无忧。 但是,如果你不满足于只做一个普…