这是一个适合在软件测试面试中问的好问题吗?

3

我通常在测试员面试中问这个问题。我们的软件非常复杂,有GUI和后端组件。我们要求测试员具有良好的分析能力,并能够跳出思维定式。在这种情况下,以下问题是否适合提出,或者是否过于复杂/糟糕/丑陋?另外,我们的要求是测试员应该有经验。
问题
有一个名为Circles finding software的软件。该软件以黑色或白色图像作为输入(每个像素可以是黑色或白色)。如果图像中有圆,则会用红色突出显示边框并输出图像;否则它将输出相同的图像。它应该找到人类可以在图像中发现的所有圆。那么,你会在这个软件上运行哪些测试?通过测试,我指的是你将传递哪些图像来测试它的工作。请画出这些图像。

4个回答

6

我认为这是一个非常好的问题。

这个问题不够清晰和明确,因为它没有给出任何关于圆形有多圆的上下文。它只需要对一个人来说看起来是圆形吗?稍微卵形怎么办?不规则的边缘呢?一个2x2像素的正方形算圆形吗?单独的一个像素呢?

还有其他的形状吗?如果这些形状重叠了怎么办?如果一个圆形超出了边界怎么办?圆形内部还有圆形,它们算不算?

如果测试人员拿起笔开始画而不问你很多问题,你就知道他们不会成功。我建议试一试。


2
那么虚线呢?但我不会自动拒绝一个开始画图的人。也许他们希望在之后解释他们所做的,并讨论定义的复杂问题。毕竟,目标是要找到聪明、能干和有创意的人,而不是看你能多快地排除可能的失败者。 - Tim
1
@Tim 我仍然期望他们在某个时候会问很多问题。我认识的最好的测试人员是那些通过讨论不同的例子来帮助发现隐藏的范围和假设的人。作为开发人员,他们对我非常有价值,因为他们帮助我创建没有错误的代码,而不仅仅是事后找到它们。当然,如果他们能够学习这样做,那就可以...但是如果你已经有一个聪明、能干和有创造力的人,他已经知道了使一个伟大的测试人员所需的技巧,我认为学习者不会成功。 - Lunivore
我认为我们意见一致,只是强调不同。面试的目标是给应聘者展示自己的机会。因此,如果面试官想要事先准备智能问题,最好说:“在开始之前,请随便问任何问题。问题是受欢迎的,应聘者的问题也是评判其智力的一个方面。” - Tim
@Tim 我认为我们也是意见一致的。我宁愿不要给他们太多的推动去问问题 - 但是我在那些需要一点自信和勇气才能成功的组织中工作。对我来说,“随时提问”就足够了。你的情况可能会有所不同。 - Lunivore

4
我认为这个问题作为一个“引导性”问题是可以的-我期望一个可行的候选人会回答一些澄清问题的问题,比如:
  1. 两个同心圆需要多接近才不再被视为不同的圆?
  2. 应该如何考虑部分圆形-即与图像边界相交的圆形?
  3. 圆形有多“圆” - 椭圆或卵形是否被认为是“圆形”?
您正在寻找能够思考基本问题和任务的人。

1
我认为面试官不一定需要直接回答问题。我更希望被面试者开始讨论,就好像他们正在告诉我需要考虑的事情,而不是想让我全程引导。 - Brad
Brad - 我认为我已经说过了 - 如果我正在接受那个职位的面试,并被问到Manoj R提出的“圆圈”问题,我会以这种方式回答面试官 - 以表明我理解这不仅仅是一个琐碎、简单的情况,而且在软件测试中,理解那些特殊情况,即“边缘情况”(无意冒犯...)是区分坚实、全面的测试和闹剧之间的关键。 - Ken Ray
正确,但我更喜欢面试者告诉我他们的担忧并预见它们,而不是要求我通过提高输入数据的质量来降低系统的复杂性。这将展示出一个能够预测输入数据可能有多糟糕并为这些情况编程的人。 - Brad

2

我认为这个问题很适合作为一个“对我来说响应几乎毫无意义,我只关心过程”的问题,这种问题似乎让大多数人陷入瘫痪。去试试吧。


2
首先,我会重新表述问题的部分,尤其是"该软件以黑色或白色图像作为输入(像素只能是黑色或白色)"这一句话。
像素指的是什么?背景是什么颜色,圆圈是什么颜色?它们是否可以互换或者是一个固定的模式?
如果是我想的那样,我会使用类似于“该软件以黑白像素图像作为输入”的语言。如果您希望更明确,可以添加“黑色(前景)和白色(背景)像素”。
此外,我更喜欢“讨论您将使用的图像”;对于测试人员来说,能够通过绘画以外的方式表达自己的想法非常重要。如果您让他们画图,并给他们一支黑色铅笔,您可能会限制候选人的思考,并使他们直接关注形状和位置,而忽视图片中其他可能性,如多种颜色。
我宁愿不给他们任何工具,看看他们会决定需要什么工具。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接