软件测试工程师的工作内容?告诉你们什么是真正的测试工程师

news2025/1/12 16:02:40

目录

前言

1.何为软件测试工程师?

2.软件测试工程师的职责?

3.为什么要做软件测试?

4.软件测试的前途如何?

5.工具和思维谁更重要?

6.测试和开发相差大吗?

7.成为测试工程师的必备条件

8.测试的分类有哪些?

9.提高测试质量的要诀?

10.测试流程是什么?

总结:


前言

测试这份工作确实入门相对来说是比较低的,看起来谁都能做,但是不一定谁都能做好,并且在一些小公司里面,测试往往还会被其他人认为是没有技术含量的工作,但是我想说在大厂里面,测试是跟开发同等级的存在,无论是工资还是声望,相对的大厂里面需要的要求就会高很多。

对于工作不久的同学来说,你会发现其实自己在测试的时候并没有用到很高深的技术啊,为什么在面试的时候会问到很多东西,并且招聘要求这么高,这是一个很现实的现象,公司招人肯定是想招一个能力超出成本的员工,这样既可以完成当前的工作量,还可以在特殊情况下完成新加的任务,而面试时那些额外多问的技能就是用于后者。
相信很多同学会有这样一个心理想法,那就是:测试一下子就测试完了,我现在好闲啊,这样会不会不太好?测试也太没有意思了吧,我学了几年的计算机竟然做这么没有技术含量的工作,那我不是白学了?我觉得我已经测完了,这个软件没有什么可以测试的了,我现在在等开发修改bug,那我现在应该做些什么呢?

 

1.何为软件测试工程师?

软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有缺陷(Bug),测试软件是否具有稳定性(Robustness)、安全性、易操作性等性能,写出相应的测试规范和测试用例的专门工作人员。

2.软件测试工程师的职责?

软件测试就是使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。开发工作的根本是尽量实现软件用户的需求,测试工作的根本是检验软件系统是否满足软件用户的需求。
软件测试工程师简单的说是软件开发过程中的质量检测者和保障者,负责软件质量的把关工作。

3.为什么要做软件测试?

1.发现软件缺陷
2.发现功能错误
3.检查是否功能遗漏
4.超出需求部分(画蛇添足)
5.性能不符合要求
6.软件质量高低:是否符合用户习惯、符合用户需求

4.软件测试的前途如何?

说到软件测试的前途,我觉得应该说是软件测试人员的职业规划,请注意我说的是人员,因为这个岗位的前途肯定是有的,就算要陨落也不是在你这一代测试工程师中陨落,因为这是一个新鲜的岗位,是个年轻的岗位,未来需求很大,是一个很重要的岗位。工作没有好坏,能决定未来的只有自己。

5.工具和思维谁更重要?

相对于测试工具,我更加倾向于测试思维。 当然这两者是相辅相成的,双向提升会让你在测试的工作中得到很大的提升,测试的思维贯穿整个测试的职业生涯,从一个0基础的测试工程师进阶到一个中级测试,前一两年的成长基本上都是在测试思维上的提升,这段时间很多人都会很迷茫,觉得自己是一个没有什么技术的人,其实这个成长的期间更多是要寻找自己的定位,落实自己作为一个专业测试工程师的思维方式。

当自己具备了一定的测试思维之后,我们面临的一个挑战就是在测试技术上的关卡,在招聘上面我们往往可以看到基本上的测试工程师都是需要测试工具的使用,而且会使用测试工具比不会使用测试工具的人工资要高,显而易见,在具备了测试思维之后,要进一步的提升自己就要在技术上的加强了,不管是测试工具的使用,还是自动化脚本的编写,这些都可以视为辅助我们去测试一个软件产品的工具,为达目的想尽一切办法去发现软件中的缺陷。

6.测试和开发相差大吗?

简单的一句话概括:测试和开发就像是互补关系。 开发注重的技术的深度,而测试注重的是知识面的广度,开发懂测试,但是在测试方面上没有测试工程师那么专业,因为不具有测试的思维方式;中高级测试工程师很多是具有开发能力的,但是他在开发技术上没有专职开发理解的那么深刻,所以开发的闪光点是技术的深度,测试的闪光点是知识面的广度和测试思维。

7.成为测试工程师的必备条件

首先第一点,作为一个测试工程师,计算机相关专业的知识在工作中起至关重要的作用,这是作为一个测试工程师必备的,其中就包括(计算机网络,操作系统,数据库系统,开发语言以及开发工具等),我们一定要具备这方面的知识,但是工作中不一定都会用上,不同方面的测试需要的技能也就不同,比如功能测试也就是点点点的操作,基本上没有谁不会使用一个软件吧,就是这个道理。

第二点就是测试思维,也是我认为一个人是否能做好这个岗位的标杆,上面一点我说了,计算机相关的知识我们在工作中可能用不到,但是测试思维一定要时刻应用,因为思维决定行为,有一个完整的系统的准确的测试思维,才能把工作做到细致做好,因为测试工作是无穷的,不存在没有bug的程序。

第三点就是需要具备测试技巧,有更多的测试方法,熟悉测试工具,当然就相当于是后续的工作经验积累出来的产物了,需要我们在工作中不断的去整理,去学习,去应用。测试这份工作是探索性的工作,在工作中,真正去执行测试用例执行测试工作的时间是占的比较少的,更多的时间都花在探索上和整理文档上。

第四点就是工作中的一个学习和沟通能力了,找bug是测试的工作,改bug是开发的工作,所以这之间就少不了沟通和交流,在沟通过程中,测试和开发直接需要有一个共通的表达方式去描述这个bug,使得测试人员能清楚的描述bug,并且开发人员也可以准确的知道bug的现象,方便在快速定位问题并且解决问题。既然测试是一个探索性的工作,所以就需要更多的知识和技巧做铺垫,我们在工作中需要带着强烈的求知心去工作,去吸收去学习一切能在工作中帮到自己的知识点,对自己的提升也会起到至关重要的作用。

8.测试的分类有哪些?

说到测试分类,在网上搜一下就出现了很多,有功能测试,性能测试,自动化测试,数据库测试,接口测试,安全测试,还有细致一点的就是app测试,web测试,游戏测试等等等等。我们暂且就分为功能,性能,自动化这三类
功能测试简单来说就是测试产品能做什么功能,性能测试就是测试产品的功能做的怎么样,自动化就是利用脚本来代替人工去完成一个功能操作的测试(自动化测试一般在测试阶段的后期,当产品达到了一定的稳定性之后,利用自动化脚本进行快速的回归)

 

9.提高测试质量的要诀?

另外一个值得注意的方面就是工作效率和质量,或许高级测试工程师与普通测试工程师的主要区别在于高级测试工程师可以更快地发现更多软件中的严重错误。对此,有什么可以借鉴的诀窍吗?请尝试以下方法,保证不会使您失望。

  • 首先测试程序的核心功能,然后测试辅助功能。

  • 首先测试功能,然后测试性能。

  • 首先测试常见情况,然后测试异常情况。

  • 首先测试经过变更的部分,然后测试没有变更的部分。

  • 首先测试影响大的问题,然后测试影响小的问题。

  • 首先测试必须测试的部分,然后测试可选或没有要求测试的部分。

10.测试流程是什么?

测试既然是一个必不可少的岗位,自然就有一套完整的测试流程来支持。那么软件测试的流程是什么呢?什么时候测试工程师才进入测试工作呢?在测试前需要一些什么准备呢?每个流程阶段我们应该做一些什么?

软件测试工程师的整个工作流程:项目立项–>需求分析–>测试分析–>测试计划–>编写测试用例–>执行用例–>bug管理–>测试报告 ,这一整套流程下来,也许看起来你会觉得自己根本就没有参与几个,但是如果你是研发组唯一的测试,又或者你是测试组的大佬,那么这一整套流程下来你必不可少。

项目立项和需求分析 :这两个基本是同一时间进行,就是产品经理或者是市场经理有一个可以赚钱的好点子,想跟大家讨论一下,这就是一个项目的萌芽阶段(项目立项);然后确定了项目之后,大家一起分析一下功能,需要满足什么样的需求,这个产品的架构是怎样的等等。

说到这里你是不是发现好像这些事就是开发和产品那边的事儿,跟我们测试不搭边呢,其实不是,作为测试,在参加这次会议中,目的就是要知道接下来有一个什么项目需要我来测试,项目的定位是什么,客户群体是哪些,用户环境在什么场景等等一些信息都对我们进行测试有很大的帮助。往往一个专业的测试人员是要完整的介入整个产品的研发和测试阶段。

测试分析:在这个阶段,就开始考验到了一个专业的测试工程师的一个业务能力了。这个阶段如果分析的好,就能提高用例的覆盖率,尽可能的保障了软件的测试质量。测试分析和测试用例设计是有一定的区别。

测试计划:计划的撰写有助于工作的进行,写好一份测试计划,可以让我们在工作中按照一定的流程去完成工作,并且在测试计划中,有比较详细的人员分工,时间安排,环境搭建要求,测试的目的,项目的介绍,这些基本的信息都会出现在测试计划当中。当然这个环节不是每个测试人员都要去做的,一般出现在组长或者组长以上的人才去完善这份工作,或者组织内有一定的测试架构和项目分支,测试人员和项目版本比较多,项目复杂多样化,那么测试计划就起到了至关重要的一步。

编写测试用例和执行用例:那么在编写用例的环节,我们从测试分析为出发点,利用等价类,边界值,场景法,因果关系等一些用例设计方法来设计测试用例,并且在用例中表明需要用到哪些测试数据。在完成了测试用例的编写之后,接下来就是用例的执行了,按照测试用例的一些步骤和预期结果,来执行我们的用例,判断是否通过,未通过的用例就可定义为一个bug。

测试用例看起来就是玩文字游戏,其实它的作用体现在的是一个记录作用,因为如果没有测试用例这个文档,那么我们在测试的时候难免会出现漏测现象,这样就造成的工作的不合格,再则就是用例还可以用来当做一个凭证来证明自己的工作,如果在工作中发生争执了,可以及时的拿出用例来为自己作证。

bug管理:有了测试的用例,那么就会出现测试的产物,就是bug,作为一个专业的工程师,我们所需要做的无非就是想尽一切的办法去判定开发写的程序,所以我们在找到问题的时候,需要给出的是一个高质量的bug。什么是高质量bug呢?所谓的高质量的bug,就是必须有一个准确的复现步骤,有一个直观的bug现象,必要的时候可以加上log,加上截图,加上测试数据,甚至有时候出现了特别难以出现但是严重级别高的bug,直接就保留现场,叫上开发过来了解情况。

有了这些东西,开发同志就无力反驳我们抛出的bug了,为什么我们提出bug要这么准确呢,原因就是我们是专业的工程师,产品上线之后,如果市场上没有重大的bug反馈,那么这是我们尽到了责任,但是如果市场有重大的反馈,导致对公司造成了损失,那么就是我们的失职。我们不仅要提交bug,还要跟踪bug,使bug从产生到关闭有一个较快的闭环,将那些严重的,优先级高的bug及时的催开发修改,一个优秀的团队就是要做到每一个员工尽责。

测试报告:测试报告书写的目的就是将自己的测试结果通过这份报告让别人可以了解到目前产品的一个状况,所以在测试报告上,我们尽可能描述重点,写一些有价值的东西。因为别人是通过你的这份报告来间接性的了解产品的状态,所以如果你写的太复杂,像流水账一样,给人的感觉并不是细致,而是啰嗦,所以在写完报告之后,我们应该站在一个阅读者的角度去审阅自己的测试报告,看看是否明确是否完美。

总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

   Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628

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

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

相关文章

shiro和redis一起使用

Shiro 缓存配置 当我们进行授权操作时,每次都会从数据库查询用户权限信息,为了提高授权性能,可以将用户权限信息查询出来以后进行缓存,下次授权时从缓存取数据即可。 Shiro 中内置缓存应用实现,其步骤如下: 第一步:在 SpringShiroConfig 中配置缓存 Bean 对象(Shiro 框架提供)…

Talk | 阿姆斯特丹大学博士生胡涛:计算机视觉中的标签效率学习

本期为TechBeat人工智能社区第509期线上Talk! 北京时间6月29日(周四)20:00,阿姆斯特丹大学博士生—胡涛的Talk将准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “计算机视觉中的标签效率学习”,届时将从生成式学习、数…

Drools用户手册翻译——第二章 入门(上)

因为篇幅原因,所以分为上下两个部分,主要就是通过一个交通违章项目的例子,带你先粗略感受一下决策模型的使用流程,总体来说有详细,也有没说清的地方,如果想要了解一下决策模型,可以进来了解一下…

试用有奖:在线试用stable diffusion 模型生成优质人物好图

一、活动介绍 InsCode是一个集成了在线IDE、在线AI编程、在线算力租赁、在线项目部署以及在线SD 模型使用的综合代码开发平台。不论你是初级软件工程师,还是AI大模型爱好者,InsCode都能帮助你快速编写代码,运行项目。甚至在这里你还可以一键…

某平台登录之电话号码加密

抓包 POST /******/common/****** HTTP/1.1 Host: ****** Content-Type: application/json; charsetUTF-8 Host: ****** User-Agent: okhttp/3.14.9{"type":"login","apor":"******************"}加密 由于信息原因就不泄露了 此处只…

Linux系统编程:进程的创建、终止和替换

目录 一. 进程创建 1.1 fork函数的使用 1.2 fork函数的底层实现 1.3 子进程创建的写时拷贝问题 二. 进程的退出 2.1 进程退出的场景和方法 2.2 exit和_exit函数 三. 进程的等待 3.1 为什么要有进程等待 3.2 进程等待的方法 3.2.1 进程等待的相关函数 3.2.2 进程的阻…

JS知识点汇总(六)--作用域链this

1. 什么是作用域链? 作用域,即变量(变量作用域又称上下文)和函数生效(能被访问)的区域或集合 换句话说,作用域决定了代码区块中变量和其他资源的可见性 1. 作用域分类 一般将作用域分成&#x…

TDengine 发布 IoT 场景下 3.0 性能对比分析报告,全方位超越 InfluxDB TimescaleDB

6 月 26 日,涛思数据旗下时序数据库(Time Series Database) TDengine 正式发布 IoT 场景下 TDengine 3.0 性能对比分析报告,该报告在 IoT 场景下从数据写入、压缩和查询等维度,对比了 TDengine 与市场其他流行的时序数…

Linux系统安装QQ最新版

腾讯在2023-05-30更新了linux版的qq,这次界面终于不再复古,好看多了。 安装步骤: 1.进入官网,寻找合适的安装包下载 https://im.qq.com/linuxqq/index.shtml 选择跟自己计算机匹配的版本,一般都是X86,如…

VMware共享文件夹

当虚拟机需要使用宿主机里的文件时,就需要在虚拟机设置里添加共享文件夹,大概过程如下: 虚拟机设置: 在centos里,完成上述操作后会生成一个目录 /mnt/hgfs 宿主机里的文件就在这个目录里可以看到并使用了。

编译linux内核(二)

编译linux内核 1. 准备工作1.1 下载内核文件1.2 环境准备1.3 内核命名规则 2. 编译内核2.1 升级gcc2.2 make menuconfig其他报错2.3 配置选项2.4 编译内核2.5 安装模块2.6 安装内核2.7 验证内核 3. 制作内核文件3.1 创建磁盘文件3.2 磁盘分区3.3 将磁盘分区关联到/dev/loop7设备…

化学理论知识vr沉浸式教学软件推动立足“学生老师双主体”一体化的教学模式改革

VR虚拟仿真是基于虚拟现实、3D技术、计算机技术等搭建起来的一套具有数字化、智慧化的智能教学系统,它以学生学习为中心,探索学科内容,使用VR虚拟现实将学科内容以3D立体化形式呈现,培养学生的思维创新、实操技能。 VR虚拟仿真技术…

【数据库基础】Mysql基本概念讲解与实操

文章目录 数据库基础服务器,数据库,表关系Mysql的架构Sql分类 库的操作修改默认的编码格式两种校验修改数据库删除数据库备份和恢复观察用户,查看连接 表的操作修改表字段长度删除某一列修改表名修改列名称 数据类型小数类型floatdecimal字符…

Hystrix

一、Hystrix(豪猪)简介 1、Hystrix的设计目的 (1)对依赖服务调用时出现的调用延迟和调用失败进行控制和容错保护。 (2)阻止某一个依赖服务的故障在整个系统中蔓延,服务A->服务B->服务C,服务C故障了…

MySQL - Delete 和 Truncate 的区别

1. DELETE 命令 语法 : delete from 表名 [where 条件] -- 删除数据 (避免这样写, 会全部删除) DELETE FROM student;-- 删除指定数据 DELETE FROM student WHERE id 1; 2. TRUNCATE 命令 作用 : 完全清空一个数据库表, 表的结构和索引约束不会变. -- 清空 stu…

大体积mbtiles影像地图文件用什么软件浏览?

mbtiles格式简称mbt,是一种影像地图文件。PC端和手机端都有软件可以加载留着mbt格式的影像地图。 电脑桌面端 电脑端上的软件可以使用“图新地球”,直接把mbt文件拖到地图上即可,非常简便。 手机端 可以从华为应用商店下载“外业精灵”app…

Meta提出用向量检索来改进图像描述模型

出品人:Towhee 技术团队 作者:王翔宇 顾梦佳 随着深度神经网络的发展,自动图像描述技术取得了令人瞩目的进展。然而,现有的方法主要注重生成的描述与人类参考描述之间的相似性,却忽视了描述在实际应用中的特定目标。Me…

用户体验测试要怎么做?

用户体验测试是软件和应用程序开发的关键环节,它可以帮助团队了解如何优化产品以提高用户满意度,那用户体验测试要怎么做?下面是一些进行用户体验测试的最佳实践: 制定测试计划 在进行用户体验测试之前,您需要制定测试…

【Gradio】Could not create share link

Gradio是MIT的开源项目,用于构建机器学习和数据科学演示和 Web 应用,挺有意思的,感兴趣的同学可以去Gradio官网查看。 本地环境: - OS: Win 11 - Pyton: 3.10.11 - Gradio: 3.29.0 Gradio库的安装(Python 需要3.7 版本): - pip …

6.5 指令与文件的搜寻

6.5.1 指令文件名的搜寻 在终端机模式当中,连续输入两次[tab]按键就能够知道使用者有多少指令可以下达。 which (寻找“可执行文件”) 这个指令是根据“PATH”这个环境变量所规范的路径,去搜寻“可执行文件”的文件名。所以&…