职业:测试员

测试人员:这是错误还是功能?
开发人员:到目前为止,这是一个功能。
bash.im


也许对于许多人来说,测试工程师是我在2010年代在IT领域的第一个专业。这是一个经典的“输入IT”:当时只有经济教育,并且在电信分析工作方面有4年的经验。从这些技能中:精打细算,强烈的愿望,对UNIX管理的一般知识和内心学习的OSI模型(对下一步的工作没有太多的了解)。采访中有87个问题(从“ chmod 777是什么”和“ ssh如何工作”到“向我们介绍TCP的原理并举例说明”)-测试工程师的职位就在我手中。在2年后的不久,一切变得如此:自豪,绝望,失望,出色的工作,快速的成长,出色的项目等。如果我对测试人员的职业有所了解,那么不会有很多不愉快的时间和时间。好,那么那些只选择路径或更改方向的人就不会拥有它们-本文适合您。 


是谁呀?


测试人员(我会这样称呼,稍后再解释为什么要保留),他还是质量保证工程师(Quality Assurance)-专家,负责检查软件的质量以及软件对预定需求和预期结果的符合程度。在他的工作中,他使用各种工具,测试策略,包括在SCRUM命令中。 

有时,测试人员有两种主要的“类型”。

  1. 测试员是初学者,主要根据上述测试计划进行手动测试。恶名昭著的人经常会发脾气。


    这是测试人员,但男孩和女孩仍然是测试人员!(IT沙文主义主义的分钟)
  2. — junior lead, , , -, ( ).

这是一个非常大但不太严重的分类。实际上,测试人员是不同的:自动化测试专家,DBMS测试人员,测试分析人员,测试人员,DevOPs测试人员等等。这完全取决于每位专家的综合技能。 

通常,可以将测试工程师的工作简化为以下顺序:收到的软件→确定了必要的测试集→将门框,拐杖,自行车和错误的实际位置与程序的预期结果(硬件-软件组合)→已启动的错误→您进行处理直到他们关闭。当然,所有这些都是周期性的。

我马上说:测试的头几个月就像土拨鼠日,您做同样的事情,多次运行相同的测试,通过或失败,启动错误,看来这项工作绝对不适合您,但是而不是小学生或猴子。这种自我感觉令人极大的沮丧,也同样令人难以置信。经验到来,一切都会改变。 

这是您从头开始作为测试人员可能要经历的阶段。

前2-3个月-训练。如果公司是优秀和先进的,他们将为您提供一位导师,以帮助您掌握公司采用的所有测试方法,向您展示设备,谈论软件,该软件的任务,当然还有客户。有时,在接受导师培训后,您甚至必须通过一次小型考试(小型面试)。这是完全正常的,因为质量保证是通往客户之路的重要组成部分,它的良好表现是确保您在他人业务中的产品将开始起作用,而不会混乱。如果公司不十分在意员工的发展,那么您就必须自己实现所有目标,但是我不会说这很糟糕:通过自学,沉浸在软件中会更加深入,并且您所了解的远不止经验丰富的导师对产品的评价,他非常了解。 

他们喜欢新来者进行测试-有时他们发现最有趣,最出乎意料的错误,而这些错误早已被长期工作的员工所遗忘。

故事。一个新来的女孩来到一家公司,该公司丝毫没有表现出来,而是静静地学习软件及其在不同设备上的工作原理。当她刚开始测试时,关键人物从邪恶的联邦客户那里飞来(最邪恶的错误,更糟糕的是阻止错误的错误)-该软件拒绝关闭。铲除整个代码,互相大喊大叫,检查所有连接,等等。投掷三个小时后,女孩尖叫着:
-然后十字架不活动了。
确实,只有一个而且非常明显的功能根本不起作用。但是专业人士漂流到丛林中,一个热心的业余爱好者立即注意到异常行为。


进一步-从几个月到2年-手动测试。您将在手动模式下执行大多数类型的测试,开始制定测试计划并与开发人员进行交互。在这个阶段,同一天的土拨鼠时代来临,似乎这些马匹又是一圈又一圈地奔跑-例行和无聊。这不是真的。在此期间,测试工程师建立了对测试的综合理解,学会了与程序员合作,不仅查看错误本身,还分析了其可能的原因。在这段时间里,主要的事情是认识到手动测试应该保留在上个世纪,当您开始掌握一种编程语言(或使用以前掌握的知识)并编写自己的脚本(您认为必要的脚本)时,该切换到测试自动化了使用软件。真正酷的部分即将到来。 (但是,许多测试人员,特别是女孩,更喜欢停止手动测试并成为其中的王牌-顺便说一句,他们是非常有用的员工,并且根据经验显示,它们是初学者的最佳导师)。

从2年起,一位合格的专家随时准备在办公室和客户端上工作,以测试大型项目,不仅是片段和模块,他们深知自己的专业知识,而且不是每个人都很精通,不仅可以使用专门的软件,而且还可以使用测试各种硬件,软件和集成配置中的交互。这样的家伙在会议上冷酷而可口地讲话,分享职业秘密,训练和……思考他们未来的职业道路。有关此的更多信息。

软件测试人员的工作很好,因为您可以从某种角度选择与您感兴趣的公司相关的公司:您可以测试电话,软件,商务软件,游戏,移动应用程序,安全系统等。测试特定产品时,您会深入其中,从内部学习,并且将来您可以成为具有透彻知识的开发人员或项目/产品经理。

是的,测试是在IT领域中开始职业的最佳方法之一,大多数人都可以接受。因此,如果您想要(但尚不清楚该在何处以及在何处去)去测试人员,测试人员,它将很快变得清楚起来。

作为测试员的利与弊


本节不在专业系列的先前文章中,但它将在此处。因为有很多谣言,围绕测试工程师的工作存在争议,有人讨厌她,有人将整个职业都献给了她。因此,让我们回顾一下好与坏。

▍加号


  1. 在一定程度上,测试人员的工作比其他技术专业更简单,并且对IT领域的许多人都适用。是否越过界限使工作变得尽可能困难是每个人的决定。如果您不做进一步,他们不会驱逐您进行测试,您仍然有需求。
  2. 只要有信息技术,通信,互联网,机器人,自动驾驶仪等,对测试人员的需求就不会消失。
  3. — , . , ( , , ..).
  4. : , , , .
  5. , , , , , .
  6. .
  7. « » , , . . — , .


  1. :-) , : , , , . ?! — , . , , . , , . 

  2. , .

  3. , . .
  4. — , .
  5. — . , « » . , ( ).
  6. - — - , .

选择取决于优点与您的距离以及您是否愿意用缺点中列出的价格来支付。原则上,通过适当的工作安排和员工的自我组织,许多弊端被简化为零。

在哪里需要?


与开发人员不同,并不是所有生产至少一些自动化工具或应用程序的公司都需要测试仪(但徒劳!这是公司自己的决定)。但是,在许多公司中肯定需要各种级别的测试人员。

  • 任何开发公司,以及软件和硬件系统的供应商(从处理器到收银机和终端)。
  • 游戏和娱乐性移动应用程序的开发人员。
  • 金融科技公司:银行,经纪人,金融机构等 
  • 为公司部门提供复杂的多层技术解决方案的系统集成商。
  • 通常,工厂,汽车公司,在线媒体,零售商,在线课程等都需要软件测试人员。

顺便说一下,测试人员的职业是具有巨大潜力的IT百岁老人之一。因为即使机器人在有人的时候对机器人进行编程,也必须有人对所有这些设备和应用程序进行测试以适应人类的使用。因此,测试人员将成为机器人处理皮革杂物的最后障碍:-) 


平均工资


我们将在“ Habr Career”上查看薪水。不管特定堆栈的所有权如何,都可以获取2019年下半年的数据。 

对于手动测试专家:
专家级
平均工资
实习生(Intern)
33333擦
初级
44024擦
中间
68 031擦。
资深
107203擦。
主持人(负责人)
146428擦。

对于自动化测试专家:
专家级
平均工资
实习生(Intern)
36366擦
初级
61,486卢布
中间
88246擦
资深
131,222擦。
主持人(负责人)
201,461卢布

如您所见,有充分的理由进行开发并将测试升级到新的水平。

基本专业要求


这次将没有使用最常用技术的表格,因为公司之间的方法和测试工具可能会大不相同。考虑一下那些根本无法工作的技能(注意-您可以在工作过程中获得这些技能,让他们在起步时很酷,但根本不行)。

  • — , + . .
  • — Java, SQL, Python, .
  • Agile, -. 
  • Linux.
  • .
  • OSI ( , .). Wireshark.
  • — Bugzilla, Jira .
  • Selenium — -. . 
  • 建议您了解测试黑,白,灰盒的策略以及您最适合作为专家的地方的实现。

这是基础,通过经验,您将了解需要潜水的位置和深度。 

顺便说一句,如果您绝对没有经验,但是没有时间准备与您的学习同时作为测试人员的未来工作,那么我将为您提供三个生活技巧。

  1. 成为小型手动测试项目的质量检查自由职业者。他们花很少的钱,但是您将学习如何以测试人员的身份思考,编写测试用例并报告结果。 
  2. 如果目标是测试网络(这是最常见的情况),请创建自己的歪斜,功能齐全的网站,其中不包含模板和现成的CMS。因此,您将从内部了解环境的工作原理,并了解所有典型错误的栖息地。
  3. 找到任何测试课程的程序,查找其中的材料并积累理论基础,以便成功通过第一次面试。

重要的个人素质


原则上,测试者可以是内向者或外向者,游戏者或角色扮演者,无论是否亲密。沟通技巧在团队中发挥着作用,但是整体的整体能力和表达思想的能力就足够了。在测试中,您需要其他更微妙的个性设置。

  • 理解关系,分析大量数据,测试结果等的分析技能。
  • 时间管理和计划技能-只有拥有这些技能,您才能在工作量很大的背景下提供高性能。

  • 经验带来的特殊直觉是,测试人员必须提前预见可能会出现潜在错误的地方。
  • 耐心和压力承受能力的门槛很高-认真测试产品,与开发人员静静讨论,重复再现错误,制定相同的测试用例等非常重要。

  • 长时间集中注意力的能力。顺便说一句,有时候通过测试可以使您发展这项技能并将其保存下来,供您将来使用。

需要外语知识


也许测试工程师是IT领域中一种罕见的专业,您可以在工具命令级别上专门了解该语言。这是由于两个重要功能:

  • 许多文章和方法已被翻译成俄语;
  • 通常,语言知识的数量取决于产品和公司的功能-分别是,如果公司在英语市场上工作,则需要一定的水平(例如,测试文档或与国际团队和客户进行沟通),如果在俄罗斯市场上,则语言要求实际上为零。

但是话又说回来,如果您想发展成为真正的自动化系统或进行开发,您将越来越需要这种语言,因此最好不要浪费时间甚至赶上Intermediate。 

我有一个例子,说明我需要一个分别具备日语知识和德语知识的测试人员,包括(与远程)与客户合作。因此,他们发现,培训并给他们的薪水比公司中的开发人员还高。因为专家是独一无二的。他们现在还没有消失:)

在哪里学习


大学里有专门专业的基础软件测试课程,公司大学有课程,公司内部有个人课程。

在俄罗斯,没有针对测试工程师的基础培训。

也许,这是我们的“专业”系列中的第一次,我将重点介绍在线教学测试课程:它们可以真正带给您最新信息,教授测试原理,学习如何查找,查看和修复错误等。对于初学者来说,您可以找到一个可以接受的选项并进行选择-这将使您对面试和第一次的知识充满信心。

在这方面最好的培训是从培训生到公司的中高级。在自我教育的努力下,它通常是完美的。通常,在公司中获得第一次经验之后,将测试人员引入其他人非常容易。最主要的是找到珍惜的第一个实践:)

热门书籍和学习工具


▍书籍


  • Arbon Jason,Carollo Jeff,Whittaker James“如何在Google上进行测试”-一本信息丰富的书,最好具有一定的经验,至少是初级的人可以阅读。但是我在说什么!任何级别的阅读和享受,都非常有用且写得很好。
  • Boris Beiser:“测试黑匣子。软件和系统功能测试技术是测试人员的经典文献。这是一本关于测试的学术教科书,非常明智。
  • , , « » — ( ).
  • « , -» — , . .

▍-



Ha关于哈布雷的有关职业本身的有用文章




好吧,总的来说,中心“测试IT系统”将为您服务。在哈布雷(Habré)上,关于此主题有很多有用的东西。

▍派对测试员


顺便说一句,如果我对开发会议持怀疑态度,我建议参加测试人员的会议,会议,节日和会议,并仔细地熟悉该程序-您会在军火库中获得非常有趣的发现和技术。

▍维基百科


软件测试是Wikipedia上的一篇很棒的文章,它将立即向您介绍该行业中的未来挑战。我向她致敬,将其作为我的测试知识的第一个来源。顺便说一句,那时她比较谦虚。

测试仪的未来


除了标准的内部测试方法(从受训者到领导)之外,还有几种最可能发展测试人员职业的方法。

  • 对于那些对编程语言感兴趣并且不仅要挑选别人的代码和完成的项目,还要在团队内部创造一些东西的人来说,软件开发是合乎逻辑且不是最困难的方法。
  • 专案经理。总体而言,对项目的全面了解,对客户需求的了解是实现这一目标的直接方法。
  • Scrum master是一个有趣的传播,由于整个项目的知识以及紧密计划截止日期的能力,测试人员可以很好地进行管理。
  • 业务分析师,营销人员-金钱,但对于具有良好沟通能力的人来说不是技术职位。

原则上,经过测试后,可以在IT公司的任何职位上工作,从PR经理到项目经理再到产品ovner,这都是一件好事,因为您对产品和员工在公司项目中所扮演的角色一无所知。

专业的神话


▍测试人员-IT行业的最低等级 


现在真可惜。还是像空降兵一样,但“没有编码-不是IT专家”?测试部门本质上是一个真正的质量控制部门,它将不允许公司在客户面前羞辱自己(如果大量拐杖掉在了某个地方,呵呵),它将及时发现明显的UI / UX错误,检查应用程序或服务的内部逻辑。全球所有IT公司的测试人员的综合工作提供了一定水平的质量,并为数百万公司节省了金钱,这些金钱可能由于最终用户对无休止的错误的投诉而损失。 

测试人员是成熟,强大的IT专家,他们以集成的软件和农业综合企业方法,对产品的深入了解以及查看开发中非显而易见的关系的能力而著称。 

▍测试只是发现错误


没有。测试是使用产品,其硬件和软件环境以及文档的复杂的端到端过程。查找错误是一件非常小的事情,但是分析,复制,收集所有信息,进行转储,制定测试计划并自动执行例行任务,减轻负担等。这是一项复杂的,多学科的工作。 


▍测试人员付出很少


首先,这确实不是薪水最高的工作。同意,公司冒犯了支付大部分正在学习的员工的工资。但是工资逐渐增长,并进一步取决于公司:当我工作时,我只收到了3000卢布。少于中产阶级的开发人员,但我知道测试人员比开发人员获得更多或更少收益的公司。在很大程度上取决于公司的形象和测试人员的技能。显然,自动化将花费更多。但是“少付钱”这个词绝对不是关于测试的。

▍未应用任何技术技能


我已经列出了测试人员的大致操作,所有这些操作都是严格的工程设计。尽管您可以在没有技术背景的情况下进行测试,但是如果没有技术背景,您将无法工作:您将很快学习所有内容,或者进入非技术部门,因为“赤裸裸的人文”对QA部门来说是一件难事。是的,在某个阶段您不需要具备丰富的编程语言知识(但是您是否还记得具有开发知识的测试人员的价值更高?),但是工程,管理和一般技术知识将对您有用。您实际上每天都会使用它们。

主要提示


不会有任何建议,本文中有足够的建议。我会告诉您,这是测试人员职业中最糟糕的事情。太吓人了,鸡皮ump和头晕。首次进行独立测试。您可以坐下来进行测试,并通过,通过,通过……而没有一个,即使是最小,最愚蠢和次要的错误!而且您担心自己没有这个功能-看到错误,对质量负责,发现错误的地方。当他是数据包标头中的第一个,第一个奇怪的单词或带有错字的界面的第一个单词时,这是什么幸福呢?

然后,您将拥有专业知识,批评家和阻止错误,并且非常重要的是,您不仅会启动错误,而且还会踩着走廊直通开发人员,以表达有关所发现错误的所有信息。但是,您永远不会忘记第一个会打开测试世界和质量责任之门的错误。



朋友,您是否经过测试工作?您的第一个错误或最愚蠢,可笑甚至可能是可怕的是什么感觉?一段可怕的故事! 以前的系列“专业...” 专业:后端开发人员专业:前端开发人员专业:系统管理员








All Articles