“我们是一家小型食品公司” -用这些话,我总是为每位来参加面试的候选人开始有关当前工作地点的故事。 一个人仅凭这句话就可以立即了解他决定将自己的命运与我们联系时将面临的利弊。
当然,我工作的小型杂货店公司没有自己的
人力资源 ,但仍然需要新的人员。 我只是一个程序员,在任何情况下都不要声称他们拥有
TeamLead或
PM (他们来自哪里)的头衔,他们希望与优秀,足够,最重要的专业人士一起工作(尽可能在已经指出的背景下)。
幸运的是,我有机会寻找测试人员,而不是……例如销售人员。
正如您可能已经理解的那样,这篇文章是关于如何为普通程序员找到一个非普通的测试人员的。 在我看来,这种体验很有趣,但首先要先做。
这篇文章绝不是
最佳实践 。 我只是想展示我在这件事上的方法。
有关测试人员的文章,全文在Habr上
是的,一点点。 我读了许多书,我也学到了一些对自己有用的东西,但是有一个重要的提示:它们都是书面的,如果不是由大师编写的,那么至少是由对测试或狩猎有所了解的人写的,而且不要忘记预算。
为什么是我?
简而言之,我原来是唯一有兴趣接触
IT领域 (位于障碍的另一侧)并略微使自己脱离工作任务的程序员之一。
我不喜欢
HR愚蠢地进行群发邮件,基于关键标签抛出要约而又不深入讨论等。
也许这是我最大的动力-尽可能负责任地,有效地进行招聘流程,向自己证明/证明:
“好吧,您可以正常进行”要求条件
由于我本人还没有通过测试对其进行测试,因此提出了相应的要求:
- 分析型思维;
- 了解软件测试中的任务;
- 测试人员的经验和IT教育将是一个优势。
在proger(脚踏实地)演示中,测试人员是寻找错误并可以详细描述错误再现过程的人。
简历审核流程
因此,职位空缺被发布在一个知名网站上,我们继续进行选择候选人的过程。 在下面,我尝试具体描述我所支付的论文,反之亦然,我没有注意摘要:
- 制作简历 (存在各种错误)-为什么我需要一个甚至无法测试其简历的测试人员? (这似乎很陈旧,但在约20%的情况下被发现)
- 我绝对不在乎年龄,性别,外貌,婚姻状况等。(我读了一堆关于HR的“女孩”的故事)。
- 有测试人员的经验 -我认为一切都很清楚:至少有些经验总比没有好。
- 教育的可用性 :最重要的是,在工作过程中没有人文学科,您将不得不做出一致,合乎逻辑的结论,而不是发出混乱的信息。 (不要认真对待这个项目)
- 在这里, 关于“关于我”的求职信通常很糟糕:他们都写成一个人,那就是他是我们唯一需要的人,他是最好的人,我们是他梦dream以求的伴侣,等等。
但是,当然还有规则的例外情况 :例如,当候选人表明他已经在某个知名站点或应用程序上发现了特定缺陷,并且最重要的是,他注册了该缺陷时 ,绝对是因果报应。 - 关键技能是非常有趣的一点,尽管对所有这些QA标签(功能测试, 测试用例的编译,测试UI等等)并不感兴趣,但是最好还是使用它们。
单独的加号应带有指示Selenium和其他测试自动化工具的标签。
最重要的是:我们注意“非测试人员”技能 ,例如: Python , Unity , PHP , Compass-3D , Sql等。 (稍后告诉您原因) - 课程/证书 -极具争议/争议点:如果候选人没有测试员经验或没有IT教育,那么欢迎您参加此项目。
通常,应聘者会附上一份清单,用作“毕业作品”-您必须承认已经有东西要看了。
个人对话
因此,根据上述“规则/建议”,我们选择了我们感兴趣的候选人,我们走了很远-个人交流。 我没有明确指出
“面试”这个可怕的词,因为我不会和一个好/坏警察候选人等一起玩。 我真诚地希望进行具体的沟通,以建立对话,从而使各方以最舒适,最有趣的方式进行对话。 基于相同的原因,我不会提出任何技术特定的问题(嗯,我们不会忘记我不具备提出此类问题的知识)。
以下是我想与之讨论的主题/问题的列表,以找出答案:
- 先前的工作地点 (如果有)-一切均符合标准:
- 您到底做了什么,以及您到底做了什么?
- 你为什么决定改变?
- 团队的规模是多少?项目中的团队是什么?
- 您正在从事什么样的项目? (除非NDA当然允许这样做)
- 您使用了什么项目管理方法?
- 等
- 教育 -我个人并不关心它的存在与否,完成与否,要点或来往等。我对我的对话者在这个问题上的立场,他为什么对这个问题做出自己的决定或那个决定感兴趣。
- 关键技能 (来自申请人简历的那些技能 )-在此阶段,您可以学习很多有趣和有用的东西。 重要的是要准确地了解他如何获得这些技能。
一些例子- 有一个候选人的关键技能被表明,例如, -Unity ,在一次对话中,事实证明一个人试图在业余时间开发游戏,即 显而易见,人们对IT领域很感兴趣,并且可以发现值得应用的人类知识/技能;
- 另一个例子:如果一个人了解Sql或Php的一些基础知识,顺便说一句,他理解了最后一个工作地点,因为他与大量的程序员打交道,您必须同时遵循这两个程序,然后将其插入特定的空闲代码行中,那么您可以执行结论是,摆在我们面前的人并不笨拙。
- 还有负面的例子:使用Python技能的候选人-看起来很酷,但是在谈话过程中,事实证明他当然不认识YP,他没有读过任何书,他只是听说小家伙很酷,这就是为什么他指出了这一点。 ( WTF!? )
- 有关您遇到的最有趣/最复杂的错误的问题-在这里,最重要的是要注意将给您带来什么样的情绪:如果那时某个人的眼睛灼热,情绪风暴等。 -绝对是个好兆头,这意味着一个人讨厌自己的工作。 另外,请问一个人如何准确地捕捉到这些难忘/独特的错误。
- 在现实生活中进行测试 -在这种情况下,我认为是教授。 变形好。 一个人应该远离随处可见的软件干扰。 关于这样的经验Porassprashivat sobeseduemogo,可以肯定,他有事要告诉你(这是悲伤地看到这样一个经验,约50%是不存在的)。
- 个人对公司的项目/方向的兴趣 (没有必要,但这将是一个不错的选择)。
几个例子可以理解- 如果您正在开发的软件可以在旅行时构建最佳的旅行路线,那么这对于您想要爱旅行的人以及亲身遇到应用程序要解决的问题的人来说将是不错的选择。
- 如果您正在开发游戏,那么建议测试人员喜欢玩游戏,跟踪所有最新更新等。
- 反问 -当有人问我时,我感到非常高兴,尤其是当他们很多时。 显然,候选人对他的工作场所,工作时间表,技术栈,团队等感兴趣。 但是,如果候选人对您正在做的项目有真正的兴趣-这会花费很多! 您不知道当他们告诉您这是他们一生中最有趣/最不寻常的采访时听到的声音真好。
测试任务
你觉得呢 没那么简单!
不要太懒做测试任务! 一定要听! 当然,它不应该放在纸上!
特别是在膝盖(在这种情况下,只有手)上,它实现了一个简单的应用程序(带有用户实体的
CRUD )以及故意实施的侧边栏以及“ TK”。
程序逻辑中的背景:- 文本字段中缺乏数据验证;
- 输入用户的生日时,对日历的控制没有任何限制(您可以指定明天的生日等);
- 错误地指示了用户创建/保存日期(从正确的日期开始-1天);
- 错误计算用户年龄(不使用舍入);
- 关闭应用程序时,未保存数据;
- 5分钟后程序关闭 工作(我认为这是最有趣的错误);
- 更改现有用户的数据时,中间名字段在所有用户列表中始终保持不变;
- 更改出生日期时,年龄字段未更新(仅在用户之间切换时更新)。
不能布局:- 是否存在拼写错误;
- TextBlock有关在输入大数据集时移出用户的其他信息;
- 缺乏自适应布局(带有窗口的起始大小,所有规则,有变化-一切都会进行);
- 在用户领域之一中缺乏本地化。
表现低迷 (几乎没有人发现):
- 添加记录不当会增加CPU的负担;
- 删除记录时,内存不足。
在发布测试任务时,没有特别指出错误的处理方式-有趣的是看不同的变体,但是基本上所有内容都是相同的(
测试用例 /列表),有时屏幕截图很令人满意。
此外,还邀请受试者(如果需要)考虑他们认为可以在测试软件的功能部分中添加/修改/删除的内容。
当然,建议您在谈话之前发布/完成测试,以便在这种情况下可以进行讨论。
一个有趣的发现:有些没有工作经验的候选人比那些有经验的候选人做得更好。
为什么是他?
在显示所有卡片之前,我将向您提供一些统计数据:在搜索的2周中,我查看了500多次空缺,回答了50多个候选人,其中选择了10个进行个人对话和测试任务,他们将获得第3个提议。 同样,令我吃惊的是,正在考虑的所有候选人中约有三分之一具有在大公司担任测试员的经验,每个人都在听说。
但是结果超出了我的所有期望:一个有模特儿模样的女孩(
HR的“女孩”的个人资料中没有照片立即从她的言语中泄露出来),经济不完全,并且在两家公司担任测试员的经验(其中一个很大) 。
他们正是出于非标准思维而采取的:执行测试任务时,它“分解”了编,最终将所有特别隐藏的错误指示到了代码行。
结果,经过六个多月的工作,我们没有了灵魂。 一个隐藏的程序员在我们的测试仪中醒来了-我们都愿意为她提供帮助。
而不是结论
最后,我想留下一些显而易见的提示,出于某些原因,很少有人关注:
给雇主-一定要提供反馈,指出申请人没有的确切内容(不要偷懒!)。
对申请人-不要为了金钱而“输入IT”; 如果您没有经验,请举手(打开任何应用程序/站点并进行进一步测试)。