写点什么

为什么开发不能兼任测试?普通人不知道的冷知识指南

  • 2023-11-15
    四川
  • 本文字数:845 字

    阅读完需:约 3 分钟

有些人可能会疑惑,为什么为什么开发不能兼任测试?

其实,做一个程序,程序员和测试人员扮演着不同但互补的角色,并不是你想象的程序员能力越强越好。

程序员的主要职责是编写和实现软件代码,而测试人员则专注于验证和确保代码的质量。

首先,程序员与自己的代码有着天然的盲点。就像你检查作业时总找不到自己的错误一样,而别人一眼就能看出。

程序员构建功能的时候,往往会基于代码应该如何运行的预期来进行测试,但测试就完全不是这样。比如,在开发一个网上商城时,程序员可能会着重实现购物车功能的代码逻辑正确性,但可能忽视了用户在特定情况下遇到的异常行为,如在网络不稳定时加入购物车的商品可能出现重复或消失的问题。

其次,测试是一项专业工作,需要系统的测试计划和用例。测试人员的专业技巧和工具更全面。如果让程序员兼任测试工作,可能会导致一些极端情况被忽略,或是测试不够彻底。比如前端开发,程序员可能确保了页面在 Chrome 浏览器上的兼容性,但专业的测试人员会考虑更多的浏览器兼容性问题,包括但不限于 Edge、Firefox、Safari 等,这个就是很多开发者考虑不到的。

再者,从心理原因上讲,你作为一个程序员,要检查自己做的产品,你是不是会有意无意地避开自己的弱项,因为一个程序要是检查出问题了,你不得好好恶补,但是测试员拿的工资就是来找 bug 的,两者的出发目的都完全不一样,做一件事的结果肯定是不一样的

从经济和效率的角度来看,让程序员兼任测试工作可能会降低团队的生产效率。程序员通常更擅长和更倾向于开发新功能,而测试则可能会被视为次要任务。这不仅降低了测试工作的重要性,也可能导致程序员在测试上花费的时间减少,从而影响到测试质量。

对于一些复杂系统的开发,如 ERP 系统,需要大量的集成测试和回归测试,这就不是程序员能干的了的,效率也会降低很多。

程序员和测试人员各有专长,就得做不同的活,这也是长期实践总结下来的结果。哪怕是在 iVX 这样的低代码平台上,虽然可以自动生成全栈代码,大幅度降低错误的可能性,但测试依然是一个不可或缺的环节,还是需要专人来完成。

用户头像

一个程序员跟他的猫 2023-10-30 加入

做过 2 年建筑业,现在 3 年程序员

评论

发布
暂无评论
为什么开发不能兼任测试?普通人不知道的冷知识指南_代码生成器研究_InfoQ写作社区