軟體測試修練指南:我獨自升級的實戰心法(iThome鐵人賽系列書
敏捷三叔公 柯仁傑(David Ko)
相關主題
商品描述
測試工作這件事,沒有人能置身事外!
軟體開發要速度更要品質!
本書涵蓋四大收獲,培養獨自升級的內功心法
扎實的基礎
介紹測試定義和階段
測試種類圖像化
建立全局觀
包含所需活動和挑戰
與敏捷/DevOps/AI搭配
測試方法介紹
黑箱測試的做法和比較
白箱測試與迷思
務實的測試管理
測試規劃和缺陷管理
度量分析和報告
測試工作人人都說簡單,卻不太了解怎麼做
建立基礎並搭配AI,讓軟體開發更得心應手!
本書內容改編自第16屆iThome鐵人賽IT管理組的冠軍系列文章《葬送的軟體測試──不懂不想做是會出事》。在台灣大多數有關軟體測試的書籍,都是偏向測試自動化,像是單元測試、或是前端測試要如何進行。但是在實務上,能有空進行測試自動化的人並不多,即使有比例也不高。此外對於測試活動要如何規劃,有哪些測試需要進行,或者Bug如何追蹤和分析,並沒有任何著墨。
因為軟體測試在學校沒教,在工作上也不太有人會跟你說。如果要開立測試個案,也擔心會有所遺漏,不知道有什麼比較系統化的方式去建立。本書會介紹各種開立測試個案的系統性做法,附上各種範例和經驗法則,並且比較這些方法的適用時機,幫助你可以涵蓋較多的場景。
測試並不是只有單元測試,也不是只需要執行功能測試而已。從測試活動要如何規劃、測試的種類和方式、測試自動化的策略,到測試人員的管理和培育等等,本書會以全局觀來看待整個測試流程,以及一些測試經驗分享。
目標讀者
• 想了解測試基本知識的人
• 專案 / 產品主管 / 品保主管
• 一條龍的開發人員
• 想知道生成式人工智慧如何影響測試的人
本書重點
當品質成為競爭利器,測試卻越來越被壓縮與忽略;尤其 GenAI 帶來加速,也暗藏無形風險:不知如何生成覆蓋狀況、不知在測試流程中如何配合使用。
本書集結二十年測試實戰與團隊管理經驗,以最清晰易懂的語言,帶你:
• 釐清痛點:解構測試思維矛盾與隱性成本,直擊台灣軟體業最急迫的品質挑戰。
• 掌握技術全景:靜態審查、黑箱/白箱、多種測試策略一網打盡,範例詳實、步驟分明。
• 流程最佳化:瀑布、敏捷、DevOps 下的關鍵檢查點與協作要訣,讓品質成為流程加分項。
• 系統化測試管理:從策略與計劃、執行追蹤到缺陷管理,建立完整的品質監控框架。
• 打造高效團隊:從角色定位、技能培育到招募策略,一書掌握測試團隊成長方程式。
無論你是剛跨入測試領域的工程師,或是負責品質保證的團隊領導,《軟體測試修練指南》都將成為你最完善的「品質聖經」,引領你在 GenAI 時代,既能高效加速,又能精準把關,化解每一次看似不可能的測試難題。
專業推薦
你也是一位正打算加強軟體測試能力的工程師嗎?又或者,你是一位希望幫助團隊更落實軟體測試的倡議者?那麼,一起來閱讀本書吧!透過敏捷三叔公的視角,幫助你理解軟體測試在實踐中可能遇到的挑戰與應對之道,讓這本書為你的軟體測試學習之路,增添一份助力!
Taiwan Community 志工 & DevOpsDays Taipei Co-organizer
陳正瑋(艦長)
敏捷三叔公(David Ko)是我多年好友,他的這本書,是台灣市場極為少見、專注探討軟體測試全貌的中文書籍。 測試領域廣泛而複雜,而這本書不僅深入淺出地梳理出各種測試方法與流程,更難能可貴地從開發者、測試者、管理者等不同視角出發,幫助團隊建立起對測試工作的整體視野與實作策略。
董大偉
Microsoft MVP|Microsoft Regional Director
這本書不僅有理論,更有許多來自業界的實戰經驗分享和案例,例如測試計畫、測試案例設計、缺陷管理 等等,都是非常寶貴的內容。作者以輕鬆幽默的筆觸,將看似複雜的軟體測試概念解釋得條理分明,有種當年看the phoenix project的感覺,一章一章的接著讀下去。無論你是剛入門的新手,還是經驗豐富的開發者或管理者,都能從中獲益良多。特別是在「沒有角色別,只有事情別」 的當代軟體開發環境中,這本書更是不可多得的指南。強烈推薦給所有關心軟體品質的讀者!
閻兆磊 聯發科技/技術副處長
在本書中,你不只會讀到各式測試方法與工具的實務介紹,更會看見如何透過測試推動團隊學習、文化演進與品質成長。願這本書能陪伴你在測試的路上更有力量。不論你是剛入門的學習者,還是帶領團隊的實踐者,都能在書中找到共鳴的語言、對話的契機,以及持續前行的信念。
李境展 Tomas Li
新加坡商鈦坦科技 總經理
主編出版《鯨游藍海 – 鈦坦科技的敏捷之旅》
曾經取得CSM, CSPO, LeSS, CSP, Scrum@Scale, PMP 等的認證收據
作者簡介
敏捷三叔公 柯仁傑 (David Ko)
目前在 Odd-e 擔任 Agile Coach,幫助企業導入敏捷、改善流程和提供培訓,台灣 Agiletour Taipei 的組織者之一,也是國內最大敏捷社群的創始人,致力於推廣敏捷技術。
擅長敏捷開發流程、敏捷測試、軟體測試、設計衝刺(Design Sprint)和 DevOps 轉型。
Agile Summit、DevOpsDays Taipei 的主辦人,譯有《Scrum and XP from the Trenches》繁中版。
iThome鐵人賽獲獎
• 2023 IT管理組冠軍《多團隊如何協作進行敏捷開發的利器──Large Scale Scrum(LeSS)》
• 2024 IT管理組冠軍《葬送的軟體測試──不懂不想做是會出事》
目錄大綱
第一部分:軟體測試基礎
楔子-數位開發部門的日常
CHAPTER 01 為什麼軟體測試這麼難
1.1 測試思維矛盾
1.2 測試所需的代價
1.3 台灣軟體測試的現狀
1.4 軟體測試的挑戰
1.5 生成式人工智慧在軟體測試中的挑戰
CHAPTER 02 軟體測試概論
2.1 品質是什麼會因人而異
2.2 軟體測試的簡介
2.2.1 為什麼需要進行軟體測試呢?
2.2.2 什麼是軟體測試呢?
2.2.3 誰來測試軟體
2.2.4 測試人員要測什麼
2.3 軟體測試的迷思
2.4 如何說服管理者測試要好好做
第二部分:測試方法論
楔子-小白的疑問
CHAPTER 03 軟體測試階段
3.1 為什麼會有這些測試階段
3.2 測試階段說明
3.2.1 單元測試
3.2.2 整合測試
3.2.3 系統測試
3.2.4 驗收測試
3.3 測試階段的比較
CHAPTER 04 軟體測試流程
4.1 瀑布式開發中的測試流程
4.1.1 瀑布式軟體開發簡介
4.1.2 在瀑布式軟體開發進行測試
4.1.3 在瀑布式開發中確保品質的重點
4.2 敏捷開發中的測試流程
4.2.1 敏捷開發和 DevOps 簡介
4.2.2 敏捷開發和 DevOps 對測試帶來影響
4.2.3 敏捷開發和 DevOps 中的測試流程
4.2.4 在敏捷和 DevOps 中確保品質的重點
4.3 生成式人工智慧與軟體測試
4.3.1 生成式人工智慧對軟體測試的影響
4.3.2 生成式人工智慧如何輔助軟體測試的進行
楔子-測試要怎麼設計
CHAPTER 05 靜態測試技術
5.1 軟體測試方法分類
5.2 靜態測試方法簡介
5.3 程式碼審查(Code Review)
5.4 檢驗(Inspection)
5.5 結對程式設計(Pair Programming)
5.6 靜態分析(Static Analysis)
5.7 靜態分析中常見的度量
CHAPTER 06 黑箱測試技術
6.1 黑箱測試方法簡介
6.2 等價類別分割法(Equivalence Class Partitioning)
6.3 Boundary Value Testing(邊界值分析法)
6.4 Use Case Testing(使用案例測試法)
6.5 Pairwise Testing(成對測試法)
6.6 State Transition Testing(狀態轉移測試法)
6.7 Decision Table Testing(決策表測試法)
6.8 黑箱測試方法的比較和適用時機
CHAPTER 07 白箱測試技術
7.1 白箱測試方法簡介
7.2 行數覆蓋率(Line Coverage)
7.3 分支覆蓋率(Branch Coverage)
7.4 條件覆蓋率(Condition Coverage)
7.5 循環複雜度(Cyclomatic Complexity)
7.6 測試覆蓋率的迷思
7.7 測試覆蓋率工具的運作流程
第三部分:測試管理與實務
楔子-測試需要管嗎?
CHAPTER 08 軟體測試管理
8.1 專案管理和軟體測試管理比較
8.2 軟體測試管理的服務對象
8.3 誰來進行測試
8.4 測試管理的主要工作內容
8.5 軟體測試管理面臨的挑戰
CHAPTER 09 軟體測試規劃
9.1 測試規劃要考慮什麼
9.2 測試計劃內所包含的內容
9.3 常見測試計劃格式
9.3.1 IEEE 829 中測試計劃
9.3.2 一頁測試計劃書
9.3.3 心智圖
9.4 業界測試策略的做法
9.4.1 Google
9.4.2 Facebook
9.5 測試規劃經驗談
CHAPTER 10 軟體測試設計
10.1 軟體測試設計是什麼
10.2 軟體測試設計會如何拆解
10.3 測試案例內容
10.4 測試案例設計流程
10.5 如何衡量測試案例的品質
10.6 如何有效管理測試案例
10.7 測試案例設計經驗談
10.8 測試案例管理工具
楔子-測試怎麼執行?
CHAPTER 11 軟體測試執行
11.1 測試執行前的注意事項
11.2 測試執行流程
11.3 回歸測試策略
11.4 何時可以停止測試
11.5 測試報告
11.6 測試指標
CHAPTER 12 管理程式缺陷
12.1 程式缺陷處理流程
12.2 程式缺陷需要包含哪些內容
12.3 好的程式缺陷報告要注意什麼
12.4 程式缺陷統計圖表或報告
12.5 如何收集上線後逃逸的程式缺陷
楔子-上有政策下有對策的自動化?
CHAPTER 13 規劃測試自動化
13.1 軟體測試和測試自動化比較
13.2 測試自動化的好處
13.3 測試自動化失敗的常見原因
13.4 測試自動化的處理流程
13.5 那些功能適合進行測試自動化
13.6 測試金字塔
13.7 如何選擇測試自動化工具
楔子-天下英雄入吾彀中矣?
CHAPTER 14 測試團隊技能培育與招募
14.1 好的測試人員的特色
14.2 測試人員所需的技能
14.3 測試人員的角色
14.4 如何培育測試人員
14.5 如何學習生成式人工智慧來輔助測試工作
14.6 測試人員的招募
APPENDIX A 常見測試相關用語的中英文對照表