程序員,你的路好走嗎?(七)

開發人員與測試人員的“角色衝突”

公司曾經舉行過一次關於軟件質量的討論,會上測試組領導和部分成員抱怨開發組的“不合作”態度,而開發組成員由於沒有被點名而三緘其口,彷彿“任你風吹雨打,我自巋然不動”。由於事不關己(不是一個項目的),我在會上也沒有說什麼,不過總覺得哪裏不對勁,會後也思考過,卻一直沒有形成清晰的想法。最終促使我寫下這篇文章的是後來的一次經歷,坐在我旁邊的老兄(我和他不是一個項目的)受到兩名測試人員的輪番質詢,在他提出了非常令人信服的理由(至少在我看來)之後仍不能讓測試人員走開,因爲每當測試人員看似山窮水復、理屈詞窮之時,他們就搬出那條屢試不爽的“理由”:但用戶並不會這樣認爲……。

這一次,我終於弄明白問題出在哪裏了。

當教師被譽爲“人類靈魂的工程師”,2004年卻出現了最大的諷刺,某地出臺規定——“嚴禁姦污女生”;當醫生被譽爲“白衣天使”,患者卻不得不接受紅包現象和惡劣的服務態度;當公務員被譽爲“人民的公僕”,百姓看到的卻是一副副高高在上的嘴臉。實際上,越是企圖美化、神聖化一個職業,該職業的從業者做出的違反職業道德的行爲越是容易引起注意、越是難以忘記。今天,這樣的嘗試再一次出現,測試人員被譽爲“軟件質量的守護神”,和“用戶利益的代言人”。

神聖化一個職業或職位是不恰當的、也是很危險的。對於一名測試人員來說,實力纔是使其成爲軟件質量守護神或用戶利益代言人的根本原因。在這樣的語境裏,角色是沒有任何意義的。測試人員經常被要求“站在用戶的立場上想問題”,這句話是否正確,完全取決於怎麼理解。如果認爲任何人都具有“站在用戶的立場上想問題”的能力,缺少的只是態度,那麼你就錯了。一個拙劣的測試人員不僅無法確保軟件質量,反而是資源浪費的最大源頭、是用戶利益的最大侵害者。當開發者與一個(或一些)看不清問題的本質偏偏還要言必稱“我們要站在用戶的立場上考慮”的測試人員一起工作時,發生衝突也就在所難免的了。測試人員經常被教導的另一句話大概是“把用戶當成白癡”。對於一些通用軟件來說,也許由於用戶水平參差不齊,即使按照字面含義理解也不會錯到哪去,但是對於系統軟件來說,用戶水平不成問題,白癡是不可能找到這樣的工作的。我想這句話的本意應該是不要把簡單的事情弄複雜,或者是如果能夠操作簡單方便,用戶甚至願意犧牲一些其它因素。不加分析地照搬照抄人家的話語或行動,不僅顯得缺乏創造性,而且缺乏洞察力。

衝突不僅僅由能力不足引起,不受監督的代理關係也是一個重要的原因。不少測試人員自詡爲用戶的代言人,要爲用戶的利益負責。這種行爲一般被稱爲代理,然而,在缺乏監督的情況下,代理人可能假借被代理人的名義尋求自身利益。在沒有與用戶充分交流的前提下臆想、甚至捏造需求以實現個人目的的行爲簡直是沒有半點職業道德。

實際上,意見不一致的現象在哪裏都有,即使是開發組內部也經常爭得面紅耳赤,然而,很少有人覺得這是個問題。之所以開發人員與測試人員之間的“角色衝突”常常引起人們的激烈反應,是因爲不少人將兩者之間的關係想象成包身工與拿摩溫。基於這樣的假設,很難置疑測試人員的提議,而開發人員在不受信任的環境下是難以發揮其最大潛力的。我更願意認爲兩者之間的關係與足球場上前鋒與後衛之間的關係類似,分工完全是基於戰術上的需要,沒有人希望輸掉比賽。

當然,並非所有的問題都來自測試人員,我們組就有一位非常優秀的QA,大家在一起工作非常融洽,他的實力贏得了所有人的尊重。本文想說的是,當測試職位被注入過多的感情因素後,置疑其行爲合理性總是顯得底氣不足,這是不正常的。也許,把人分爲開發和測試兩部分本身就是不恰當的,這種分類基於一種充滿着不信任的文化。在XP裏,測試具有非常重要的地位,卻很少有(至少我沒有看到過)關於測試角色的言論,我想,XP大概是一種截然不同的文化,是一種以人爲本的文化。

發佈了48 篇原創文章 · 獲贊 1 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章