測試者和開發者,為何我們不能友好地相處?
有人說,測試者來自火星,開發者來自金星。這是因為軟體測試員和軟體開發者就好比一對冤家,裡面的緣由說不清也道不明。開發代表著創造,而測試則代表著摧毀,因為測試的目的就是以各種方式不斷地從開發出的產品中發現大大小小的Bug,長此以往,開發者認為測試者是在故意找茬,兩者的矛盾慢慢就會產生。原文作者Ole Lensmar發表了一篇博文《測試者和開發者,我們能友好地相處嗎?》,筆者對原文進行了摘譯:
- 難道測試者和開發者就不能在一起談論日常生活中的工作經驗嗎?
- 難道測試者和開發者就不能好好的坐在一起執行測試並且除錯程式碼建立完美的軟體嗎?
——導致這一現象的原因是兩者之間缺乏有效的溝通。
倘若我們不能克服這種文化差異,又怎麼期待與與測試者和開發者去做“真正的”敏捷測試而給使用者帶來高質量的產品呢?這個問題一直困擾著我,當然也並未隨著時間的推移而變得有所好轉。究其原因,我想是因為:
- 測試人員往往使用相同的工具,而開發者則利用自動化測試;
- 自動化測試正被越來越多的測試者和開發者積極擁抱;
- 測試者和開發者正積極擁抱持續價值的探索性測試作為測試產品新功能的基本實踐方式;
- 有關單元測試和測試覆蓋率的討論正成為新的專案開發中必備的組成部分;
- 測試驅動開發和BDD的價值正被越來越多的開發團隊接受,常被結合運用在常規案例中;
- 當產品經理闡述需求和評估新功能的複雜性時,測試者和開發者同等重要。
在整個行業領域裡,敏捷開發是較為領先的一種方式。請記住,敏捷就是溝通、協作以及跨職能的團隊,這也正是我們需要去克服的存在於開發者和測試者之間“傳統的偏見“問題。
那麼,我們該怎麼做呢?
大部分人(包括我)認為可以本能地打破這種文化上的障礙(通過做許多工作來改變),但是我想我們也應該意識到面對面交流所帶來的好處。對此給出的建議:
- 介紹結對測試程式設計,讓測試者和開發者坐在一起開發並執行測試,討論各種需求並評估非功能方面的事宜(效能、安全、可用性等);
- 安裝並相互學習對方的工具,開發者應該掌握測試管理工具,測試者也應該檢查原始碼並且執行自動化測試。這將有助於彼此之間相互理解在自動化框架、重構等方面的複雜性;
- 一起去參加黑客馬拉松!試想下在下一屆API黑客馬拉松比賽中,你的團隊擁有一群專家測試團隊,讓你的產品質量領先於競爭對手(這得要歸功於在單元測試和自動化UI指令碼中執行探索性測試的人員);
- 將測試者和開發者當做一個完整的團隊,坐在一起、一起做開發、相互協作。
綜上所述,那麼你是否已經準備好推到介於開發者和測試者之間的這堵牆呢?
相關文章
- 開發者和設計師:為何我們不能化干戈為玉帛
- 我為何從測試轉測試開發,並堅持了10年?
- 【譯】為何我們要寫super(props)?
- 為何我們都會喜歡App Store?APP
- 【伺服器】當我們對伺服器進行測試,我們測試什麼?伺服器
- 為何我們前端從Vue 2遷移到Svelte?前端Vue
- 化身“監工”的AI,我們該如何相處?AI
- 逐夢者:那些平凡的《我的世界》模組開發者們
- 團隊解散,我們該何去何從?
- 今年 Build 大會,我們就想跟開發者單純地聊技術UI
- 在阿里,我們如何管理測試環境阿里
- 測試設計技術 - 我們需要嗎?
- 孩子們,為什麼我建議你一定要會介面測試?
- 我們為何選擇 Cilium 作為 Kubernetes 的網路介面
- 前端這條路,我們該何去何從前端
- 為何我們要用 React 來寫小程式 - Taro 誕生記React
- 我們為何對MySQL 8.0的到來感到如此興奮MySql
- 從入門到放棄,我們為何從 Blazor 回到 VueBlazorVue
- webpack 4 測試版 —— 現在讓我們先一睹為快吧!Web
- 探索性測試為何如此重要?它能提升測試技能使工作更高效,值得我們繼續深挖!
- 什麼是滲透測試和安全測試,有何區別?
- 深度學習的困境,我們該何去何從?深度學習
- 前端這條路,我們該何去何從(續)前端
- 自動化測試專案為何失敗
- VitalSmarts:社交媒體正在讓我們變的不友好嗎?
- 滲透測試和漏洞掃描是什麼?兩者有何區別?
- 我們測試了上萬款應用程式,總結了APP測試流程和常見問題APP
- 《天外世界》開發者:為了讓玩家為所欲為,我們絞盡了腦汁
- 複雜業務下,我們為何選擇 Akka 作為非同步通訊框架?非同步框架
- 測試領域的發展和學習(我們都是溫水的青蛙)
- 「虛幻引擎5」為何讓開發者們拍手叫好?它到底厲害在哪?
- 關於測試平臺的搭建 (我們要不要搭建測試平臺)
- 邊緣計算和5G:我們從何而來?
- 客戶旅程地圖-設身處地的為使用者著想地圖
- 微軟為何破例在中國買地微軟
- 我們能不能相信人工智慧?人工智慧
- 為 java 開發者設計的效能測試框架,用於壓測+測試報告生成Java框架測試報告
- 我眼中的開發和測試