當測試人員證明了應用程序充滿了bug時,她正在做一份令人滿意的工作還是糟糕的工作?從一些開發人員的角度看,那是一份糟糕的工作。看上去很可笑,項目經理責備測試人員拖延了產品的發貨期,開發人員(通常是開玩笑地)抱怨說“測試人員對程序太粗暴了”。很顯然,沒有比bug數量更能代表成功的測試了。以下是一些關于測試人員如何和開發人員建立成功的關系的技巧。
?
當我以作為一個軟件測試人員開始我的職業生涯時,我就意識到在開發人員和測試人員之間正在進行的對抗。我根本沒有花時間和精力就確信這種情況是非常普遍的。我收到了來自開發人員的各種不友好的回應,我認為所有的測試人員都在他們的職業生涯中經歷過這些事。?
從冷漠的聳肩到明顯的敵意(有時會用同情的微笑掩飾),一個測試人員不得不忍受來自開發人員的許多態度。很難保持一個積極的態度。但是保持我們的優先的正直,并且向前推動高質量的項目是由我們自己決定的。?
我從Cem Kaner的《Testing Computer Software》里挑出一句很好的話:“最好的測試人員不是那些發現最多bug的人,或使最多開發人員尷尬的人。最好的測試人員應該是能夠使最多的bug得以修復的人。”
?原文:“The best tester is not the one who finds the most bugs or who embarrasses the most developers. The best tester is the one who gets the most bugs fixed.”?-經典。
?
那么我們可以做什么呢?
?
熱忱并且耐心(Be Cordial and Patient?)
作為一個測試人員,你或許發現使開發人員信服你發現的缺陷是非常困難的。通常,如果一個測試人員找到了一個bug,程序員將準備10個理由。有時讓開發人員接受他們的代碼是有缺陷的(并且是其他的人發現的)這個事實是很困難的。
?開發人員需要來自測試小組的支持,測試小組可以保證發現的新bug是值得關注的,健康的并且對于使產品更好是非常重要的。一個人性的方法是經常幫助測試人員更多的了解編程人員。相信我,不用多久,相同的一個人將站在你身邊了并且笑著指出引起bug的錯誤。熱忱將幫助開發人員對你的錯誤報告說“Yes”。這是重要的第一步。
?
處事老練(Be Diplomatic?)
試著巧妙地表述你的發現,并且不帶任何責備地解釋bug。“我確信這是一個很小的bug,你不用花多少時間就可以處理掉。到目前為止這還是一個不錯的程序。”開發人員將會跳起來并且擁抱你的bug。
?用一種心理方法。有時表揚一下開發人員的工作。為什么大多數開發人員不喜歡我們的錯誤報告的原因非常簡單:就是他們認為我們在詆毀他們的辛勤工作。有些測試人員只在出現問題的時候才和開發人員溝通。對于大多數開發人員而言,軟件是他們自己的孩子,而你只是一個妨礙他們的外人。我告訴我的開發人員因為他們我才存在于公司,而且由于我的存在,他們的工作才得以繼續。測試人員和開發人員之間的關系是一種共生及互惠的關系。
不要害怕尷尬(
Don’t Embarrass?
)
沒有人喜歡被指出錯誤。這是人類的天性。試著解釋修復那個特別的bug的需要勝于只是用龐大的bug報告向開發人員開火。一連串的缺陷不只會激怒開發人員,而且會使你的辛苦工作對他們來說是無用的。?
正象一個人不可能獨自測試完一個程序一樣,開發人員也不能設計程序沒有任何錯誤,而且在其他事情發生之前,他們需要先了解清楚。有錯誤是預料之中的事,他們也是過程中的一個正常的部分。
?
勝敗乃兵家常事(You Win Some, You Lose Some?)
我知道有些測試人員盡可能將自己的錯誤報告強硬。他們甚至不聽開發人員關于為什么不能修復一個錯誤和不能實現一個功能的解釋。嘗試一些可以讓自己放松的方法。做到開發人員身邊和他一起分析錯誤的優先級和嚴重程度。如果開發人員在其不愿變更的背后有一個合理有效的解釋,試著理解他。只是確信了解了要在什么地方劃定界限以保護你產品最終的質量。
?
謹慎一些(Be Cautious?)
外交手段和適應能力不能替代謹慎的需要。開發人員經常會找借口說因為他們沒有意識到(或者你沒有告訴他們)那個錯誤有多嚴重所以他們拒絕修復它。用足能夠清楚展示風險和問題嚴重性的方法設計你的錯誤報告和測試文檔。甚至更好的辦法是召開一個會議并且向他們解釋那些問題。?
一個聰明的測試人員是在傾聽和執行之間保持平衡的人。如果開發人員不能使你信服錯誤不應該被修復,那么你的責任就是使他信服要修復錯誤。