測試者和開發者,為何我們不能友好地相處?

csdn發表於2013-05-27

  有人說,測試者來自火星,開發者來自金星。這是因為軟體測試員和軟體開發者就好比一對冤家,裡面的緣由說不清也道不明。開發代表著創造,而測試則代表著摧毀,因為測試的目的就是以各種方式不斷地從開發出的產品中發現大大小小的Bug,長此以往,開發者認為測試者是在故意找茬,兩者的矛盾慢慢就會產生。原文作者Ole Lensmar發表了一篇博文《測試者和開發者,我們能友好地相處嗎?》,筆者對原文進行了摘譯:

測試者和開發者,為何我們不能友好地相處?

  • 難道測試者和開發者就不能在一起談論日常生活中的工作經驗嗎?
  • 難道測試者和開發者就不能好好的坐在一起執行測試並且除錯程式碼建立完美的軟體嗎?

  ——導致這一現象的原因是兩者之間缺乏有效的溝通。

  倘若我們不能克服這種文化差異,又怎麼期待與與測試者和開發者去做“真正的”敏捷測試而給使用者帶來高質量的產品呢?這個問題一直困擾著我,當然也並未隨著時間的推移而變得有所好轉。究其原因,我想是因為:

  1. 測試人員往往使用相同的工具,而開發者則利用自動化測試;
  2. 自動化測試正被越來越多的測試者和開發者積極擁抱;
  3. 測試者和開發者正積極擁抱持續價值的探索性測試作為測試產品新功能的基本實踐方式;
  4. 有關單元測試和測試覆蓋率的討論正成為新的專案開發中必備的組成部分;
  5. 測試驅動開發和BDD的價值正被越來越多的開發團隊接受,常被結合運用在常規案例中;
  6. 當產品經理闡述需求和評估新功能的複雜性時,測試者和開發者同等重要。

  在整個行業領域裡,敏捷開發是較為領先的一種方式。請記住,敏捷就是溝通、協作以及跨職能的團隊,這也正是我們需要去克服的存在於開發者和測試者之間“傳統的偏見“問題。

  那麼,我們該怎麼做呢?

  大部分人(包括我)認為可以本能地打破這種文化上的障礙(通過做許多工作來改變),但是我想我們也應該意識到面對面交流所帶來的好處。對此給出的建議:

  1. 介紹結對測試程式設計,讓測試者和開發者坐在一起開發並執行測試,討論各種需求並評估非功能方面的事宜(效能、安全、可用性等);
  2. 安裝並相互學習對方的工具,開發者應該掌握測試管理工具,測試者也應該檢查原始碼並且執行自動化測試。這將有助於彼此之間相互理解在自動化框架、重構等方面的複雜性;
  3. 一起去參加黑客馬拉松!試想下在下一屆API黑客馬拉松比賽中,你的團隊擁有一群專家測試團隊,讓你的產品質量領先於競爭對手(這得要歸功於在單元測試和自動化UI指令碼中執行探索性測試的人員);
  4. 將測試者和開發者當做一個完整的團隊,坐在一起、一起做開發、相互協作。

  綜上所述,那麼你是否已經準備好推到介於開發者和測試者之間的這堵牆呢?

  英文來源:testers-and-developers-can-we-please-get-along

相關文章