今天分享的这道面试题也是我曾经在笔试中用到过的。 当初大概有四十人左右曾经做过这道题,没有一个人给出了正确答案,让我没有想到的是,其中做得最接近正确答案的,是一名大四出来实习的小女生。
有很多面试官喜欢问:在软件测试的各个环节中,你觉得哪个环节是最重要的?
在我看来,如何分析分析需求并且转化为测试范围是排在首位的。理解需求难吗?很多测试从业者都有一种感觉,只要给足够的时间,理解需求这个事儿并不难。但我们常常面临的情况是,任务重时间紧,导致我们常常在没有足够理解需求的情况下进行测试,这时候我们还能有信心说测试过的软件产品符合上线标准吗?
这种情况下,有一套快速理解需求并转化为测试范围的方法就显得尤为重要。而作为面试官,自然也希望能在面试过程中判断求职者是否具备这种能力。这也是我当初把这道题作为笔试题的原因。
这道题并非我原创,当初在将它列为我的笔试题的时候有过这样的考虑:求职者是否在其他地方看到过这道题?如果看到过,对其他求职者是否不公平?如果因为他们提前训练过,他们的面试结果是否会对我做出录用决策产生影响?
一番考虑之后,我仍然决定把它列入笔试题。一方面是因为软件测试从业者中,喜欢看书学习的少,这意味着大多数求职者以前碰到这道题的概率很小,这就保证对大多数人是公平的。反过来说,如果他们之前看到过这道题,也可能意味着这名求职者喜欢学习,有上进心,这也是我希望看到的。况且,我可以通过提问更多的问题来判断求职者是否是有真材实料,减少这一道题的结果可能对我的误导。简单来说就是,求职者回答的好,并不代表求职者一定善于分析需求分解需求,但回答的不好,那一定是在这方面存在不足。另一方面,善于学习的人并不多。那个资料中给出的参考思路在我看来并非最优,如果原封不动的把那个参考思路搬过来,我会考虑这名求职者是否是一个只会“读死书”的人。
面试题
案例分析(给出分析过程和测试点):
有一个饮料自动售货机(处理单价为5角钱)软件。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
用户评论