软件测试需要学会写代码吗?

news2024/9/29 13:29:58

无论是刚入测试行业的萌新,还是已经在测试行业闯荡了两三年的小司机们,都会琢磨一个问题:如果要持续发展下去,我要不要懂代码?

在软件测试初级阶段,不需要编程能力。但是任何一个职业,都会追求长期发展。

让我们来看看软件测试的几种职业生涯历程(转行的就另说了)。

1、技术 + 管理方向:一枚萌新 - 》技术阶段 -》测试经理、主管这样的管理岗

     -------编程能力 + 管理能力俱在

2、纯技术方向 :一枚萌新 -》功能测试 -》自动化/性能/安全 - 》测试开发/性能、安全测试专家/架构师

     -------优秀的编程能力

3、产品方向:一枚萌新 -》业务专家 -》产品经理、产品需求等岗位。

    -------不需要编程能力

1、萌新阶段、点点点(web/app....客户端)  ----初级测试工程师

初入软件测试行业,要成为一名合格的的软件测试工程师,需要学习的东西还是很多的。

1)软件测试理论基础;

2)测试用例设计、测试功能覆盖、软件测试项目实战应用;

3)对业务的精准把握 、培养对bug初步处理和分析

4)在长期的测试工作中,要培养敏锐的bug嗅觉;

5)良好的沟通表达能力。如果你连一个bug都表达不清楚,那就尴尬了。如果你不能与开发好好聊天,那也尴尬了。

但此阶段,主要是功能测试为主,像用户一样去手工操作系统,模拟用户的使用场景 。

所以不需要任何的编程能力,你都是可以胜任的。因此,软件测试的入门并不难。

也因此,在软件测试岗位上,有很多非计算机专业的同胞一样可以优秀的胜任。

2、功能测试小司机、测试工具   -----初级测试工程师

 随着测试时间的增加,就需要掌握更多的东西来扩充自己的技术能力了。毕竟也只能刚入行的时候才能叫萌新啊。。。

1)数据库操作:mysql、oracle等

2)linux操作、环境搭建

3)各种测试工具:抓包fiddler,wireshark

4)从架构层了解被测系统、http通信协议、接口测试及其工具postman、soupui、jmeter等。

5)app的专项测试、兼容性测试、易用性测试

在这个阶段,会有一部分人成为小组长、小领导。主要工作内容就是分配组内的测试任务、把握和反馈任务进展、完成测试工作。

在一些特殊的行业(比如医疗),可以逐渐形成业务专家。

在此阶段对编程能力也没有要求。

3、自动化/性能/安全(必须会编程)  ------中高级测试工程师

具备测试能力与代码能力,提升测试效率与软件质量。

以下以自动化测试为例来说明。

1)选一门编程语言学习:java、python、ruby等

2)了解自动化测试、自动化测试工具、web/app/接口/pc端自动化基础

3)框架思想、项目实践与流程

在功能测试岗位中做了几年时间之后,会开始焦虑。

在工作中,感受到了成长的限制。除了业务越来越熟之外,工作就是点点点,其它方面没有成长。

想跳槽想涨薪,但是很有挫败和无力感,因为全身上下价值就在这里。

想在工作的过程中自学提升,迈向高薪的自动化测试、性能 测试、安全测试等。

当然自动化测试工具也可以实现自动化,但是有好与坏的区别。

第一道门坎就是编程!! 

-----引起了很多人的头疼。非计算机专业的没接触过、计算机专业已毕业几年,早忘了。

于是,又妥妥的成为新阶级的萌新。

我应该把编程和自动化学到什么程度?我应该学到什么程度才能在面试中面上自动化测试?才能在工作中胜任起来?(性能 和安全通用)

带着一脸懵逼的状态去自学代码、自学自动化。查到什么资料学什么。

而招自动化测试的岗位,基本上都是要有实战经验的,没经验的直接咔了,或者转功能测试岗。

在这个过程中,有些人放弃了,有些人经历了一两年还在挣扎中,有些人机遇来了上了这趟船。。。。

但一旦上了船,就打开了新世界的大门,可以扬帆起航走的更远。

而且,在开发同胞的眼中,你作为测试的地位绝对上升不少。。。。

另外,想要成为优秀的安全测试与性能测试工程师,则不仅仅是会编程还需要有更多的计算机相关知识。

4、测试开发/性能、安全测试专家(必须会编程)  ------高级测试工程师

 测试开发,具备测试能力与代码能力,提升测试效率与软件质量。又可以做开发,又可以做测试。

 要求比较强的开发能力,深入代码层。一般不直接参加测试工作。

1、对测试框架、测试工具的二次开发,更好的符合公司产品的测试要求

2、开展单元测试或者协助开发开展单元测试,从开发阶段就开始把控产品代码质量。在后续迭代过程中快速挖掘问题

3、开发测试工具和平台,为测试团队提高测试效率,各种测试的简化、测试结果的量化。比如性能测试平台、接口测试平台等。

 

5、测试经理、主管   -----技术与管理并存、能与开发抗衡、能服众

     此处省略几百字。

在笔者眼中,如果你不是业务专家,也不想在初级测试工程师里停止不前,那么长远发展来说,编程是你无论如何都躲不掉的。

以上仅个人看法,如有异议,欢迎留言。

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

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

相关文章

【网络协议详解】——IPv6协议(学习笔记)

📖 前言:IPv6 协议是未来互联网的发展方向,它的推出为网络通信和互联带来了更大的便利性和更广阔的发展空间。相比于 IPv4,IPv6 支持更多的地址空间、更高效的路由和唯一的全球性地址等特点,可以更好地满足未来数字化时…

Mac电脑 Vscode : Flutter 开发环境搭建(最细节教程)

参考链接: MacVSCode安装flutter环境_mac vscode配置flutter_GalenWu的博客-CSDN博客 mac搭建Flutter环境以及初始化项目 - 简书 注意: *下载xcode 就包含git了, *苹果芯片和intel 芯片需要的环境不同,苹果芯片需要安装: Im…

攻防世界web新手区部分题解

前言:博主是个安全小白,正在努力学习中,会随着学习进度不定期更新完善本篇博客。 这里是目录 1.robots2.view_source3.backup4.disabled_button5.get_post6.cookie7.ics-068.PHP2 1.robots 题目描述: X老师上课讲了Robots协议,小宁…

SpringBoot+Redis完成数据缓存(内容丰富度一定超出你的想象)

SpringBootRedis完成数据缓存 去年今日此门中 人面桃花相映红 人面不知何处去 桃花依旧笑春风 感谢相遇!感谢自己,努力的样子很给力! 为了更多朋友看见,还是和大家说一声抱歉,限制为粉丝可见!有问题可以随时…

基于SSM+JSP的大学生社团管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

数字信号处理基础(二):FFT和IFFT的使用以及详细分析代码书写思路

目录 1. fft和ifft的原理1.1 fft1.2 ifft 2. 书写代码思路3. 完整代码4. 结果图 1. fft和ifft的原理 1.1 fft fft是快速傅里叶变换,是MATLAB中计算信号频谱的函数,使用方法是fft(x),直接对信号x进行fft计算。 由于fft函数计算信号的频谱是0…

国考省考行测:资料分析,两年复合增长率

国考省考行测:资料分析,两年复合增长率 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国考省考最重要的还是申论和行测,所以大家认真准备吧,我讲一起屡屡…

考研算法第十三天:二叉排序树 【二叉排序树的插入和遍历】

这道题很妙。题目给的二叉排序树好像没学过其实就是二叉查找树。然后这道题主要的就是思路 1.节点的初始化(记住) struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; 2.节点的插入 …

HTTPS 的加密流程

文章目录 前言一.HTTPS 是什么二."加密" 是什么四.HTTPS解决了哪些问题五.HTTPS 的工作过程对称加密非对称加密引入证书 前言 本文介绍了HTTPS的加密流程,以及HTTPS在保护用户数据安全和确保通信机密性方面的重要性。通过详细解释HTTPS的工作原理和加密流…

网络安全里的主要岗位有哪些?小白如何快速入门?

入门Web安全、安卓安全、二进制安全、工控安全还是智能硬件安全等等,每个不同的领域要掌握的技能也不同。 当然入门Web安全相对难度较低,也是很多人的首选。主要还是看自己的兴趣方向吧。 本文就以下几个问题来说明网络安全大致学习过程👇 网…

ChatGPT:世界已经永远改变了,而大多数人尚无所觉

1、你发现没有,现在跟朋友交流,言必聊ChatGPT。几乎所有人都在蹭GPT的热度,无论是头部企业还是普通的个人开发者,都想趁着ChatGPT东风狂赚一笔。有卖ChatGPT账号的、有借用ChatGPT的API集成服务让人付费试用的,还有人利…

Android第一代加壳技术的验证、测试和探究

Android第一代加壳测试,网上有很多文章,本文只是在前人基础上测试和验证。因此,本文的重点在于动手和实践。 第一代加壳技术有三个项目,分别是: 加壳程序。主要是把需要加壳的原程序加密后,放在壳程序中&…

全能超高清解码播放器_完美解码

哈喽,大家好。今天给各位小伙伴们测试了一款全能超高清解码播放器——完美解码。 这是一款为众多影视发烧友精心打造的专业高清播放器。超强HDTV支持,画质远超主流播放器!全面开启硬件加速,CPU资源占用低,强劲高清解码…

Matplotlib绘制漂亮的饼状图|python绘制漂亮的饼状图

python绘图系列文章目录 往期python绘图合集: python绘制简单的折线图 python读取excel中数据并绘制多子图多组图在一张画布上 python绘制带误差棒的柱状图 python绘制多子图并单独显示 python读取excel数据并绘制多y轴图像 python绘制柱状图并美化|不同颜色填充柱子 python随机…

LeetCode刷题 --- 栈

栈(stack)是一种用于存储数据的简单数据结构。栈一个有序线性表,只能在表的一端(PS:栈顶)执行插人和删除操作。最后插人的元素将被第一个删除。所以,栈也称为后进先出(Last In First…

AI在狂飙,ChatGPT-4可直接在iPhone上使用啦

今天凌晨,OpenAI 正式在 App Store 推出了 ChatGPT 的 iOS app,瞬间冲上苹果商店免费榜第二名,效率榜第一名。 于是兴致勃勃的去下载体验了一番。整体不错,以后手机使用官方的 ChatGPT 更方便啦!而且使用 GPT4 不再麻…

JavaScript事件流

一、事件流和它的两个阶段 1.事件流:是事件完整执行过程中的流动路径 2.说明:假设页面里有个div,当触发事件时,会经历两个阶段,分别是捕获阶段、冒泡阶段 (1)捕获:从父到子 &#…

测试工程师都是怎么写测试用例的?​

很多人不知道写测试用例有什么用,而仅仅是像工具人一样,在每次提测之前,把测试用例照着需求文档抄一遍,仿佛像是走个过场。 开发提测之后,就照着测试用例点点点,可能一天就走完用例了,开发代码…

最优化理论-线性规划中的大M法的步骤

目录: 一、引言 二、线性规划的基本概念 三、最优化理论中的大M法 1. 大M法的基本思想 2. 大M法的步骤 3. 大M法的优缺点 四、大M法的应用 1. 生产计划问题 2. 运输问题 3. 投资问题 五、总结 一、引言 最优化理论是数学中的一个重要分支…