8

我们即将进行一些面试,我们正在招聘质量保证职位。开发人员参与的目的是了解人员是否会与开发团队合作良好。

开发人员应该问 QA 人员最重要的问题是什么?我正在寻找实际问题而不是蓬松的开放性问题,你的想法?

4

6 回答 6

10

不幸的是,有时,蓬松的开放式问题可以让你对一个人有最好的看法。

无论你问什么技术问题(这些在很大程度上取决于你的开发方法,所以我无法真正帮助你,它们应该量身定制),你应该始终确定潜在候选人将如何在团队环境中工作。

您需要确定:

  • 该人将在团队中很好地工作。
  • 该人将负责与开发部门合作以修复错误,而不仅仅是“这是一个错误,去修复它,然后回复我”。
  • 这个人的自负不会妨碍团队的工作(例如为 bug 的分类或严重性而争吵)。我发现这通常更多是开发人员对“他们的”代码进行防御的问题。

我发现面试中最好的方法是展示场景并询问候选人他们的想法,例如:

  • 现在是星期五下午 4 点,开发人员 Bob 同意回去修复一个高严重性错误。我们需要一名测试人员来验证修复,您是唯一可用的人,但您已经安排了晚餐。你会提出什么建议?

仅根据该问题的答案,您就可以评估候选人是否:

  • 没用(“对不起,我不能错过晚餐”)。
  • 考虑外部限制(“真的没有其他可用的测试人员吗?”、“我可以在星期六早上验证它吗?”、“Bob 可以在周末的其他时间工作吗?”)。
  • 适应性强(“我可以推迟一次晚餐”)。

等等。

我也不能强调沟通技巧对开发人员/测试人员关系的重要性。让测试人员生成一份粗略的错误报告(他们想要的任何错误)并讨论其充分性(确切步骤、预期行为、实际行为……)。

于 2009-08-27T02:48:25.313 回答
9

除了这个线程中更深入的答案之外,还有一个经常被忽视的简单问题:

你能像普通用户或没有经验的用户一样行事吗?

现在,这似乎很愚蠢,但它提供了非常好的洞察力。如果候选人说是,坦率地说,他们不是他们看起来的样子。在信息技术领域从事开发(特别是)、分析或测试角色的任何人都不能这样做;仅仅是因为我们已经超越了没有经验的用户的水平。您应该寻找的答案是:

不,但是我可以创建可以准确映射到“所谓的”正常用户行为的测试用例。

或者这个的派生词。这显示了一些重要信息。

  1. 他们很现实
  2. 他们可以跳出框框思考
  3. 他们愿意执行 QA 中设定的正确方法

这是我至少发现的。

希望这以一种或另一种方式有所帮助。

于 2009-08-27T16:59:17.683 回答
6

我的建议是考虑一些像这样的开放式问题:

如果我走到你面前说:“你能测试一下我做的这个新东西吗?” 你的前几个问题是什么?

以下是我在问这个问题时的一些想法:

  1. 是否提及规格或要求?如果没有,这对测试有何影响?
  2. 他们是否希望我与他们配对,以便他们知道我做了什么?
  3. 他们想知道我做了什么吗?
  4. 他们是否有时间这样做并询问我认为这可能需要多长时间?
  5. 您期待什么样的测试:综合、冒烟测试、走廊可用性?
  6. 将使用什么样的工具来做到这一点?

在记录错误时,您认为开发人员在修复它之前应该拥有的最少信息是什么?

这类问题取决于他们的背景可能会成为他们回答的一个因素,因为需要注意的一些事项包括以下内容:

  • 再现性——你能以一种可预测的方式得到这个吗?
  • 重现性步骤
  • 这是代码、数据、网络还是其他类型的错误?
  • 某种程度的错误有多严重?
  • 环境 - 我需要什么才能让这种情况再次发生?是否有特定的浏览器、操作系统或其他我应该拥有的东西?
  • 说明这是一个错误的预期和实际结果是什么?
  • 软件版本 - 这是在什么版本的系统上找到的?

我之所以提到其中的大部分,是因为当我提出一个应该有更多细节但哪些细节很重要的模糊问题或请求时,我会问他们最初有哪些参数。我还要注意在给出答案时暂停了多长时间,我会说 15-30 秒是可以的,少一点,我认为这是一个预期的问题,如果需要更多,那么应该请花几分钟考虑一下,因为重点是当这种情况出现时,双方的期望是什么?

另一个想法是提及您使用的软件开发方法,然后询问使用这种方法与 QA 相关的挑战是什么?例如,如果开发人员使用 TDD,这对 QA 有何影响?如果它是一种更像瀑布的方法怎么办?你想在这里看到的是他们的思考能力如何,以及如果我说我们使用 Scrum,他们会问什么样的后续问题? Scrum 的概念,真的。

于 2009-08-27T23:16:25.737 回答
3

开发人员可以通过给他一个场景来检查,该场景应该检查以下内容

态度

测试者是否具有探索的态度?给他一个场景并检查他/她问了多少有效问题?

技能

您从事的每个项目都需要一些与测试相关的技能。它包括需求研究、测试设计、测试执行等。检查测试人员对需求的理解程度。

知识

在您要招募测试人员的领域检查测试人员的广度和深度。即使测试人员不在当前领域工作,也要检查测试人员对该领域的了解程度。

可接近

给测试人员一个场景,比如有一个客户问题,开发人员整整一周都在休假。问题需要紧急升级,作为测试人员,您需要找到问题的根本原因。在这种情况下你将如何处理

于 2009-08-27T04:44:36.960 回答
2

我们在软件质量人员中寻找的一些关键项目:

  • 沟通- 候选人能否以清晰简洁的方式书写/发送电子邮件/讲话,以便团队的其他成员能够理解他们发现的缺陷
  • 解决问题——这就是那些面试谜题派上用场的地方。有了这些类型的问题,更重要的是了解候选人将如何解决问题,而不是他们有多接近确定“美国有多少蓝色汽车”。
  • 责任——重要的是要了解候选人是否会坚持到底。这个问题很难找到真正的答案,因为人们在面试时很热情,可能会同意很多,但不是真的。候选人过去关于他们如何处理问题或问题的故事可能会有所帮助。如果问题对候选人来说变得更糟并且他们一直处于领先地位,则可以加分。
  • 技术专长- 此项目所需的级别会因测试人员而异:他们会编写自动化测试吗?手动测试?自动化测试至少需要一定程度的技术专业知识,而手动测试需要的更少。无论哪种方式,在处理问题时,拥有至少熟悉应用程序技术方面的测试人员可能非常有用。
于 2009-08-27T03:25:59.427 回答
1

我认为这实际上取决于您正在寻找的测试人员类型。您是在寻找有人按下按钮并告诉您它看起来不正确,还是您在寻找能够理解技术甚至代码并找到更深层次错误的人?作为面试循环的开发人员,我想也有传统的 QA 类型可用。如果是这样,他们会问典型的测试问题。您需要了解它们的技术性以及它们将如何交互。考虑到这一点,请尝试以下一些问题:

  1. 编程题。 看简历。他们知道 C# 吗?Javascript?请他们为您编写代码。他们知道的越多,他们能够提交的错误就越好。
  2. 处理问题。 他们了解源代码控制吗?他们用过吗?他们了解构建的概念吗?他们熟悉单元测试吗?
  3. 软件开发问题。 他们了解什么是 dll/程序集/jar 吗?他们知道记忆是如何工作的吗?他们是否了解用户模式和内核模式(或适合您的域的任何模式)之间的区别?
  4. 技术问题。 他们对您的领域的了解程度如何?他们了解小部件行业的动力吗?他们知道客户正在寻找什么小部件吗?他们曾经使用过小部件吗?
  5. 他们是否深入了解他们的错误? 询问他们最喜欢的错误。他们能告诉你多少细节是哪里出了问题?
  6. 他们能抵挡你吗? 当开发人员推动他们或他们会战斗时,这是会退缩的类型或测试人员吗?向他们询问他们尝试完成某事并遇到反对的时间。他们是如何反应的?
于 2009-08-27T04:06:12.637 回答