“不擅长开发,所以选择测试”,软件测试面试时这么说就凉了...

news2024/12/23 14:29:04

见过不少软件测试岗位,在面试时,问到选择软件测试作为职业的原因时

有不少测试工程师会回答:因为不擅长或不喜欢开发的工作。

这个想法,这个回答,就已经在面试官眼里打低分了。

现在网上也有不少类似观点

“不喜欢开发,那就来选测试吧”
“测试不需要多少开发知识的”
“开发太难了,还是测试容易入门”
“我就是因为不喜欢开发,而选择的测试”

这样的说法已然是割裂了测试和开发的紧密联系,通常反映了开发能力的缺乏(也或许是对开发工作的厌倦)。

实际工作中,测试和开发是“你中有我,我中有你”。

诚然,对于黑盒测试中有些浅显的测试,并不需要多少开发知识,可是薪水也是测试中最低级的。

残酷的经验告诉我们,拥有出色的开发能力并努力将之应用于测试中的测试工程师,才会有个人的核心竞争力,薪资也会位于软件测试业的顶级。

判定缺陷间的重复及依赖关系需要开发能力

很多时候,两个软件缺陷表现形式不同,但是根源相同,这样就形成了重复缺陷;或者有时,一个缺陷基于另一个缺陷,当另一个缺陷被解决了,这个缺陷就会消失,这属于缺陷间的依赖。

我们知道,有效缺陷的数量会用于统计项目的情况,重复或依赖性的缺陷数量达到一定程度时,势必影响领导对于整个项目进展的判断,进而带来很多的风险,因此各个测试部门都要求尽量减少这种无效缺陷的提交。

Bug1:当在日期控件中选择一个日期后,在该日期后可写入任意字符,如“KKK",单击OK按钮生成报告,报告中的日期含有“KKK",是不合法的日期。
Bug2:当在日期控件中选择一个日期后,在该日期后输入3000个字符后,单击OK按钮,程序崩溃。

这里有两个bug,乍的一看,这似乎是两个不同的缺陷。

可是有开发能力的人会知道,这二者的解法实则相同。只要限制日期文本框即只从日期控件中选择而不可手工填入,这两个缺陷就都被解决了。

由于解决方法相同,因此这两个缺陷应当被判定为重复。

有一定开发经验的测试人员,对于缺陷间的重复或依赖,在从前的开发实践中可能就遇到过类似情况,而更可以举一反三,进行更精确的判断。而这种判断,对于无开发能力和经验不足的人来说,是很难达到的

使用自动化测试工具需要开发能力

无论是著名的性能测试工具LoadRunner、Jmeter,还是UI自动化测试工具selenium、appium,很多工具的使用都需要编写脚本程序。

脚本程序既没有Python或Java语言那么难,也不是面向对象的,只是简单的解释型语言。

拥有Python或Java等复杂语言的开发能力能帮助你更好地理解脚本语言,出问题时能够更快速、更准确地定位问题出在哪里。

丰富的开发经验能使你事半功倍,得心应手。

欠缺开发经验的人,即使在编写脚本语言中的简单语言时,也不免错误百出。因为缺少那种开发的思维,既不能规划好全局,也不能照顾到细节,这样的项目,失败的风险大大增加。

职场大部分新手对软件测试的成长路径并不了解,对有些内容适合什么阶段去学都不了解,钻进牛角尖,事倍功半。最好是有经验的人带你,有大腿抱,学习效率极高,这个我深有体会。如果没有也不用担心,去找对应的软件测试交流群就好,我当初就是加了好几个软件测试交流群,不停的请教,包括学习,包括方向,各种问题都问。

黑盒测试偏爱开发能力

在黑盒测试中虽然看不到代码,但是如果有开发能力,则测试人员将可以更容易贴近开发人员的思路,从而更好地设计和执行测试。

说明

测试人员经常会琢磨:“如果我是开发人员,在开发这个模块时可能会犯什么错误?”

测试人员经常会琢磨:“如果我是开发人员,在开发这个模块时会犯什么错误“

按照需求逐条测试,只能保证需求上写的部分是正确的,而其他很多部分是覆盖不到的。

而且根据80-20原则,80%的测试要用于20%高风险的地方。

同样,每个人被分配的任务中,也有80%与20%之分。如何来判断哪些是80%的呢?

事实证明,拥有一定的开发能力将帮助我们更准确地判断,从而使我们更聪明、更积极、更有效地完成工作。

具有开发能力完全可以代替数年经验的“老师傅”那数年的经验。

白盒测试需要开发能力

在某应用中,有个生成网站统计报告的新项目进入了系统测试阶段,这个项目的核心部分是在数据库里运用SQL查询结果。

领导布置了一个任务,要求你来重写一遍所有的SQL查询,来对比一下报告数据。

首先你需要看懂代码,如果粘贴到Word文档上,每个查询语句平均有80行,这条的报告一共有约40种。

当看懂代码且理解了逻辑之后,能开始试图找出其中的 Bug。

一些典型的Bug有:

(1)边界值错误。通常发生于“between, and”语句。

(2)限定条件错误。例如在 where子句中少写了一个and条件。

(3)有的表无用。例如left join了个表,发现这个表没有用到或一些字段与另一表中的字段重复。

(4)函数使用错误。

(5)字段或表的混淆。例如应使用terminated_id字段的地方误用了end_id字段。

这就说明 通常意义上的白盒测试不需要重写开发人员的代码,只需要理解并测试其逻辑即可,最后参照开发人员的代码来重写我的查询,并用其在数据库中运行的结果来对比软件生成的报告。

职场朋友我想问一下你们平时是怎么学习的呢?其实你对自己握在手的技术真的能支撑着你涨薪进大厂吗!其实真的还是欠缺的,你不妨把眼界放长远多认识些牛逼的大佬,进一些交流学习活跃的群,你会发现身边又多了些知己好友,在你奔赴远方的路上还能提供宝贵的意见...

安全测试需要开发能力

在进行安全测试时,作为测试人员,经常需要模拟攻击系统。

没有开发能力,就不知道可能的薄弱环节在哪里。

以一些简单的命令来攻击,这个层次比较浅,无法模拟出真正的高手来攻击的态势,也就是说,漏洞可能很严重,但是我们的测试水平达不到,根本测试不出来。

安全测试是一个计算机学科中很深的领域,很多高手不但精通多门开门语言,而且精通反汇编,对计算机运行原理了如指掌。

开发测试工具

为了实现对某些项目的测试,部门中经常会要求开发一些小测试工具。

例如摩托罗拉公司的手机部门,需要开发一个工具,来自动化集成所有代码生成软件的一个版本,然后自动分发给相关部分,并进行一些基本的通过性测试(冒烟测试)。

这需要很强的开发能力。如果你有这种能力,显然就可以超越其他同事,成为部门的技术骨干。

技术助力

我给大家整理了一套软件测试面试文档和一整套的软件测试资源,我自己也在用这套资料,这套资料也帮助我跳槽到现在这个公司,薪资也涨到了25k,应该对朋友们跳槽面试、升职加薪、摆脱职业困境、提高自己的技术有很大的帮助,希望各位都能前程似锦。【点击文末小卡片免费领取软件测试全套资料】

资料包括:测试理论、Linux基础、MySQL基础、Web测试、接口测试、App测试、管理工具、Python基础、Selenium相关、性能测试、LordRunner相关等。

上面是我收集的一些软件测试视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我下方扣扣群,里面有各种软件测试资源和技术讨论

 

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

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

相关文章

TiDB亿级数据亚秒响应查询将MySql数据同步到TiDB

目录 1 MySQL环境准备1.1 MySQL测试数据库1.1.1 导入数据1.1.2 验证是否成功 2 DM数据迁移2.1 TiUP DM 组件简介2.1.1 基本功能2.1.2 使用限制 2.2 TiUP安装 DM组件2.2.1 安装TiUP DM 组件2.2.2 更新 TiUP DM 组件 2.3 TiUP部署 DM组件2.3.1 编辑初始化配置2.3.2 部署命令格式2…

PID算法:增量式PID 位置式PID

前面的文章已经介绍过什么是pid了,现在再回顾一下: PID:是过程控制中常用的一种针对某个对象或者参数进行自动控制的一种算法。 这一篇分享不打算再深究pid的理论知识,如果有不懂或者对pid感兴趣的朋友,可以自行查阅资…

【docker桌面版】windows使用docker搭建nginx

1.拉取nginx镜像 docker pull nginx 2.运行容器 docker run -d -p 80:8081 --name nginx nginx 3.本地磁盘创建nginx目录 D:\Docker\project\nginx 4.复制docker中的nginx配置文件 查看运行的容器docker ps -a docker cp 8f18d58bc77b:/etc/nginx/nginx.conf D:\Docker…

【Leetcode】DP | 打家劫舍,当一个机灵的小偷

198 打家劫舍 令 D [ i ] D[i] D[i]表示前 i i i间房子的最大收益: D [ i ] max ⁡ ( D [ i − 1 ] , D [ i − 2 ] n u m s [ i ] ) D [ 0 ] n u m s [ 0 ] D [ 1 ] max ⁡ ( n u m s [ 0 ] , n u m s [ 1 ] ) D[i] \max(D[i -1], D[i-2]nums[i]) \\ D[0] …

软件测试工程师如何从功能测试转成自动化测试?

功能测试转成自动化测试,答案就三个字:“靠学习”。 学习自动化的方法无非是三种: 一、靠培训(下方有如何选择培训机构) 在相对有氛围的学习环境中来学习自动化测试,这是一个较快学习的方法。二、靠自学自…

js文件引入vue $notify组件,自定义添加按钮功能!

import Vue from vue; //新创建一个vue实例 let v new Vue(); const h v.$createElement console.log(h) v.$notify({ dangerouslyUseHTMLString: true, message: h( div, {}, [ h(p, {}, [ h(p, {style:"font-size: 15px;"}, 车架号:${res.rows[0].…

C# Winform 多个程序之间的通信(非Scoket)

效果 功能:打开窗体自动连接主程序,并自动添加到列表,可以向子程序群发消息 可以向单个程序单独发送消息 在退出程序后,添加的程序列表会自动移除 一、概述 参考:C# Winfrom程序之间通讯_c# sendmessege copydatastr…

x宝评论抓取

#某宝评论接口sign参数逆向 1.接口速览 多次请求发现,t为时间戳,sign为加密参数,盲猜和data、t有关,sign为32位,盲猜是字符串的32位的MD5 2.搜索js代码 这里为搜索的是appKey,就找到了sign,然…

如何实现APP自动化测试?

APP测试,尤其是APP的自动化测试,在软件测试工程师的面试中越来越会被问到了。为了更好的回答这个问题,我今天就给大家分享一下,如何进行APP的自动化测试。 一、为了实现JavaAppiumJunit技术用于APP自动化测试,所以需要…

使用AIGC工具提升论文阅读效率

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

接口测试实战工具如何选择?这6个工具首选(建议收藏)

常见接口类型 • HTTP/HTTPS 类型接口 基于HTTP协议开发的接口现在应用是最为广泛的,这类API使用起来简单明了,因为它是轻量级的、跨平台、跨语言的, 但凡是第三方提供的API都会有HTTP版本的接口。 RESTful API也是基于HTTP协议的&#xff0c…

Android滴滴路由框架DRouter原理解析

作者:linversion 前言 最近的一个新项目使用了Clean Architecture模块化MVVM架构,将首页每个tab对应的功能都放到单独的模块且不相互依赖,这时就有了模块间页面跳转的问题,经过一番研究选择了滴滴的DRouter,因为其出色…

Image captioning中自定义文本数据整理为类似Flickr8k.token.txt的格式--->助力后期生成JSON格式用于训练

手把手实现Image captioning,将自定义文本数据整理为类似Flickr8k.token.txt的格式,助力后期生成JSON格式用于训练。如果感觉有用,不妨给博主来个一键三连,白天科研,晚上肝文,实属不易~ ~ ](https://imgse.com/i/p9FmMDK) 这里写目录标题 1. 任务需求2. 程序实现2.1 读取…

vistual studio 2017中导入pthread.h的配置方法

1.下载pthread.h的相关库文件 下载路径 https://www.mirrorservice.org/sites/sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip 加压后得到两种系统版本的三个文件夹 pthreads.2 : 包含了pthread的源文件 Pre-built2 :包含了pthreads for win32的头文件…

软件测试04:软件测试流程和软件测试过程

软件测试04:软件测试流程和软件测试过程 软件测试流程 软件测试流程:获取测试需求->编写测试计划->制造测试方案->开发与设计测试用例->执行测试->提交缺陷报告->测试分析与评审->提交测试总结->准备下一版本测试 软件测试过…

网页JS自动化脚本(九)创建一键导出数据库到桌面的功能按钮

我们获取到了数据库,当然我们希望能把这个数据库给保存到本地电脑上进行一些数据的处理,我们这一节就添加一个按钮把数据一次性导出 保存到桌面为json格式 我们直接用TXT打开它如下图所示 然后再使用json转EXCEL的小工具规整之后如下图 好了我们下面上代码 // UserScript // n…

算法提高-图论-单源最短路的综合应用

单源最短路的综合应用 单源最短路的综合应用AcWing 1135. 新年好AcWing 340. 通信线路AcWing 342. 道路与航线AcWing 341. 最优贸易 单源最短路的综合应用 AcWing 1135. 新年好 多次dijkstra求每个点到其它点的最短距离, 此时相当于建好了一张图,每个点…

http客户端Fegin

1.RestTemplate方式调用存在的问题 代码可读性差,编程体验不统一 参数复杂URL难以维护 2.Feign的介绍 Feign是声明式的http客户端(只需要将发http请求的信息写出即可) 主要基于SpringMvc的注解来声明远程调用的信息: 步骤&…

(十二)K8S可视化工具Rancher部署项目应用实战

1.Rancher部署springboot私有镜像 连接私有镜像操作步骤 1.进入资源>>密文 2.进入镜像库凭证列表,点击添加凭证 3.输入凭证名称,选择自定义,填入自己的私有镜像仓库地址,这里使用的是阿里云,输入用户名和密码…

Zoho CRM SDK

前言 因早期公司的业务在Zoho CRM,现在孵化出自己的想法,想着能把一部分CRM的数据同步导出来,故研究Zoho CRM SDK的接入方法。虽说在文档上都有提及,但有部分细节不甚明了,也是一遍遍尝试出来的,所以分享出…