
来源
在GeekBrains,开设了“ 软件测试工程师 ”课程。 该领域的专家应该知道并且能够做很多事情,包括手动和自动测试,各种编程语言,以及在各个层次上具有丰富的技术知识。 在详细讨论测试人员所需的知识和技能之前,我们将尝试回答一个简单的问题:“为什么我们需要软件测试人员?”
公司和私人开发商每天发布数千种不同的程序。 其中一些正变得流行,另一些则不然。 在绝大多数情况下,那些不仅具有有趣,醒目的设计而且具有高可用性的应用程序都登上了榜首。 一个好的应用程序应该方便,稳定和安全。 使软件“达到标准”仅对软件测试工程师有所帮助。
谁可以成为测试人员?
原则上,任何人。 但是,根据我们的观察,最好的软件测试专家是我们中那些有很多好奇心的专家。 您想了解事物的本质吗? 小时候,您是否尝试过拆解所有东西以便观察复杂的玩具并了解其工作原理? 您很有可能会成为一名优秀的测试人员。
除了好奇心,还必须存在想象力。 需要使测试人员能够找到不寻常的用户脚本,并尝试在非标准模式下使用该应用程序。 例如,如果游戏在移动设备上运行并且突然有人打电话,将会发生什么? 应用程序会崩溃吗?玩家的成就会被保留吗?是否有必要再次通过该级别? 这只是软件测试工程师可能提出的问题的一小部分。
教育,经验和知识
长期以来,IT部门的代表一直在争论程序员是否需要特殊教育。 有人说不,从他们的实践中举一些例子。 有人声称是,而且事实证明是正确的。
对于诸如软件测试人员之类的专业,接受特殊教育也可能是一个争执问题。 有优秀的测试人员,具有深厚的技术专业知识。 但是,与从其他领域进行软件测试的人相比,这并不少。
但是,许多雇主正在寻找具有技术背景的测试人员。 在西方,这通常是计算机科学,数学或工程学士学位。 如果您已经有工作经验,并且可以从以前的工作场所中获得很多建议,那么特殊教育将不是就业问题中非常重要的因素。
但是,需要具备软件测试原理的基本知识。 至少:
- 进行和记录自动和“手动”测试及程序。 分析结果,报告问题和错误。
- 在整个开发周期和软件生命周期中执行软件测试。
- 了解项目的各种开发方法和工作安排,包括敏捷和Scrum。
- 拥有几种测试工具。
- UNIX,Linux和Windows的熟悉和常规命令,包括命令行。
- 能够同时完成多项任务。
- 口头和书面交流能力。 与开发人员,管理人员,客户进行沟通的能力。
- 编程语言和框架的基础知识,例如Java,JavaScript,C#或C ++,SQL,Python,PHP和Ruby on Rails(不必一次了解所有这些语言,这只是一个示例)。
在某些情况下,必须具有编程能力,并且必须具有使用数据库的经验。 测试人员不需要多年的程序员经验,根本不需要,但是需要技术知识。
“ 我不是程序员。我可以编写简单的代码,但是我还不是专家。但是,编程的能力可以帮助我了解软件的工作方式以及工作方式。当然,您可以在没有任何技术知识的情况下中断程序。但是,为了理解为什么该功能不起作用,您需要成为一个小程序员 ,”在该领域工作了多年的软件测试专家Tan Hyun说。
如果没有经验和知识怎么办?
答案很简单-您需要开始培训。 如果您有时间和资源,您可以进入大学(第二或第三高等教育)。 此外,一个极好的选择是使用证书或文凭来注册测试课程。 一些需要测试人员的技术公司提供此类课程。 在国内市场上这种情况并不常见,但是您仍然可以搜索。
此外,要成为测试人员,您可以尝试获得相关专业。 例如,在公司从事技术支持工作。 在那儿工作了一段时间后,您将获得经验和知识,可以使您获得软件测试人员的初级职位。
为了获得良好的工作,您应该尝试获得认证。 ISTQB在美国很有价值;该认证由美国软件测试资格委员会(ASTQB)进行。 有国际证书,例如CSTE(证书由国际软件认证委员会(ISCB)进行)。 的确,在第二种情况下,需要具有IT学士学位和两年的经验。
无论选择哪种方式,独立学习都是非常重要的,同时也渴望成为一名测试员。 持续不断的自我完善使我们取得了巨大的成功,参与专门调查的测试人员中有62%的经验证明了这一点( 此处为英文)。
最后阶段-找到工作
我们不会详细讨论如何为软件测试员找到工作。 这是一个非常广泛的话题,已经被发现了很多次。 最主要的是要拥有基本的经验和知识,然后您可以尝试发送简历,进行面试并尝试扮演真正的测试员的角色。
听到Habr的软件测试人员的成功故事会很有趣。 您是否从头开始,如何为自己的新职业做准备,这有助于找到工作? 反之亦然,如果您在此过程中遇到任何困难,也要告诉他们,否则您将获得“幸存者效应”,而面对障碍的人们的经验非常有用。