我采访的是自动化职位的候选人,我们不使用商业自动化工具,而是使用主要使用Perl的框架,因此了解Perl或其他编程知识语言是必需的,但要成为“计算机怪胎”是个不错的选择。
另一个问题是,好的程序员往往没有测试心态,他们会遵循所需的设计,但是从测试中很难测试代码的情况下不会忘记任何方式。

所以...除了一些基本的编程问题,也许是一个非常基本的测试问题,我还要问什么?

评论

这似乎与您所链接的问题完全相同-我在这里所看到的没有什么不同。您能否解释一下您认为还能从原始问题的各种答案中得不到的其他信息?

面试更广泛的技能是一个挑战

我看不到如何帮助人们更好地回答您的问题?

您应该使用好奇的测试人员的心态检查开发人员的技能。

#1 楼

以我的经验,如果您雇用“自动化人员”,您将得到一个可以编写代码但不具备测试技能或意愿的人。

但是,如果您只是想要一些关于如何雇用测试人员的提示,而不是能够自动化的提示,然后提出可以用代码更有效地解决问题的测试问题。我经常使用的示例是“您负责测试功能,该功能返回1-6之间的随机数(本质上是压模程序)-您将如何测试它?”

我不会在这里回答答案的详细信息,但是可以编程的测试人员,擅长于认识到此问题的挑战范围,并且对如何编写自动化和分析工具有想法帮助他们应对挑战。

评论


+1挑战性的编码练习/难题可以评估解决问题的能力和分析能力

– Aruna
2011年6月4日18:06

+1(如果您租用了一个自动化器)。如果确切知道哪些自动化测试需要编码,则需要一名开发人员。如果没有人需要可以编码的测试人员。

– Kinofrost
2011年6月8日在8:27

#2 楼

您必须先确定角色,然后才能确定面试问题。
您需要问自己-这名新员工将要做什么?

实际上将要求您的Automator进行任何操作吗?测试?还是只构建自动化工具?
您的Automator会分析您的需求并创建自己的需求吗?还是由其他人创建需求?
会要求您的Automator构思,设计和开发测试自动化框架吗?还是已经存在,这个人将只写代码来填写缺失的部分?

知道答案会帮助您朝正确的方向前进。

您可能只需要一个恰巧正在开发测试自动化代码的开发人员。
或者您可能需要一个可以构建自动化来帮助她进行测试的测试人员。
或者您可能需要一个设计师/具有测试和测试自动化领域专业知识的开发人员,可以分析您部门的需求,设计有效的解决方案并开发实现该解决方案的代码。

候选人的来源和面试将根据您的情况而改变选择角色。

#3 楼

我们在最近的招聘中遇到了这个问题,并且花了6个月的时间。我们终于学会了:

测试他们的自动化测试写作技巧

即是我们希望他们每天做的事情!

是的,我们从开发团队提供的难题和算法问题开始。然而,对于我们想聘用的优秀人才而言,这些始终无法预测。我本人知道由于这个过程而被我们拒绝的两名优秀候选人。

,所以我们终于转向测试他们的自动测试编写。
我们使用开发框架在几分钟内创建了一个迷你应用程序-Ruby on Rails。
我们为此编写了一些简单的ui测试。

然后我们要求他们:


为模型编写更多的测试用例
为其中一个视图编写几个测试用例
干燥一些包含重复代码部分的测试用例
将页面对象用于几个UI测试以使其更具可读性
确定为什么其中一个字段验证发生间歇性故障
(问题是使用甚至在2月份都连续数月仍使用1..31值的测试)


#4 楼

我已经非常成功地要求应聘者编写一些简单算法的代码,然后让他们像其他人编写的那样测试代码。我试图寻找远远超出单元测试,集成或系统测试的测试。如果他们是优秀的编码人员和良好的测试人员,他们将开始涉足更复杂的领域,例如边界,压力,性能测试和大量白盒测试。看看他们是否提出了很好的方法来查看正在测试的代码,并且对代码感到满意。他们是否知道如何调试,解释代码,了解复杂性,理解调用路径,考虑代码覆盖率?并回应“您应该如何访问质量检查职位”中的一些答案,确保他们不会放弃-如果他们是优秀的测试人员,他们将找出许多疯狂的方法来破坏他们正在测试的内容,并且不应该停止直到面试官是这样说的。好的编码员将停止单元测试。好的测试人员会停在黑匣子上。好的编码员和好的测试人员是忍者。

#5 楼

这是一个很好的问题,根据我的经验,您应该分解您希望应试者掌握的3-5个必不可少的必须具备的技能。例如:


脚本/编程语言方面的知识,例如
Perl / JavaScript / Java / Bash
关系数据库中的知识/没有SQL,例如Oracle / MongoDB / Hadoop / SQL
测试框架中的知识,例如Selenium
Webdriver / JUnit / LoadRunner
操作系统中的知识,例如Linux / Windows / MacOS
QA中的知识方法,例如STP / STD / STR

之后,您需要准备测试并从Web上寻找相关的面试问题,或者尝试使用已经为您完成的一些自动化工具,例如Codelect.net,LuGo-Test.com。

请注意,有很多平台可以帮助您采访开发人员,尽管只有很少一部分涵盖质量检查主题。

许多网站都包含免费的采访问题,尽管您可以需要仔细检查其内容的正确性和相关性,因为其中只有一小部分正在收集相关内容。

#6 楼

要评估候选人的创造力,请给他们一些涉及横向思维能力的练习,例如测试尚未在Facebook上实现的新功能。他们是否能够考虑风险领域?,他们是否能够问您有关该练习的好问题?在测试时,他们想到什么不同的测试方法?

在测试中,您可能会询问框架和测试方法。这样,我们可以评估他们是否了解并真正理解他们为什么在某些情况下采用某些测试方法,以及使用一种方法优于另一种方法的利弊。例如,您可能会问如何在测试Facebook中的“发布评论”功能时设计测试数据。在这种情况下使用数据驱动测试方法或随机测试数据生成方法的优缺点是什么?

评论


您的想法总体上是好的,但是它假定候选人知道Facebook或您要询问的任何系统。我的经验表明,很难找到足够大的通用系统来询问类似问题。

–Rsf
2013年6月3日10:25