如何成为一位测试开发工程师?测试开发的核心竞争力...

news2024/9/22 7:39:48

目录:导读

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


前言

抛出一个问题:
比如:我会利用某某框架写自动化测试脚本,算不算是测试开发了呢?
在面试的时候,这项技能是否有较大的加分?

测试开发:https://www.bilibili.com/video/BV1Cs4y1D7w7/

结合业内的普遍经验来看,只能说,会利用某个框架写几个自动化脚本,算不上什么测开。通常,这项技能会归结到业务测试团队。

测开与开发的区别

请添加图片描述

总结的开发与测开的异同:

服务对象不一样:通常情况下,开发人员对面的是具体业务需求,是在有明确研发目标的情况下进行研发活动,在敏捷的环境下,这点更为明显,因为可被研发的需求一定是个清晰的“故事”。

而测试开发,则更多的需要自己从当前测试团队中,去寻找测试活动、测试流程中的痛点,并加以改进。产出物可以是个小工具,可以是某个框架的定制化开发,也可以是多个平台的集成。

验收标准不一样:开发在实现具体的业务需求时,除了满足功能性要求外,还需要满足各类非功能性需求(性能、操作性、安全性等等)。
而测开的产出物更多的只是在团队内部使用,对于性能和操作性,甚至于UI都不会有太高的要求,主要以解决实际问题为主(当然能同时兼顾到这些更好)。

测开与开发的相同点:就是对代码能力的要求是一样的。

至少要熟悉某个语言(JAVA,Python都可以,不应该有语言鄙视链存在),同时熟悉这个研发语言中的某些常用框架 (Spring全家桶,Django,各类中间件如MQ、Redis及常用数据库如Mysql),需要具备一定的研发思维,把业务转换成代码并加以实现。

在当下,具备DevOps知识和能力,会是一个较大的加分项,但是越往后,这项技能就是越普及,终将变成一项基本能力。

测开的能力要求

请添加图片描述

具体到团队中,对于测开的能力要求,简单的划分为以下三类:

入门级:
熟悉几款常用的测试框架,如接口测试用到的Junit,Pytest等,性能测试用到的Jmeter,Locust等,基于UI的Selenium,Airtest等

进一步的,能够针对这些框架,结合团队的具体业务需求,进行简单的二次开发,例如改改报告格式,增加点输出和特定函数等

从团队建设的角度看,这类技能一般会让测试团队内的谁对代码兴趣并能持之以恒的学习,就可以让他去尝试做这类工作。

提升级:
了解不同框架的特性,能够结合不同项目的实际情况,做具体的选型(例如,团队如果普遍代码能力较差,用Jmeter做接口也不是不可以接受。
如果被测试系统用的是JAVA框架,引入Junit要比Pytest合适的多)

能够对框架进行重构,以便更好的使用或者更符合业务需求。能够把这些框架集成到其它平台,让其它平台能够快速调用并执行测试用例。

能够洞察测试活动中的真实痛点,并给出解决方案。当你具备了这个能力,才能胜任一个测试开发应该有的责任,否则和开发的区别并不大,又或者只是一个有一定代码能力的测试人员。对团队的重要性并没有那么大。

进阶级:
能够从全局观察测试活动,发现团队存在的共性问题,并提出自己的解决方案并加以落地。

从效能的角度提升团队的测试质量和效率。
个人认为,这个是高阶测试开发的核心竞争力。这个时候,测试开发应该关注的是如何提升整个测试团队的效能,同时能够打通研发侧,协助开发一起提升研发效能。

一个很有趣的说法:
我不懂技术,但是我熟悉业务,能不能招个能力强的开发,一起合作?

在某种程度上讲,这个有点自欺欺人。
大多数情况下,你的表达并不会比专业的产品经理强。产品经理和开发会吵到什么程度你又不是不清楚,对吧。

所以,做为测试人员,沉下心来,学习学习代码,并在实际的业务场景中去落地,比什么都强。代码能力已经成为测试人员的一项基本能力了。如果你一窍不通,测试之路将很难再往下走了。

当下的测试环境已经发生了很大的变化,DevOps理念被越来越多的团队所接受,越来越多的团队在实践DevOps相关内容,测试团队一直在被弱化。

但是,测试职能却一直在提升,不管是需求侧的DOD,还是研发侧的TDD,DDD,都在强调可测试性,强调质量保证。所以,如何在敏捷研发中突显测试职能的价值,成为了全体测试人员都应该思考的一个话题。

在当下的大环境中,测试活动如何改善整体的研发效能,有效的缩短反馈路径,成为了大家共同追求的目标。

在测试的职业发展道路上,还有一个职能是测试架构。对于测试架构师而言,他需要的是“端到端”的测试把控:

在需求侧,他需要去了解产品的商业目标,去梳理用户的使用场景,输出产品的整体测试策略。

在研发侧,他能够与研发架构师一起面对面沟通,保证研发过程的可测试性,了解技术选型的前因后果,有针对的了解所选技术架构的常见问题并加以提醒,减少在项目研发初期就埋下的“雷”

在测试侧,需要能够做更好、更有效的测试策略,协助团队尽早的开展测试活动,解决他们遇到的问题,有效的平衡测试效能

在运维侧,协助完成产品的上线,并做好线上监控,尽早、尽快的发现问题,减少损失。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

无论人生的道路如何崎岖,我们都不能失去前进的勇气。让我们不畏艰难险阻,用坚毅的意志和不懈的努力,创造属于自己的辉煌人生!

成功不是一蹴而就的,它需要我们耐心、努力和勇气。只要我们坚定信念,坚持不懈地追求自己的目标,最终一定会创造属于自己的辉煌人生!

每个人的内心都有一面旗帜,代表着梦想和坚持。愿我们始终信念坚定,壮志凌云,勇往直前,不断超越自我,迎接更加辉煌的明天!

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

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

相关文章

【操作系统】第2章进程同步、PV操作、死锁

一、进程同步 1、 定义 (1) 临界资源:把一个时间段内只允许一个进程使用的资源称为临界资源。许多物理设备(摄像头、打印机)和许多变量、数据、内存缓冲区都属于临界资源。 对临界资源的访问必须互斥地进行。 ① 进入…

【软考】中级 | 数据库系统工程师 | 笔记总结

📢博客主页:肩匣与橘 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由肩匣与橘编写,首发于CSDN🙉 📢生活依旧是美好而又温柔的,你也…

解决winstore下载mincraft 出现错误提示的问题

mincraft 点开显示此应用无法在你的电脑上运行,去C:\XboxGames\Minecraft Launcher\Content下看了下: 但是别人电脑上相同目录下一样的文件能运行,于是选择重装,但是刚开始下载就遇到这个问题: 商店提示这个 点开一…

Ansys Zemax | 计算任意温度和压强下的折射率

概述 这篇文章介绍了OpticStudio如何计算材料在任意输入波长、环境温度和压强下的折射率。 介绍 通常情况下有两种参考折射率的测量方法:绝对测量和相对测量。其中绝对测量以真空为参考介质;相对测量则是以空气(摄氏温度20,一个标…

MySQL之盛放记录的大盒子 【InnoDB 数据页结构】

前言 本文章收录在MySQL性能优化原理实战专栏,点击此处查看更多优质内容。 本文摘录自 ▪ 小孩子4919《MySQL是怎样运行的:从根儿上理解MySQL》 学完了记录结构,我们该学数据页的结构,前边我们简单的提了一下页的概念&#xff…

臻图信息利用数字孪生构建生态环境智慧监测系统

2月27日,中共中央国务院印发《数字中国建设整体布局规划》中指出,要推动生态环境智慧治理,加快构建智慧高效的生态环境信息化体系,建设绿色智慧的数字生态文明。 生态环境监测是生态环境保护的基础,是生态文明建设的重…

企业什么时候需要ERP系统?

对于许多成长中的企业来说,是否需要ERP系统不是问题,而是何时需要的问题。随着企业的发展,其生成的数据量和要跟踪的数据源也在不断增加。在多个平台上管理所有这些信息变得成本昂贵、费时,而且容易出现管理不善的情况。 虽然对于…

性能测试入门实践路线图

我转行做软件测试工作已有六年多了, 从功能到自动化测试,然后负责性能测试团队和质量团队的技术专项治理,再到测试专家角色,负责整个技术项目的产品/运营和质量保障工作。 其中性能测试和线上稳定性保障,算是我最擅长…

物联网|IAR集成开发环境简介|cc254核心板硬件资源|物联网之蓝牙4.0 BLE基础-学习笔记(3)

文章目录 4、IAR集成开发环境简介5、 cc254核心板硬件资源 4、IAR集成开发环境简介 完整稳定的专业嵌入式开发环境,对不同的处理器有统一的用户界面,支持35种以上的MCU,包括8,16,32位, 完全兼容C语言的 高…

女孩子转数据分析难吗?难在哪里?

对于数据分析,很多人乍一听会觉得没啥技术难度,是个适合女孩子的专业。我们面对很多零基础小白也是用通俗的语言来形容这个专业:一般是通过Excel或者power BI工具对数据进行分析,制作成可视化的报表给领导层,为公司业务…

VS2022编译libiconv-1.17

需求概述 获得最新版本的windows下可用的libiconv静态库。 解决方案 概述 使用VS2022编译libiconv-1.17。需要对源码手动进行配置。 本文所述的方法同样适用于动态库,并且理论上适用于VS2010~2022所有版本。 如果你不在乎libiconv的版本,可以参考 …

DevOps死了吗?平台工程能否取代DevOps?

最近, Scott Carey 发表了一篇调查文章,喊出了一些开发者的心声:“扯淡的DevOps,我们开发者根本不想做运维!”除此之外,软件工程师兼DevOps评论员Sid Palas也在推特上写道,“DevOps已死&#xf…

C++知识点 -- 特殊类设计

C知识点 – 特殊类设计 文章目录 C知识点 -- 特殊类设计一、不能被拷贝的类二、 只能在堆上创建对象的类三、 只能在栈上创建对象的类四、 不能被继承的类五、 只能创建一个对象的类(单例模式)1.饿汉模式2.懒汉模式3. 单例对象释放问题: 一、…

【Python入门篇】——Python中判断语句(布尔类型,比较运算符,if语句)

作者简介: 辭七七,目前大一,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: Python入门,本专栏主要内容为Python的基础语法,Python中的选择循环语句…

Verilog 编程——奇偶分频(50%占空)

引言 最近准备一些笔试面试,想再把时钟奇偶分频的再整理一下。 我之前写过一个PWM产生的模块,里面有任意频率/占空比的时钟生成。可以参考: 基于FPGA的PWM发生器设计https://blog.csdn.net/qq_43045275/article/details/128365705?ops_re…

Scala学习(一)

1.什么是Scala Scala将面向对象和函数式编程结合成一种简洁的高级语言。Scala的静态类型有助于避免复杂应用程序中的错误。 1.1 为什么要学习Scala? Spark基于内存的大数据计算框架,而Spark就是Scala开发的。所以为了学习好Spark需要掌握Scala语言。 …

learn C++ NO.3 ——类和对象(1)

1.初步理解面向过程和面向对象 C语言是面向过程的高级编程语言,而C是面向对象的高级编程语言。那么两者有什么区别呢?且看下图分析。 面向过程语言就是逐步拆分并解决问题。其特点是过程化和模块化,数据和对数据的操作是分离的。 由于面向过…

《LeetCode》—— 哈希

今天刷题讲解的主要讲的是关于——哈希这个知识点的题目讲解。 目录 (一)缺失的第一个正整数 (二)数组中只出现一次的两个数字 1、直接法 2、哈希 (三)直线上最多的点数 (一)缺…

力扣题库刷题笔记735-行星碰撞

1、题目如下: 2、个人Python代码实现 个人代码思路,主要是新建一个列表stack,将原列表asteroids中的元素依次加入到stack中。以上代码可能会有两部分比较冗余的部分,一是两个标志位可以不用单独声明,二是当stack列表中…

解析内存中的高性能图结构

在进行各种图处理、图计算、图查询的时候,内存或是硬盘中如何存储图结构是一个影响性能的关键因素。本文主要分析了几种常见的内存图结构,及其时间、空间复杂度,希望对你有所启发。 通常来说,对于图结构的几种常见的基础操作&…