凡是在软件公司工作过的人,仿佛都知道开发和测试是对立的,而且开发人员与测试人员的沟通很困难?为什么呢?那样我们简单对比分析一下两种工作的特点。
一个简单的现象,不知道大家是否注意过?英语文化为首的洋人和中国文化为首的东方文化在选择一个事情的时候总是对立的,如果是一个硬币总是选择了硬币的不同一面,很奇怪?例如:中国人姓方在前面,鬼子放在后面; 我们靠右侧通行,鬼子喜欢左面;我们避讳先祖的名字,鬼子把先祖的名字当作自己儿子和孙子的名字;我们写地址先写,后写细节,鬼子先写住什么街道后才是;我们过去是竖着写字,从右到左; 鬼子也是翻过来。 凡此种种,只要能对立的地方双方选择了对立。难道是上帝在作怪么?让两种文化选择正好相反?
其实,无论选择了什么,看起来都是穿衣吃饭,活的不错,也没有因为这些过的难过,其实是习惯变成了文化,文化变成了特点,特点变成了区别。 对比开发人员和技术人员好象也是如此。由于工作的特点,对待同一个事情上,思维的出发点不一定,经常会选择硬币的两面! 传说的只能背靠背,无法心连心? 哈哈!
开发工作的特点是对所负责的部分,模块要做到非常了解和熟练,确保自己负责的部分要没有问题,然后才是整合到真个产品中不发生问题, 当然这个是绝大部分开发工程师的工作内容。
测试工程师呢?首先要了解的是产品的宏观特点,然后是先确保产品的基本有效,才开始逐步确认细节无误。
两个工作的特点正好是微观到宏观和宏观到微观的思维模式。这样的思维模式为基础,导致了在问题出现时的解决思路也不同,个人思维的不同,个人需要掌握的技能也不同,要求的方式也不同,这么多不同必然要导致管理者采取不同思路组建团队,所以我个人的经验是:
管理开发人员是以强调技术深度为导向的方式,必须要对技术的深度有很好的把握和跟进,一个明显的倾向是开发人员是用技术来衡量领导的能力的, 只要技术压得住,别的都好说。 如果技术不对,别的都是胡扯的倾向。
测试人员是一强调技术的广度为导向的方式,需要对产品的历史,现状,应用,市场,特点,使用习惯等等方面都有所了解,要能进行初步的验证。但是在执行具体的验证过程又是比较容易的(相对于开发人员来说),多以具体操作为主,容易上手。所以测试管理的特点是要求主管更加关注的是人员本身的学习能力和动手能力,如何有效的配置资源,达到效益大化。
综上所诉,个人认为测试管理者更重要关注的是根据公司的现状,如何建立起来快速有效的,具有学习能力的团队。由狮子带领的绵羊一样可以打硬仗!开发人员必须是狮群了,每个技术环节的疏漏,必然导致问题的出现!
总结:测试人员要更加理性的强化统筹的方法管理团队。