最小化测试与开发间冲突的最简单的办法,就是让测试组拥有能履行其职责的足够权利。既要给他们充分授权,以便他们在软件初期设计阶段能够参与或提供反馈,也要对他们这一角色应有的限制达成共识。但如果你让测试组夹在中间,责任很大而权利很小或没有,那么他们注定会使整个项目陷入混乱而导致失败。我不是在主张由测试员统领一切,而是说他们的责任应该与他们的权利大致平衡。 我所见过的最好的团队都是在一开始就进入了他们各自的角色。测试员、程序员以及其余的人都会尽早说明他们认为项目中哪些是重要的,他们的专长如何能得以施展。如果团队里有些好主管,他们就会在如何决策上达成一致,即哪些事情适合由程序员决定,哪些事情适合由测试员决定,还有哪些是由双方或多方共同决定。 尽早开始合作 如果你希望人们在工作中能相互配合,就必须给他们充分的时间以建立起工作关系。你不会与自己不甚了解的人一起分担重要的事(设想一下你把自己最隐秘的恐惧告诉邮递员,他不会认为你是认真的;更糟糕的是,你可能再也收不到信件了)。如果这就是人类本性的真相,那你就不会对程序员不满于测试员的介入感到奇怪了。如果只在项目中的某一个月份测试员才出现并寻找缺陷,他们就会遇到阻力。程序员编写的代码的质量-这是他们的骄傲之源-被完全处于局外的人所挑战,此时测试员就会被当作威胁而不是支持。 所以说,程序员与测试员应当从第一天起就协同工作。他们一起开会讨论想从对方那里得到什么,以及他们希望对方做哪些事情。他们会根据项目目标或工作任务列表来安排工作的优先级并做出影响双方的决策。在日常工作中,程序员总会把测试员的工作看作是帮助他提高工作质量的一种方式,这增强了他的自信心。测试员不再是挑毛病、列缺陷的局外人(“烂程序员,真烂!”),与此相反,他们成为一个局内人、一个合作者,他们对程序员的工作所给予的密切帮助无人能及。 或许最为重要的是,尽早建立起程序员和测试员之间的工作关系,这会打造出一个使项目能够经受艰难时刻所需的纽带。在项目后期问题出现、压力加大,他们将有一段彼此信任的经历。他们会寻求解决方案应对压力和新的挑战,而不是指责对方。 带着质量意识编程 通常程序员和测试员在质量的含义上有着非常不同的见解。不只是他们,人们有关质量的争论已经持续了几百年,至今也未取得多少进展(参见Pirsig的《禅与摩托车维护的艺术》)。不要指望能找到一个永远正确的答案,那是不可能的事。质量是有高度主观性的,而且对于不同的项目其含义也会不同。主管们要做的是为当前的项目在质量问题上达成一致,避免哲学式的争吵,而不是去寻求一个唯一的答案。 |
正在阅读:如何结束测试员和程序员之间的战争如何结束测试员和程序员之间的战争
2005-09-15 10:14
出处:
责任编辑:moningfeng
键盘也能翻页,试试“← →”键