软件开发和软件测试的合作与理想
作者:网络转载 发布时间:[ 2012/10/18 10:04:28 ] 推荐标签:
把一个人的“本职工作”变成了多个人的“本职工作”,用流程来约束势必造成这些现象的出现,但既然coding和testing不由同一拨人负责已成既定事实,那么很明显,coding和testing的合作变成了coder和tester的合作了。我把二者的合作关系和渊源分成5个层次,仅供参考:
1、原始模式——没有专职测试人员,没什么可以讨论的;
2、相互指责——我能想到的关键字是权力制衡与推诿或过分干涉,常看到这种现象,抱怨的帖子满天飞;那些自以为善于“权术”的管理者也很喜欢利用coder和tester的冲突和相互推诿去做所谓的“制衡”,相信这种管理者会渐渐退出IT的舞台,不过这种相互指责的现象貌似短时间内还不会那么快消失。
3、相安无事——我能想到的关键字是既定流程下责任共担与成果共享,我个人感觉这是我们公司现有的一种常态,彼此照章办事,无过多思考和改进意识;即便彼此心里对对方有更多期待也不便明说,总觉得干涉对方的工作很不礼貌。在我看来,这是虚假的尊重,却是真正的安于现状和不思上进的代名词。
4、相互倚重——我能想到的关键字是质量守护和可测性保证,表现在积极的互动和沟通:乐于相互尊重但决不因为害怕冲突而不提出自己的意见;懂得换位思考但决不迁对方短视或者不经济、不科学的行为。coder要实现一个重构或者系统改造,他们可以依赖测试的质量保证和守护作用;tester要更快更简单的测试也可以要求coder使用更合理易测的实现方式,在哲学上叫相互独立而相辅相成。
5、分久必合——我能想到的关键字是当下流行的持续集成和敏捷开发,大神们都在论证在今后的敏捷开发模式下,专职的测试人员会不会消失的问题。在我看来,正如上文所述,二者相互换位思考不足或者不深入导致二者合作不能更加“无缝”和高效,所以长久看来合是必须的,至少这是一种需求,而不是一种来自对客观形势的判断。但是我能理解的只是一种组织结构的变化而已,我的观点可以归纳为三点:
a)软件开发过程中的testing工作永远不会消失;
b)专职的tester不会消失,至少在敏捷开发中不会消失,但以后的新技术和新理念本人无法预测,所以不敢说永远二字;
c)专职的tester合入开发部门,不再与coder相互独立,而是可角色互换:tester从测试设计角度给coder提供更多意见和要求;tester亦可转换角色为coder,由其他的tester或者coder转换角色来做testing,须知“专职”和“全职”是不同的概念,如有异议,我们再讨论;
由于经历有限,所以我无法论证上面这5个层次是否需要逐步发展,也不知道从2或3直接跳入5会不会达到预期的效果,不过个人主观倾向于排斥这种做法,因为我认为双方在不具备主观能动性的情况下用什么模式去工作,结果都是一样的。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11