做软件测试需要懂代码吗?

随着大数据、机器学习时代的到来,不少人有了“测试不需要懂代码,那我就试试”的想法。这就引发了一系列疑问:不懂代码可以做测试吗?测试人员到底需不需要懂代码?测试人员需要写代码吗?

其实,在软件测试初级阶段,测试人员确实不需要懂代码。但如果想要追求月薪20k、30k,接口、自动化等是避免不了的,这就必然涉及到了代码层面。

正如《mob编程指南》的作者Llewellyn Falco回应“QA工程师应该学习编码吗”这个问题时,曾说:“每个人都应该知道如何编写代码,这就像阅读和写作。你可能没有写过书,但你应该知道如何阅读和写作。”

一、软件测试的Q&A

作为测试人员,我们可以一起考虑几个问题。

问题一:哪些测试需要懂代码?

软件测试人员会使用各种测试技术来执行此操作,包括手动测试、自动测试等。不同的测试策略要求不同的测试技术,我列举了一部分:
不同的软件测试

问题二:软件测试的门槛高吗?

近年来,经济下行加速功能测试转向自动化测试,软件测试的求职门槛确确实在提高。

研发流行敏捷开发,运维部署逐渐自动化,版本高速迭代。这意味着过去“点点点”的手动测试已经跟不上互联网行业产品的更新迭代速度,已经逐渐被自动化测试技术接管。原本手动测试需要10个人完成的工作量,现在的自动化测试团队只需要不到5个人就能完成。

当前各企业正在想尽办法建设自动化测试体系,实现手动测试到自动化测试的升级,通过提高测试流程的有效性和效率来消除测试瓶颈。因此,企业对测试人员的要求已经基本上过渡到了自动化测试要求。除了要懂功能测试,还需要懂代码、接口自动化、UI自动化等。

在求职门槛大大提高的情况下,测试人员仅凭借手动测试的技能,很难找到工作,也很难晋升。

问题三:不懂代码在实际工作中会出问题吗?

有一定的代码知识可以帮助测试人员更好地理解软件的内部逻辑,进而设计更有效的测试用例,但并非所有测试工作都需要深入理解代码。如果测试人员看不懂代码,实际工作会出现哪些问题?

(1)当测试人员无法准确解析代码时,报告的Bug描述可能含糊不清,导致开发人员难以复现问题或误解问题的严重性。即便是较为表面的错误,也可能被测试人员误判为关键缺陷。

(2)如果测试人员对开发知识掌握不足,可能会将有争议的问题错误地标记为Bug,或者提出的改进建议难以实施,且无法提供切实可行的解决方案。、

(3)在发现Bug时,若测试人员无法精确定位其根源,可能会导致与开发团队沟通成本增加。频繁的交流不仅浪费时间,过多的沟通也可能引发其他问题。因此,测试人员对开发知识的掌握显得尤为重要。

(4)缺乏开发知识可能会使测试人员在讨论Bug时处于劣势,面对开发人员的解释,如果测试人员不了解背后的技术细节,可能无法有效回应。

(5)在自动化测试、性能测试和项目管理等领域,对软件开发有深入的理解是必不可少的。设计高效的自动化测试框架、性能测试案例,或管理开发团队,都需要对软件开发有一定的掌握。

问题四:软件测试人员需要掌握什么技能?

除了沟通技巧、分析思维、团队协作等必备的软技能,软件测试人员又需要具备哪些硬技能:

(1)全面了解软件开发生命周期 (SDLC)
随着软件项目的复杂性不断增加,测试人员必须精通从规划和设计到部署和维护的每个阶段。这些知识使我们能够预测潜在问题,设计有效的测试策略,并确保测试活动与总体项目目标保持一致。

(2)熟练掌握自动化测试工具
自动化继续改变测试领域的游戏规则,熟练掌握自动化测试工具是我们测试人员的一项关键技能。掌握 Selenium、Appium、Jenkins、禅道ZTF等工具可让测试人员自动执行重复任务、增加测试覆盖率并提高效率。随着越来越多的组织采用 DevOps 和持续集成/持续部署 (CI/CD) 实践,能够将自动化测试集成到 CI/CD 管道中的测试人员将在加速产品发布并保持质量标准方面发挥重要作用。

(3)测试设计和执行方面的专业知识
测试设计和执行方面的专业知识仍然是软件测试人员的一项基本技能。在 2024 年,制定全面的测试计划、编写清晰简洁的测试用例并有效执行测试的能力比以往任何时候都更加重要。测试人员必须确保他们的测试是稳健的、可扩展的,并且能够有效地识别缺陷。那些擅长设计和执行模拟真实场景的测试的人将为开发可靠且用户友好的软件产品做出重大贡献。

(4)编程和脚本语言知识
熟悉Java、Python、PHP等语言使测试人员能够编写自动化测试、了解代码库并与开发人员更有效地协作。随着开发人员和测试人员之间的界限越来越模糊,具有编程技能的人可以参与单元测试、审查代码以查找潜在问题,甚至修复错误,从而提高软件的整体质量。
测试懂代码

二、软件测试人员懂代码的好处

1.可视化和测试

测试人员可以更好地可视化和理解应用程序背后的代码,从而帮助测试人员识别更多有用的测试用例。例如,软件测试人员知道某个页面元素正在使用 if/then 逻辑,他们能够确保测试该算法的两条路径。对于循环也是如此,众所周知,循环的终点通常是发生错误的地方,因此通过了解循环构造的逻辑,软件测试人员可以更准确地查看边界条件。

如今,随着越来越多的开发团队执行单元测试,白盒测试的实践变得越来越不重要;但测试人员仍然可以通过对代码的理解来了解应用程序的更细微的方面,并创建测试来提高测试覆盖率。

2.自动化测试

懂代码的测试人员更容易创建自动化测试脚本。这是持续集成 (CI) 的必需品,甚至 UI、API 和性能测试都可以自动化。这有助于加快测试周期,并使测试人员能够专注于探索性测试以发现新问题。

使用 Selenium IDE等软件测试工具可以轻松执行自动化测试。这类软件测试工具所提供的GUI录制回放功能,能够达到提高测试用例复用率的目的。但这些好处是有限,它们无法自动执行某些测试的步骤,并且在应用程序更新时很容易崩溃,如Selenium默认不提供测试报告和错误恢复机制。

3.与开发人员更好地沟通

懂代码的测试人员能够与开发人员更好地沟通,因为他们能够理解开发人员的思维方式和代码逻辑。这有助于他们更精确地报告Bug,深入讨论问题的解决方案,并减少误解和沟通障碍。同时,懂代码的测试人员能够更快地理解新功能或变更,设计出有效的测试用例,提高测试效率。
测试懂代码

三、软件测试人员共勉

自动化测试是趋势,只会做手动测试的人未来会逐渐失去竞争力。资深测试专家陈霁在《测试人员路在何方》中也提到了“做测试必须会写代码。如果不懂编程,从事测试工作是非常吃亏的。”具体内容,我就不多讲了,大家有兴趣可以看一下这个视频。

最后,我们测试人员共勉:
大多数人都会觉得你那么努力或做这些稀奇古怪的事情干什么,他们都觉得你像个“异类”。请耐住寂寞往前走,然后你会在路上碰到跟你志同道合的这些“异类”,当你们在一起一握手,你会发觉,原来我终于走到了别人走不到的路。

【参考资料:Brian Borg: Should QA Testers Be Able to Read Code?】

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

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

相关文章

精准检测,可燃气体报警系统的技术原理与特点

在现代化的工业生产与日常生活中,可燃气体泄露事故频发,给人们的生命和财产安全带来了严重威胁。 因此,可燃气体报警检测系统的应用变得尤为重要。它不仅能够实时监测环境中的可燃气体浓度,还能在发现异常情况时及时报警&#xf…

记 Codes 开源免费研发管理平台 —— 生成式全局看板的创新实现

继上一回合瀑布与敏捷的融合创新实现后,本篇我们来讲一讲 Codes 生成式全局看板的创新实现。 市面上所有的研发管理软件,看板模式的项目,都是物理看板的电子化,好像也没什么问题,但是在使用过程中体验非常不好&#xf…

使用 zxing 生成二维码以及条形码

需求背景 前期在做项目的时候,有一个需求是说要生成一张条形码,并且呢将条形码插入到 excel 中去,但是之前一直没有搞过找个条形码或者是二维码,最后是做出来了,这里呢就先看看怎么生成,后面再抽时间来写写…

掌握Element UI:加速你的网页设计过程!

Element UI 是一套为开发者、UI/UX设计师和产品经理准备的采用Vue 2.0作为基础框架实现的组件库,提供配套的设计资源,可以帮助设计快速成型。即时设计也内置Element UI Kit资源,但有些小伙伴还是对此不太了解,接下来本文会详细带你…

antd-vue - - - - - a-select结合i18n使用(踩坑问题)

antd-vue - - - - - a-select结合i18n使用&#xff08;踩坑问题&#xff09; 1. 当前代码 & 效果2. 解决办法 1. 当前代码 & 效果 <a-selectv-model:value"formState.quickSwitching":options"quickSwitchingOptions"search"handleSearch…

大米cms安装支付逻辑漏洞

1.安装 下载来源&#xff1a;https://www.cnblogs.com/xfbk/p/17910054.html 链接&#xff1a;https://pan.baidu.com/s/1b-Z6RaFBZ6CsSIErY46Pyg?pwdq8qq 提取码&#xff1a;q8qq 注意一下配置就可以了&#xff1a;php5.5apachemysql5.0&#xff0c;主要就是数据库版本要注…

某直聘zp_stoken纯算法还原

郑重声明&#xff1a;本项目的所有代码和相关文章&#xff0c; 仅用于经验技术交流分享&#xff0c;禁止将相关技术应用到不正当途径&#xff0c;因为滥用技术产生的风险与本人无关。 难点概要&#xff1a; 每日切换一次算法&#xff0c;其中包括环境&#xff0c;运行方式等。…

提莫攻击 ---- 模拟算法

题目链接 题目: 分析: 如果两次攻击的时间差是>中毒的持续时间duration, 那么第一次攻击的中毒时间就是duration如果两次攻击的时间差是< 中毒的持续时间duration, 那么第一次攻击的持续时间就是这个时间差假设攻击了n次, 那么我们从第一次攻击开始计算时间差, 那么当我…

下载安装node.js,查看node.js版本

目录 一、下载安装node.js 二、查看node.js版本 三、使用nvm管理node.js版本 一、下载安装node.js 文档 nodejs中文网•学习教程•入门•如何安装 Nodejshttps://nodejs.cn/en/learn/getting-started/how-to-install-nodejs 步骤 1.进入node.js官网 nodejshttps://nodejs.…

下载旧版postman(无需要登录,无需联网,即可轻松使用postman)

https://www.filehorse.com/download-postman/old-versions/page-3/ 人工智能学习网站 https://chat.xutongbao.top

推荐系统三十六式学习笔记:03|这些你必须应该具备的思维模式

目录 对关键元素重要性的认识&#xff1a;目标思维和不确定思维总结&#xff1a; 今天我主要带你认识两方面的内容&#xff1a;一个是重新认识推荐系统关键元素的重要性&#xff0c;另一个是要建立起两个思维模式。 对关键元素重要性的认识&#xff1a; 要开发一个推荐系统产…

字符串和字符串函数(2)

前言&#xff1a; 在字符串和字符串函数&#xff08;1&#xff09;-CSDN博客中&#xff0c;已将将字符串和字符函数的使用了解&#xff0c;并且实现模拟了一些字符串的库函数。 接下来将继续深入学习字符串和字符串函数。并且模拟实现一些较为复杂的函数。 可控制字符…

【Linux基础】安装nginx

【Linux基础】安装nginx 文章目录 【Linux基础】安装nginx1、下载nginx2、安装nginx3、使用nginx4、配置nginx环境变量 1、下载nginx 在Nginx的官网的下载页面中(http://nginx.org/en/download.html)&#xff0c;就展示了当前Nginx版本&#xff0c;并提供了下载的连接。 如下&a…

图像处理之基于标记的分水岭算法(C++)

图像处理之基于标记的分水岭算法&#xff08;C&#xff09; 文章目录 图像处理之基于标记的分水岭算法&#xff08;C&#xff09;前言一、基于标记点的分水岭算法应用1.实现步骤&#xff1a;2.代码实现 总结 前言 传统分水岭算法存在过分割的不足&#xff0c;OpenCV提供了一种…

【C语言进阶】动态内存管理及柔性数组

动态内存的开辟在C语言中相当重要的知识 1、为什么会存在动态内存分配 内存的开辟方式&#xff1a; int a20;//在栈空间上开辟4个字节 int arr[10];//在栈空间上开辟40个字节的连续空间 这种开辟空间的方式有两个特点&#xff1a; 1、开辟的空间大小是固定的 2、数组在声明的…

二叉树创建和遍历

个人主页 &#xff1a;敲上瘾-CSDN博客二叉树介绍&#xff1a;二叉树(详解)-CSDN博客 目录 一、二叉树的创建 二、二叉树的遍历 1.前序遍历 2.中序遍历 3.后序遍历 4.层序遍历 三、相关计算 1.总节点个数计算 2.叶子节点个数计算 3.深度计算 一、二叉树的创建 关于…

如何在路由器上安装代理服务:详细教程

如何在路由器上安装代理服务&#xff1a;详细教程 步骤一&#xff1a;通过漏洞进入路由器系统开启Telnet服务使用Telnet登录路由器系统查看系统信息和CPU信息步骤二&#xff1a;交叉编译MIPS程序 Go对MIPS的支持 安装TFTP Server使用BusyBox tftp传输文件在路由器系统中下载编译…

❤机器学习正则化算法的总结。耗时10个小时完成。❤

❤纯 干 货~❤ 目录 纯干货 1、L1 正则化&#xff08;Lasso 正则化&#xff09; 2、L2 正则化&#xff08;岭正则化&#xff09; 3、弹性网络正则化&#xff08;Elastic Net 正则化&#xff09; 4、Dropout 正则化&#xff08;用于神经网络&#xff09; 5、贝叶斯Rid…

海外盲盒小程序:跨文化营销的利器

在全球化的浪潮下&#xff0c;跨境电商正迎来前所未有的发展机遇。作为这一领域中的新兴力量&#xff0c;海外盲盒小程序凭借其独特的魅力和优势&#xff0c;正逐渐崭露头角&#xff0c;成为跨文化营销的利器。本文将探讨海外盲盒小程序在跨文化营销中的应用及其带来的价值。 一…

【30天精通Prometheus:一站式监控实战指南】第16天:snmp_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

亲爱的读者们&#x1f44b;   欢迎加入【30天精通Prometheus】专栏&#xff01;&#x1f4da; 在这里&#xff0c;我们将探索Prometheus的强大功能&#xff0c;并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。&#x1f680;   Prometheus是云原生和DevOps的…