优秀的SET在各个方面都很出色:是一个编码能力很强的程序员,可以写功能代码;也是一个能力很强的测试者,可以测试任何产品,有能力管理他们自己的工作和工具。优秀的SET不仅可以看到树木,而且可以看到整个森林,在看到小段函数原型或者API的时候,就能想到各种使用这段代码的方法以及怎样破坏这段代码。
在面试的过程中我们如何考察这些技能和心态呢?我们期望有这样的混合型人才:对测试有强烈兴趣和天赋的开发人员。一个通用且有效的招募优秀SET的方法是,给候选人和其他开发角色一样的编程问题,并考察他们在处理质量与测试方面的方法。通过一些简单的问题就可以识别出哪些是优秀的SET,在一些棘手的编码问题或功能的正确性上浪费时间,不如考核他们是如何看待编码和质量的,对于候选者来说,重点是考察他如何思索问题的解决方案,而不是解决方案本身的实现上有多么高雅。
针对一个API,SET会通过提问和陈述的方式来理解需求。普通的候选人会考虑边界和约束,更好一些的候选人会考虑扩展性、复用性、安全性,最佳的候选人会考虑应用场景,考虑使用者怎么更方便地调用这个API。