軟體測試實務:業界成功案例與高效實踐 I《Chapter 4

敏捷測試的實踐

蔡孟哲    宋濤    林書緯    張仁瀚    蘭鑫

新加坡商鈦坦科技

在上一章【敏捷開發與市場測試】中提到,一個敏捷開發團隊是需要跨職能的,打破了原本開發與測試的藩籬,讓兩個職能混合在同一個團隊裡,並將開發與測試整合在一起,不再是按照順序地先開發到一個段落後才開始測試,而是連續地讓開發與測試互相交替,使得軟體測試在軟體開發生命週期中儘早發生,甚至融入開發過程中。

在敏捷測試中,由於不再區分開發與測試的職能,團隊成員皆為開發者,一起為軟體撰寫測試以及實作功能。在理想的狀況下,開發者甚至會與業務人員緊密地結合在一起,讓需求透過測試與開發接軌,測試成為一種保存業務知識的載體,也成為開發的起點。

在這一章節中,我們將會分享鈦坦科技在融合測試到開發的實踐中所用到的工具、流程與技術,比如如何使用敏捷測試技術來確保開發品質、如何使用持續整合(Continues Integration,CI)以及監控系統來快速獲得產品回饋,以及如何培訓新人以便使他們能快速適應敏捷測試流程。


章節大綱

CH4 敏捷測試的實踐

4.1 敏捷測試

  4.1.1 測試案例設計

  4.1.2 結對程式設計

  4.1.3 群體程式設計(Mob Programming)

  4.1.4 程式碼審查

  4.1.5 測試驅動開發

  4.1.6 驗收測試驅動開發

  4.1.7 重構與程式碼壞味道

4.2 測試象限

  4.2.1 測試金字塔

  4.2.2 效能測試

  4.2.3 安全測試

  4.2.4 探索性測試

4.3 持續整合

  4.3.1 小片段提交

  4.3.2 持續整合流水線上的自動化測試

  4.3.3 測試涵蓋率

  4.3.4 程式碼品質

4.4 監控

  4.4.1 即時監控警報系統

  4.4.2 問題單

  4.4.3 重現問題(Reproduce By Test)

4.5 測試能力的培訓與發展

  4.5.1 測試培訓

  4.5.2 技術審查和自我評估

4.6 Never Stop Improving

  4.6.1 職稱壁壘

  4.6.2 TDD 及ATDD 的應用現況

  4.6.3 端到端測試的應用現況

  4.6.4 負載測試應用現況

4.7 結語

內容預覽

作者簡介

蔡孟哲

服務於鈦坦科技,前世為資深軟體工程師,目前轉生成為ScrumMaster。信仰簡單設計,樂於把複雜的知識以易懂的方式呈現,因此在工程師時期,偏好Refactor、TDD、Unit Test 等兼顧產品品質與展現程式碼意圖的開發技能;ScrumMaster 時期,則致力於透過視覺化以及教育等手段優化團隊運作流程

林書緯

技術背景的ScrumMaster,想成為能將多個工程師纜成一條繩索、更能發揮專業與價值的存在,遂踏上了軟工與敏捷之路。目前在鈦坦擔任全職ScrumMaster,持續追求敏捷之道。

張仁瀚

鈦坦資深工程師,喜歡香菜,熱愛棒球運動。職涯前期專注在ASP.NET Web Application 的開發,近期配合雲服務及DevOps 精神的興盛,致力於學習Docker/Kubernetes/ELK 等相關應用,以技術為手段,為客戶創造更多產品價值。

蘭鑫

之前為QA,後隨鈦坦轉Scrum 而成為工程師,現為鈦坦科技資深工程師。主要從事ASP.NET API 的開發與維護。偏好測試案例設計,重構以及程式架構設計。

作者所屬機構

專章引用

蔡孟哲、宋濤、林書緯、張仁瀚、蘭鑫,〈敏捷測試的實踐〉。《軟體測試實務:業界成功案例與高效實踐 I》,博碩文化,2023年5月,ISBN 978-626-333-485-4。