众所周知,“做技术的看不上做测试的”似乎是中国互联网文化中的不变真理,也有很多人调侃“测试与开发是一对冤家”。我在公司工作的过程中对此有很强烈的体验。首先,我司开发与测试10:1的人员比例绝对是一道“亮丽”的风景线,而且对测试人员将设置越来越高的门槛限制。其次,对于很多需求拆分、设计都是站在技术层面而非测试层面,因而对于测试无疑增加了难度。本文就如何协调好测试和开发的关系给出自己的思考。
第一,测试应肯定开发的技术魅力
我们都知道,很多牛逼的项目都是一群天才利用牛逼的技术实现的。因而,作为测试人员,我们应该极大肯定他们的价值,而不是一味质疑他们的代码质量,这会改善我们与开发之间的关系,也会让整个项目流程更加顺畅。
第二:开发应最大化认知系统的风险,肯定测试的价值
随着软件工程的不断实践,越来越多的互联网企业青睐产品的及时交付,也就是我们经常提到的敏捷开发。敏捷开发有利有弊,利是我们能及时看到产品效果,及时变更需求,并且增加开发团队的自信心。当然,弊端也很明显,开发人员在没有充分测试的情况下无节制的提交代码,不仅增加了测试人员的工作量,对于bug的修复也延长了交付时间。
基于上述事实,同时开发人员认知到软件开销很大比例在于系统的维护,这与开发的质量密切相关。因此,开发首先应该有高度的责任心,对自己的代码负责,这也是对测试人员的尊重。其次,开发应该转变思维,测试不仅是测试人员的工作,也是开发的工作,我们应该养成写UT的习惯,保证交到测试人员手中的代码是高质量的。
第三,开发与测试中间应通过某种反馈形式反复磨合
很多公司都有专门的工具用于开发与测试人员间的反馈,这种工具对于项目组所有成员都是可见的,也减少了直接沟通的成本。因而开发人员会更加注意自己的低级错误,也有利于所有开发与测试人员的互动,从而形成良好可信赖的关系。