我们如何应对生产环境的bug?当管理层问“你测过这个吗?”时,我该如何回答?
当管理层问“你为什么不能发现那个bug?”, 首先,要在自己的心理接受对找到bug负责的责任,但不承诺找到每个bug。后者是一个伟大的愿望,但是一个不合理的承诺,管理层不应该强迫你做到这一点。
记住:作为测试人员,我们不会引入bug! 大多数bug都是隐藏的—而且根据经验证明,任何直到现在还未被发现的bug都隐藏得足够深,即使是引入它们的人也没有发现。
下一步是采取一种立场,即这个问题可能是合理的;管理层可能会要求一个解释,而不是借口或辩解。当然,提问的语气和提问者的方式可能暗示着一种指责,但暂时将其搁置一边。
花点时间冷静而真实地评估下自己的工作。当你反思一个生产问题时,你认为自己应该注意到它吗?还是说你采取了合理的行动,勤奋地工作,并进行了彻底的测试 ?这两个问题的答案都是肯定的吗?
评估的一个重要部分是问自己实际上做了什么。你是否在做一些富有成效的事情—比如查找和报告其他bug—但同时对发现这个bug的任务造成了干扰?你是否在做一些重要的事情,比如覆盖产品中存在风险的部分,但最终发现这部分的bug相对较少?你是否采用了一些工具来帮助提高测试效率,并发现了重要的问题?
还是说你在做一些低效的事情?例如……
- 你是否花费了比预期更多的时间来查找和报告bug ?也许来一场与开发人员或经理的快速对话会更好地利用你的时间。
- 你是否覆盖了产品中相对不重要的部分?也许与客户更频繁地重新审视测试任务可以解决这个问题,这样你的测试就可以更聚焦在对他们来说更重要的问题上。
- 您是否创建了实际上并不需要的高度正式、程序化结构的测试脚本,或者后来由于产品变更而失效的测试脚本?也许一组风险列表和检查清单会是一个更好的选择。
- 你是否创建了自动化检查,这些检查只是简单地确认事情在浅层次上没有问题(这些工作可以说是开发人员应该做的)?这是否占用了你更深入地了解产品和寻找更细微bug的时间?你是否花费了大量时间来解释、调试以及维护这些检查?
- 如果你在做一些没有效率的事情,你是自己选择这样做的,还是被管理层强制要求做的?
因此:在回答这个问题的时候,记住这些可能性。如果在你的专业判断中,你确实错过了一些你觉得应该注意到的东西—如果你只是漏掉了一些东西或犯了一个错误—那么就承认这一点,并表明你会从这次经历中吸取教训。
但也许你的行为是合理的,你在做一些其他重要的事情,而且你可以证明你的工作是合理的。也许这对每个人来说都是一个学习机会:
- 也许我们需要一个更易测试的产品。
- 也许我们需要更好地获取信息,或者与开发人员沟通。也许我们需要更多拥有不同专业知识的人帮助。
- 也许开发人员需要更多的时间来检查他们自己的工作。也许每个开发人员都需要一个小伙伴。
- 也许如果产品没有这么多漏洞,我们就会花更少的时间来查找。
- 和报告bug,这样可能会有更多的时间来找到这个bug。
关于生活和测试,有一个残酷的事实:没有人能做到所有事情,也没有人能把所有事情都做得完美。考虑到这一点,你和管理层都必须接受这样一个事实,即你不能保证找到所有的bug—但我们可以从此前未意识到的bug中吸取教训。