首页 > 其他分享 >测试工程师

测试工程师

时间:2023-07-10 19:14:39浏览次数:41  
标签:工程师 测试人员 学习 开发 测试 计算机专业 软件测试

软件测试书本推荐

《google软件测试之道》

《软件测试的艺术》

《捉虫日记》

《软件测试的经验及教训》

《测试驱动开发》

《移动APP测试实战》

在知乎上,经常看到很多新手想要学习软件测试,却不知道该怎么开始,软件测试到底需要掌握哪些技能?小编粗略的整理了一份学习大纲,希望对刚刚入行或者想要学习软件测试的朋友有一点帮助。

①测试的理论基础

不管你以前有没有学过计算机,有没有计算机基础,学习测试的理论都是首要的,不管你是想要学习功能测试,性能测试,测试开发。

主要包括常见的软件开发流程及模型,特别是敏捷开发相关知识。

软件测试的定义、分类、测试的流程、测试用例编写方法以及bug的管理及生命周期

了解web端和app的常见测试点和测试方法

编写常见的测试文档,如软件测试报告,bug单,测试计划等等

②学习数据库

数据库是开发和测试最基本的技能,软件前后端的交互,本质就是数据的交互,不管是功能测试,性能测试,接口测试,自动化测试等等,都离不开数据库的支撑和使用,这一部分主要是了解数据库的基本概念,数据库SQL增删改查,常见的表操作语句,以及数据库工具(Navicat)的使用

③学习Linux

作为一名软件测试工程师,我们经常要在服务器端查看日志,从而定位bug的源头,还有,在linux系统上搭建测试环境。Linux系统一直被用作重要的服务端操作系统,我们必须要掌握基本的Linux系统知识,熟悉常见的命令及工具,当然,更高级的使用,是通过编写shell脚本,自动化完成测试任务。

④接口测试

接口测试本质上也是功能测试的一种,通过脚本和工具,模拟客户端对服务端接口进行调用。由于是从接口层测试,能更早的发现问题,提高测试的效率,降低修复的成本。现在招聘软件测试的基本要求之一是熟练的掌握接口测试。

⑤性能测试

性能测试的技术要求很高,不仅要对性能的指标,测试的分类,测试设计有深刻的理解,还要学习系统业务和架构相关知识,这样才能更好的设计性能场景,分析出系统的性能瓶颈。性能测试常用的工具:jmeter和loadrunner(大家可以根据需要进行学习)。

⑥自动化测试

学习自动化测试的基础是掌握一门编程语言,个人优先推荐Python(简单;易学;免费开源),其次Java,并且还要掌握一定的前端知识。

掌握相关的自动化测试工具selenium、appium

掌握常用的自动化测试框架,如果用python实现的话,则需要掌握requests库和unittest框架的使用。

⑦其它



作者:博为峰51testing
说到项目经验,企业是非常看重的,也是0基础转行或者应届毕业生在找工作的一道门槛。因为企业的需求是一个能够快速上手工作的人,他们大都不愿意花成本,花时间去培养新人。那么,怎么获得项目经验呢?除了自学,在培训班学习也是一个不错的途径噢。就拿我们博为峰来说,我们非常重视企业的需求(即企业需要什么样的人才),因此,我们不仅仅要让0基础的人学习一些基础的理论知识,更重视项目实战经验。

每个在博为峰的学员除了考勤打卡,上课,完成作业,各种大大小小的考试,还有很多项目要做,除了一些经典的教学项目,案例项目,真实项目,还有自选项目,让每个学员都能有充足的机会和时间来阐述自己选择的实战项目,老师一一进行针对性点评和指导,帮助学员拓展项目实操经验,提高项目表达及面试应答能力,提升就业质量。

 

四、只会基础的“点点点”,不会自动化测试等等

有很多人虽然从事软件测试行业多年,但是只会基础的点点点的工作!这与企业的需求是非常不符合的,虽然我国软件测试行业仍然是以功能测试为主,不过,随着云计算,大数据,物联网,互联网,人工智能等新兴产业的迅猛发展,软件测试出现持续短缺,需求量的确大幅增长,而原有的软件测试从业者可能因为能力/技术方面不足,失去竞争力。

 

一 很多小白太天真,以为企业会对一个人无限制的好

二 软件行业更讲究学历网络工程师更多的是偏向于经验

对于网络工程师来说,并没有太严格的要求,除非是超大规模的企业要求你学历较高,大多数的企业只要你大专以上就可以

其次就是不管做哪个岗位,不管是做软件还是做网络,都要先确定自己的爱好是什么,真的喜欢软件还是真的喜欢网络,因为不管做哪个岗位,其实都是一个技术岗位,都可以发展下去,但是一定要结合自己的实际情况以及自己的爱好,还有自己的学习能力等等等等再做决定

 

职业规划这个问题一般面试都会问,一般的套路是:

1-2年,熟悉这个行业的流程,使用的基本技术,能独立搞定其中的技术,知道那一块技术应该怎么学

3-5年,锻炼独挡一面的能力,注意技能全面,有需要哪一方面的技术,就注意积累那方面的能力

5年以上,注意往某一方向发展,成为某一方面的专家

在未来1-2年内主要精力放在测试技能方面:比如熟悉整个测试过程及产品业务领域,学习和掌握自动测试工具,学习测试自动化编程技术;开发和执行测试脚本,承担系统测试实施任务;学习编程语言、操作系统、网络与数据库方面的技能。2年之后可能会根据我所学,和我的兴趣爱好在技术与管理方面有所偏重,希望自己3年以后有能力独立,完整,高质量的完成一个中型项目的测试。希望5年之后自己成为xx方面的专家

 

下面总结一下大家选择从事软件测试的几大理由:

 

  • 大学学的是开发,但是感觉开发没学好,想转测试

这种的一般是大学没有认真学习,面临毕业压力,找不到开发工作,所以考虑转测试。

 

  • 其他行业人士,从各种渠道听说测试工作很好,工资高,因此想转测试

这种的一般是不满足现在的工作,而且对高薪资很向往,想转测试但是没有门路。

 

  • 大学学的不是开发,对计算机比较感兴趣,对比开发和测试之后,觉得测试入门简单,所以想转测试

这种的一般是有一定自己的想法,但是又不敢勇敢地迈出第一步,一直在纠结中。

 

乍一看,好像测试比不上开发那么吃香,属于咱们的第二选择。其实不然,俗话说既来之则安之,既然选择了测试工作,那么就要用心地做好,不然什么工作都做不好。

之前有个偶然接触到测试行业的朋友,她也是误打误撞海投简历面试上了测试岗位,后面入门之后发现测试越来越有意思,现在已经是测试主管了。

 

所以说,工作没有好坏,能够决定未来的只有自己!

 

我为什么选择了软件测试?

 

最大的原因应该就是读大学的时候阴差阳错被调剂去了计算机专业。要是我学的是应用心理学,真的很难会和软件测试有什么关系。既然学的是计算机专业,那自然接触的最多的就是和计算机相关的。

当大三面临找工作压力时,就要选一个方向了。刚读大学的时候很傻,因为与生俱来的逆反心理,抗拒专业调剂这件事,进而讨厌计算机这个专业,认为不是自己选择的,拒绝去接受和热爱。也就没有打下任何计算机专业知识的基础,编程能力基本为零!在这种情况下,选择做开发就需要面临更大的挑战了。

先插一句,简单来说,计算机专业做技术的话,主要有这几个方向:

第一,开发,通俗来说就是写代码的;

第二,运维,简单来说就是做系统部署维护的;

第三,网管,好理解点就是搞网络的,让你能上网的;

第四,软件测试,就是大家口中说的找bug的;

当然,还有很多很多方向,可以做设计做产品经理等。每一个大类的细分就更多了,就开发来说,可以按语言来分,可以按产品来分,可以按软件的结构来分。测试的分类也是五花八门,也不一一列举了。

既然如此,选择如此之多,我为什么就偏偏选择了软件测试?简而言之一句话,软件测试上手容易。(就是这么无耻而又现实)入门级的话,对计算机专业知识技术要求没那么高。

 

本着先就业再择业的态度,就一脚踏入了测试这个坑。不曾想,有些时候一旦入坑,就很难回头了,因为只要开始一份工作,后面都会按着相似的岗位和既定的轨迹来走。若要重新开始一条路,就意味着要舍弃很多,要多付出不可估量的努力,而最关键的是,宝贵的时间就在这种转换中被无情地浪费掉了。所以,大家一定要慎重选择自己的第一份职业,第一份工作。

而我比较庆幸的是,我选择的测试行业不管是从前期投入还是回报来说都是比较良好的。虽然不说有多么喜欢做测试,但是至少我不讨厌,偶尔也能从工作中获得小小的成就感,学习提升的时候也能感受到满足感,而不是每天做着重复,机械的工作,把自己变成一台只会工作的机器。

选择软件测试是偶然也是必然

 

肯定不会单纯因为是计算机专业就选择了软件测试,更重要的是我看到了这个岗位的就业需求量巨大,基本上任何一个成型的互联网公司都是需要软件测试工程师的。

不言而喻,有需求就有前景。

按书上的理论来说,一开始企业是不重视软件测试的,有程序员设计开发出来一套产品,能用就能挣钱了,何必多花一笔钱找个不能创造价值的家伙来专门负责挑刺呢。后来因为各种千奇百怪的bug层出不穷,造成了意想不到的损失之后。老板们纷纷意识到,质量保证人员也是不可或缺的,于是企业们纷纷向测试工程师挥手,薪资待遇什么的自然水涨船高。

在测试人员供不应求的情况下选择软件测试这个岗位,不可谓不明智。但是,正如一幅讽刺漫画中描述的一样,中国人看到有人在一个地方开加油站很挣钱,于是纷纷在那个地方开起了加油站。所以现在人们听说IT行业挣钱,不管之前学的是什么专业,都想要往这里钻了。连文科生都参加培训班,然后敲起了代码。

现在行业已经不如前几年景气了,不过在这万物互联,生活事事都软件化智能化的时代,好的软件测试人员也还占一席之地。

不管你是刚入门的小白、还没入门的群众、已经入门很久的前辈,不满足现在的工作情况,你想升值加薪,想弯道超车,都可以加我的群:680748947,咱们会提供一套专门的测试学习路线规划,带领你实现人生逆袭,财富自由。当然,咱们也有免费的资料可以提供给喜欢自学的小伙伴,所以欢迎大家踊跃加群~我会一一为大家通过的。

 

说到现在一些危机论,我也有自己的一些看法。都说很快测试行业就会被开发、运维替代,以后的测试人员将没有立足之地。

我觉得这种说法有一定的道理,但是并没有那么严重。只要IT行业需要有开发存在,那么测试也就会一直存在,就算开发能完成一部分的自测,剩下的还是要交由专业的测试人员来保证软件的质量。

最有力的的证据就是:现在招聘网站上对自动化测试工程师的需求还是非常多,会自动化的测试人员还是非常吃香!

尽管,现在大部分的测试人员还属于最初级的功能测试,但是越来越多的功能测试人员意识到了提升的重要性。不管是通过什么方式,他们都在通过自己的方式努力着。

只要愿意努力,就永远不怕被淘汰!

我就是从开发转到了测试,之前是在测牛学堂培训出来的。要说后悔也不至于,反正现在的工作很稳定,薪资方面也说的过去。对未来还是很可期的。

 

标签:工程师,测试人员,学习,开发,测试,计算机专业,软件测试
From: https://www.cnblogs.com/jianzimulanflower/p/17542035.html

相关文章

  • 测试
    SpringBoot学习记录常见的问题这是一篇测试markdown文件无敌是多么寂寞啊啊啊啊大无畏yesthis我也没不知upackagecom.test.exception;importorg.springframework.http.HttpStatus;importorg.springframework.http.ResponseEntity;importorg.springframework.......
  • 云原生周刊:Dapr 完成模糊测试审计 | 2023.7.10
    开源项目推荐Shell-operatorShell-operator是一个在Kubernetes集群中运行事件驱动脚本的工具。node-problem-detectornode-problem-detector旨在使集群管理堆栈中的上游层可以看到各种节点问题。它是一个在每个节点上运行的守护进程,检测节点问题并将其报告给apiserver。......
  • 「???」测试用的
    \(x\)\(-1\)\(-\frac{\sqrt{3}}{2}\)\(-\frac{\sqrt{2}}{2}\)\(-\frac{1}{2}\)\(0\)\(\frac{1}{2}\)\(\frac{\sqrt{2}}{2}\)\(\frac{\sqrt{3}}{2}\)\(1\)\(\arcsinx\)\(-\frac{\pi}{2}\)\(-\frac{\pi}{3}\)\(-\......
  • 对一个已有项目搭建单元测试集的一个方法
    对一个已有项目搭建单元测试集的一个方法0说明1准备1.1软件环境googletestcmake1.2需要的知识单元测试相关概念1.3一般原则每次只测试一个对象,被测对象应该尽可能的独立,应该是一个很小的单元,依赖项通过mock或stub模拟;每个测试项均应执行迅速且独立于测试环境;各......
  • Labview测试系统,能够满足绝大多数客户需求,商用系统。 包可用 有说明
    Labview测试系统,能够满足绝大多数客户需求,商用系统。包可用有说明。ID:568000637815285470......
  • 混沌测试工具ChaosBlade
    王者藏于民,霸者藏于大夫,残国亡家藏于箧---《管子》原文链接:https://blog.csdn.net/u013256816/article/details/99917021一、前言ChaosBlade是一款遵循混沌工程实验原理,建立在阿里巴巴近十年故障测试和演练实践基础上,并结合了集团各业务的最......
  • 中小型系统必要可行的性能测试实践--ArtHas调优实战
    一、参考arthas用户实例,积累arthas调优经验。二、arthas命令汇总图 参考:arthas官网文档arthas在线教程arthas用户案例一图掌握Artha ......
  • 测试工作繁琐,想要提高效率?来试试这款测试平台RunnerGo
    RunnerGo是什么?RunnerGo是一款轻量级、全栈式的测试平台,支持接口管理、场景管理、性能测试、自动化测试等功能。与市面上的性能测试工具不同的是RunnerGo基于go语言研发,更加轻量级。RunnerGo有什么优势?做软件测试的同学在工作时应该都碰到过这种情况:接口管理、接口测试用postm......
  • API管理不好做?来试试Apipost,前端、后端、测试,一个平台全搞定
    API是什么&API管理存在哪些问题API(ApplicationProgrammingInterface,应用程序接口)作为一系列预先定义的规则和约定,用于不同软件应用之间的通信,促进了系统间的互动和数据共享。在企业数字化转型的推进中,API管理变得越来越重要。然而,API管理过程中存在着一些困境,以下是其中的四个......
  • LabVIEW开发的测试设备软件代码和PLC程序 前几年给一
    LabVIEW开发的测试设备软件代码和PLC程序前几年给一台检测设备做的上位机软件,三条测试支路共用同一个状态机vi,每个支路可独立运行,按编号区分每路的控制,下位机为西门子200smart,上下位机通过ModBUSTCP/IP通信。可以给LabVIEW学习者带来一些开发思路和启发。LabVIEW开发的测......