经常见到这种情况,开发人员开发好了,然后,转手一扔,就让QA去测试了。在一般的开发人员眼中,都是这么想的:我做好了,扔给你,你给我查出BUG出来。我一直想说,这是不负责任的开发人员,特别是PHP、Java、python之类的后端开发。
真正的理念应该是:我们的代码都是函数,y=f(x),有输入有输出。我们开发一个功能,就是要定义这么一个函数,输入是a, b, c,d,然后输出是1,111,1111. 而,我们的测试工作也是,在输入a,b,c,d的时候,返回1,输入a,c,b,d的时候返回1111. 这些工作,你为什么不自己做,而要扔给其他人?这么做,不是偷懒?不是浪费时间?不是职责推卸?
真正对自己代码负责的开发人员,会考虑清楚,这个函数的输入和输出,做好单元测试或者集成测试。真正的测试理念应该是:我们定义了,这个函数的输入和输出,我保证在输入为集合A的时候,会返回集合B。 这样的代码发布出去,才是真正的通过测试。而不是幻想着,有人替你来明确输入和输出,来替你考虑是不是有BUG。