面试经历:我为什么选择的测试的?

news2024/11/25 14:42:17

目录

前言:

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

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

  黑盒测试偏爱开发能力

  说明

  白盒测试需要开发能力

  安全测试需要开发能力

  开发测试工具


前言:

不知不觉已经从事软件测试六年了,从毕业到进入外包公司外包给微软做软件测试, 到现在加入著名的外企。六年的时间过得真快。长期的测试工作也让我对软件测试有了比较深入的认识。我就跟大家分享一下我做测试的心得,如有错误还请批评改正。

见过不少软件测试岗位,在面试时,问到选择软件测试作为职业的原因时,有不少测试工程师会回答:因为不擅长或不喜欢开发的工作。

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

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

  ·“不喜欢开发,那就来选测试吧”

  · “测试不需要多少开发知识的”

  · “开发太难了,还是测试容易入门”

  · “我就是因为不喜欢开发,而选择的测试”

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

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

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

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

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

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

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

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

  Bug2:当在日期控件中选择一个日期后,在该日期后输入3000个字符后,单击OK按钮,程序崩溃。

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

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

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

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

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

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

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

  拥有C++或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字段。

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

  安全测试需要开发能力

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

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

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

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

  开发测试工具

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

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

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

 作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N4P3http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=BHdzgqNXipqTndRjIrF6GAKC5-OmgB6o&authKey=rcWrerWOeUI1fnBF%2B02IJwI9GjXgXT2B%2BlJj974rhIy7DGIcveA%2BhtIzgWnWoeih&noverify=0&group_code=574737577

 

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

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

相关文章

Android系统的Ashmem匿名共享内存系统分析(5)- 实现共享的原理

声明 其实对于Android系统的Ashmem匿名共享内存系统早就有分析的想法,记得2019年6、7月份Mr.Deng离职期间约定一起对其进行研究的,但因为我个人问题没能实施这个计划,留下些许遗憾…文中参考了很多书籍及博客内容,可能涉及的比较…

SSM 框架

ssm框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层。ssm框架是目前比较主流的Java EE企业级框架,适用于搭建各种大型…

张小飞的Java之路——第四十六章——网络编程基础

写在前面: 视频是什么东西,有看文档精彩吗? 视频是什么东西,有看文档速度快吗? 视频是什么东西,有看文档效率高吗? 诸小亮:关于网络你了解多少? 张小飞&#xff1a…

五月份跳槽了,历经阿里测开岗4轮面试,不出意外,还是被刷了....

大多数情况下,测试员的个人技能成长速度,远远大于公司规模或业务的成长速度。所以,跳槽成为了这个行业里最常见的一个词汇。 前几天,我看到有朋友留言说,他在面试阿里的测试开发工程师的时候,灵魂拷问三小…

Java开发工程师是做什么的?高考结束最重要的专业选择!

各位同学大家好,我是小源,明天就是高考了,对于正常的一个考生来说,专本线的同学已经开始陆陆续续准备看专业。今天,好程序员分享一个专业,他的名字叫做Java开发工程师,不知道同学有没有听说过这…

【Linux学习】多线程——信号量 | 基于环形队列的生产者消费者模型 | 自旋锁 | 读写锁

🐱作者:一只大喵咪1201 🐱专栏:《Linux学习》 🔥格言:你只管努力,剩下的交给时间! 目录 一、 信号量1.1 概念1.2 信号量的基本操作1.3 信号量的基本使用接口 二、基于环形队列的生产…

第8章:SpringMVC的文件上传和下载

一、文件上传和下载 1.文件下载 使用ResponseEntity用于控制器方法的返回值类型,该控制器方法的返回值就是响应到浏览器的响应报文。使用ResponseEntity实现下载文件的功能。 ①创建file.html ② 在FileController.java类里面 文件不管是上传还是下载&#xff0…

思科无线AC旁挂并由第三方网关下发业务上网VLAN的案例

在企业网络环境中,思科无线AC(Access Controller)常用于无线网络的管理和控制。通常情况下,AC会负责分配无线设备的IP地址和VLAN标识,但在某些特定场景下,我们可能需要通过第三方网关来下发业务上网所需的V…

高频Postman接口测试面试题,我面试没通过的原因找到了

目录 一、Postman在工作中使用流程是什么样的? 二、你使用过Postman的哪些功能? 三、Postman如何管理测试环境? 四、Postman如何实现接口关联? 五、Postman参数化有哪几种方式? 六、Postman中全局/环境/集合变量…

Python和PHP相比有什么优势?我来聊聊深入学习的七个关键点

今天要跟大家谈一下一个高中生被Python培训机构坑的真实案例,披着大数据的壳子。这个高中生进去的时候,他们承诺不管什么学历包分配,毕业后直接上岗。这种承诺肯定是不靠谱的,因为基本上只要说出这句话的包分配,都是很…

如何从零开始构建 API ?

假设你请承包商从零开始建造一座房子,你肯定期望他们交付最高质量的房子。他们必须通过检查、遵守安全规范并遵循项目中约定的要求。因为建房子可容不得走捷径。如果承包商经常走捷径,他们的声誉会受到影响,从而失去客户。其实,开…

jmeter-分布式部署之负载机的设置

目录 引言 一、windows下负载机的配置(执行机) 二、linux下负载机的配置 三、错误总结 写在最后 引言 今天想和大家聊一下关于jmeter分布式部署中负载机的设置问题。作为一个自动化测试工具,jmeter在性能测试方面有着很强的优势&#x…

NLP(3) Text Classification

文章目录 OverviewText classification 的主要任务Topic ClassificationSentiment AnalysisNative Language IdentificationNatural Language Inference 如何构造 Text ClassifierClassification AlgorithmsBias - Variance Balance朴素贝叶斯Logistic RegressionSupport Vecto…

chatgpt赋能python:Python如何倒序输出:一步步教你实现

Python如何倒序输出:一步步教你实现 Python是一种通用编程语言,具有快速开发、易学易用等诸多优点,在大数据、人工智能、科学计算等领域得到广泛应用。其中,倒序输出是Python编程中非常常见的操作。那么,如何在Python…

STM32F407 移植 FreeRTOS

0. 实验准备 本实验是基于正点原子 STM32F407ZG 探索者开发板完成的,所以需要一个STM32F407ZG 探索者开发板 用于移植的基础工程(下面会讲) FreeRTOS源码(下面会讲) 1. FreeRTOS移植 1.1 移植前准备 1.1.1 基础工程…

SpringCloud Gateway网关集成与配置

📝 学技术、更要掌握学习的方法,一起学习,让进步发生 👩🏻 作者:一只IT攻城狮 ,关注我,不迷路 。 💐学习建议:1、养成习惯,学习java的任何一个技术…

桶装水站点APP小程序管理系统 方便快捷送水上门

夏天到了,又到了疯狂饮水的季节了,桶装饮用水是日常生活办公环境中必不可少的产品,这种必需品消耗快隔三差五就要购买一次。一般人都是通过电话预定的方式来购买桶装水,商家必须保证随时随地有人接听电话才能避免遗漏客户&#xf…

系列六、MongoDB文档相关操作

一、插入文档 1.1、单条插入 # 语法 db.集合名称.insert({json数据})# 案例 db.user.insert({"name":"张三","age":23,"birthday":"1997-07-07" }) 1.2、多条插入 # insertMany语法: db.collection.insertMan…

Docker 的数据管理和Dockerfile

-------------------------------------------Docker 的数据管理-------------------------------------------- 管理 Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器(DataVolumes Containers)。 …

ClickHouse集群安装与部署

这是一篇关于讲解如何安装部署ClickHouse集群的参考文章,希望通过此,大家都能了解ClickHouse,都能学会安装配置ClickHouse以及它的使用。 什么是ClickHouse? ClickHouse是Yandex于2016年开源的列式存储数据库(DBMS),主…