這堂課會學到什麼
這篇文章將帶您了解軟體產品開發過程中的品質把關方法,並提供工程師與產品經理(PM)如何協作確保產品品質的具體實踐建議。
先從工程團隊的角度 : Google 的系統化工程方法、多種測試驅動開發(TDD)、測試管理工具與流程改進的實例。
此外,重點將學到 PM 作為測試守門員的七大品質守門秘技,幫助產品更高效可以實現功能驗收、穩定性測試,以及用戶體驗優化。無論您是初入行的 PM,還是希望提升團隊測試效率的開發者,本文都能為您提供啟發性的資訊。
工程團隊如何把關產品品質
在軟體產品的開發過程中,開發品質與測試管理是確保產品成功的關鍵要素。不僅工程師需要關注這些環節,產品經理(PM)也能在其中發揮重要作用。
本段落將從工程師的開發方法談起,逐步帶出 PM 在測試中的角色與責任,並以系統化方式探討如何有效管理產品品質。
借鑑 Google 開發方法:文化與系統化解決方案
《Google 的軟體工程之道》(Software Engineering at Google)是一本 2022 年熱銷的軟體書籍,不僅在各家書局長期霸榜,其內容更為全球軟體工程師提供了豐富的啟發。
這本書的核心聚焦於 軟體工程(Engineering),而非單純的 程式設計(Programming),重點在於文化的型塑與系統性問題的解決。換句話說,除了教導如何「寫好程式」,更專注於大型團隊如何透過文化與制度提升工程效率與品質。以下有整理書籍提到的主軸內容,
核心主題著重在文化與系統化解決方案:Google 的方法著重於建立團隊文化和系統性解決問題,適用於大型軟體團隊,但需根據不同團隊文化進行調整。
1. 格式指南與規則設計原則
(1)規則(Rule):強制性設計,旨在避免潛在錯誤。
(2)指引(Guidance):高度建議但具彈性,允許針對實際情境調整。
(3)規則設計原則:實用性、一致性和讀者導向,避免過於複雜或難以維護。2. 一致性的重要性
(1)全球一致性:促進跨團隊協作及程式碼所有權轉移。
(2)區域一致性:針對內部遺留代碼與外部互動系統的不同需求進行優化。3. 工程效率的提升
(1) 自動化工具:如 Code Formatter,可自動化 90%以上的 C++ 程式碼檢測,極大提升效率。
(2) 應用規則的彈性與例外 : 在必要時對實際問題妥協,如平台特性與內部框架協作。由獨立裁決者(如規範維護人)決定規則例外,確保規範合理。4. 對 PM 的啟發
(1) 規模化邏輯:PM 可以借鑑 Google 的規則設計邏輯,用於制定產品規範及跨團隊合作方式。
(2) 團隊管理:快速成長的團隊中,PM 可以一起參與導入這些方法,有助於提升穩定性與效率。
其他測試驅動與驗證相關方法
TDD(Test-Driven Development)
開發前先撰寫測試案例,確保功能需求被充分驗證。
Unit Test(單元測試)
細緻測試程式碼的每個模組,確保功能正常運作。
Integration Test(整合測試)
驗證各模組之間的互動是否符合預期。
Regression Testing(回歸測試)
確保新功能加入後,既有功能不會被破壞。
協作與審查相關方法
Code Review(程式碼審查)
團隊成員互相檢視程式碼,提升品質並促進知識共享。
Pair Programming(結對編程)
兩名工程師共同開發,促進即時反饋與解決方案的最佳化。
Mob Programming(群組編程)
多人同時協作處理單一任務,有助於解決複雜問題。
自動化與工具支持
CI/CD(持續整合與持續交付)
自動化構建、測試與部署流程,確保產品品質穩定。
Static Code Analysis(靜態程式碼分析)
使用工具檢查程式碼中的潛在問題,如 SonarQube 或 ESLint。
Code Formatter(程式碼格式化工具)
如 Prettier,確保程式碼風格一致性。
Monitoring & Logging(監控與日誌)
使用 APM(如 New Relic)和日誌工具(如 ELK Stack)監控系統行為。
團隊流程與文化
Agile Development(敏捷開發)
運用短週期迭代與回顧提升開發效率與品質。
Definition of Done(完成定義)
明確完成標準,包括測試、文件與部署需求。
Feature Toggle(功能開關)
控制未完成功能的啟用,降低發佈風險。
安全性與穩定性保障
Security Testing(安全測試)
確保系統免受潛在威脅,如 SQL Injection 或 XSS 攻擊。
Load Testing(負載測試)
驗證系統在高流量下的表現,確保穩定性。
Chaos Engineering(混沌工程)
人為製造系統故障,測試其彈性與恢復能力。
PM 也是測試守門員:掌握產品品質的七種祕技
上面介紹開發團隊可能可以做的開發品質管控測概念,這邊要拉回來 PM 能做的事情。請問大家覺得測試是否僅是工程師與 QA 的工作呢?
其實呀!身為數位產品經理(PM),不僅要參與測試階段,還應主動將測試視為專案管理的重要一環。
測試不僅僅是為了驗證功能是否「能運行」,更關鍵的是確保產品符合用戶需求、商業目標以及整體體驗的一致性。
下面介紹七種產品經理能掌握產品品質做的七種方法 :
方法一 : 定義測試標準與範圍
- 規格清楚,也有明確驗收標準(Acceptance Criteria):重視規格文件的邏輯清晰,能讓團隊的人依照規格書進行開發,並將將測試標準融入需求規格文件,確保開發出來成品與需求目標一致。
- 功能驗收測試(UAT):重視 UAT 情境測試等撰寫和確實覆蓋測試,確保功能能在真實場景中達成商業價值。
- 用戶體驗測試、易用性測試:易用性測試也屬於 UX 工具的一環,除了功能測試,也需驗證使用者對於產品的界面易用性和流程順暢性。
方法二 : 拆小驗證邏輯
- 清晰的驗證邏輯:為了進一步提高測試效率並加速問題排查,制定具體的測試步驟,分層檢查問題。 (1) 數據流程測試:將整個驗證過程拆解為多個數據處理步驟,確保每個階段的輸入與輸出都符合預期。
(2) 操作步驟拆解:將操作流程分為小步驟,每一步都進行獨立測試,快速定位可能的問題環節。
這種細化的驗證方法,能幫助團隊在功能開發的不同階段進行精確檢查,減少系統錯誤的可能性,並大幅縮短調試時間。
方法三 : 規劃測試案例、邊界條件並使用測試項目管理工具
- 邊際案例測試:列出極端輸入與異常情況,確保穩定性。雖然 PM 可能沒辦法像專業 QA 這麼厲害,但還是可以當自己是個很天馬行空的使用者,測試一些非典型的流程,可能就會有機會抓出問題。
- 撰寫 UAT Test Case:從用戶故事與需求中拆解測試用例,幫助團隊理解範疇。
- 使用測試項目的管理工具:使用工具如 TestRail 或 JIRA Test Management 管理 Change request 插件,記錄、追蹤與分析測試問題與進度。
方法四 : 設立開發開關
- 功能開發開關(Feature Toggle):允許在功能開發未完成或驗證失敗時快速關閉特定功能,避免影響系統正式運作。
例如:某系統新增了一個後端檢查機制,能自動排除不符合成本效益的訂單。然而,由於系統邏輯複雜,團隊希望在 BST(業務支援工具)系統正式上線前,先進行驗證測試。此時,可以利用功能開發開關記錄 Log 資料進行觀察與調整,而不改變正式環境的運行狀態。這樣的設計既能確保測試過程的靈活性,又能有效降低風險。
方法五 : 運用執行測試工具
運用測試工具 (這邊非前面提到的管理工具,而是執行測試的工具) ,**現代開發團隊常用工具如 Selenium 和 Postman,進行不同層級的測試:
- Selenium:模擬用戶操作,驗證網頁應用程式在不同瀏覽器和設備上的行為一致性。
- Postman:有效執行 API 測試,確保數據交換流程的準確性,特別適合微服務架構。 PM 可以協助規劃自動化測試的優先順序,將核心功能和高風險區域列為重點,確保資源投入最大化。此外,PM 還能透過持續追蹤自動化測試的覆蓋率,評估測試成效,並促進改進。
方法六 : 鼓勵開發團隊進行良好 CI/CD 流程測試
- 鼓勵開發團隊進行良好 CI/CD 流程 : 例如透過 GitLab 的 CI/CD 管道,可以將自動化測試無縫融入開發與部署流程中
- 版本控管與觸發測試 : 在 GitLab 中設置觸發條件,例如每次提交(commit)或合併請求(merge request)時,自動執行測試腳本,確保變更不破壞系統既有功能。
- 測試與報告整合 : GitLab 支援並行運行多組測試腳本,大幅減少測試時間,同時生成可視化測試報告,幫助團隊快速識別問題。 例如,某電子商務系統利用 GitLab,自動檢查支付模組的更新是否會影響訂單流程,成功減少了30%的上線問題。 PM 可以跟工程團隊討論監控測試流程的觸發與執行,確保每次提交(commit)或合併請求(merge request)時自動觸發測試,及時發現問題,避免瑕疵進入正式環境。此外,PM 可利用 GitLab 生成的可視化測試報告,快速了解測試覆蓋率與缺陷分佈,評估開發進度是否與專案目標一致,並及早制定調整策略。
方法七 : 跨部門團隊合作
成功的測試管理離不開不同角色之間的協作,而 PM 正是協調這些資源的關鍵角色。
(1) 與 QA 團隊的協作 : PM 與 QA 團隊合作時,應重點關注測試計劃的完整性與缺陷分佈分析。
- 覆蓋需求:確保測試計劃涵蓋產品需求文檔中的每個功能,避免遺漏關鍵測試場景。
- 數據與缺陷分析:定期與 QA 團隊檢視測試結果,從數據中發現缺陷集中區域,並評估問題的優先級。
(2) 與開發團隊的協作 : PM 在與開發團隊合作時,可參與單元測試(Unit Test)的討論,協助規劃測試邊界。
- 測試充分性:透過討論需求與用例,確保單元測試覆蓋所有可能的邊界條件與極端情況。
- 測試與開發同步:鼓勵開發團隊在開發過程中同步撰寫測試案例,或參考 PM 端撰寫的 UAT 測試案例,降低回溯修正成本。
這樣的跨部門合作,能有效促進信息透明化,避免因溝通不暢導致的測試遺漏或資源浪費。
測試對 PM 的意義
對 PM 而言,參與測試不僅是為了確保產品「能用」,更是為了保證產品「好用」且「有價值」。當 PM 主動參與測試規劃與執行,並將測試與專案管理系統化,能有效降低產品上線風險,提升用戶滿意度,並展現出對產品品質的專業承擔。
測試不僅是工程師和 QA 的事,PM 同樣是測試品質的守門人。
風險管理 Preview:產品開發中的隱衛
在產品開發的路上,風險無處不在,從開發階段的小插曲到維運中的「地雷」,這些問題可能悄然無聲地擾亂進度,甚至讓專案陷入危機。所幸,風險管理就像專案的隱形守護者,幫助我們未雨綢繆,化險為夷。
其實,風險管理並不僅僅是貼滿會議室白板的繁雜計畫,而是一套以「預防為先,應對為後」的靈活策略。舉例來說,精細的軟體公司甚至在 CICD(持續整合與持續部署)流程中,會安排三人小隊——一人負責 Commit,另一人全程緊盯是否有誤操作,最後一人像保鏢般守護全程,確保流程無干擾並記錄確認結果。這不是過度小心,而是對風險的敬畏和專案成功的保障。
敏捷管理的核心,正是為了快速監控並應對風險,而測試品質則是風險控管的一部分。但如果我們從更高的視角俯瞰全局,風險管理的完整流程包括:分析與辨識風險、預防風險、監控風險、處理應變風險。這不僅是對產品的愛護,更是一種應對未知挑戰的從容態度。下圖為風險管理的使用工具,在數位產品經理的學習路上,我們已經討論了敏捷開發與測試的風險管控,這些工具和方法像一張地圖,幫助我們辨識問題並提前採取行動。而更進階的風險管理技巧,例如如何預防、應對,以及當意外發生時如何臨危不亂,這些內容就留到這十二堂課以外,未來更深入的課程來揭曉啦!
書籍推薦
如果你對 第十一堂課:產品開發測試,PM 的七大品質守門秘技 感興趣,想進一步提升測試與品質控管的能力,推薦 Summer 的《前端測試指南:策略與實踐》,本書完整涵蓋了 單元測試、整合測試、端對端測試、視覺測試 等關鍵概念,並介紹如何透過 CI/CD、AI 工具(GitHub Copilot、ChatGPT) 提高測試效率。這本書不僅適合前端工程師,也適合 希望更了解測試策略與開發品質管理的 PM,幫助你在快節奏的產品開發環境中,確保功能穩定、減少回歸成本,讓產品品質更上一層樓!
另外一本則是 介面測試自動化極緻應用:Postman+Jenkins+Github一路整合,可以更了解偏技術面的 QA 要怎麼做,尤其擔任的是系統商整合產品相關的 PM,很值得多點一點技術方面的技能點來精進 !如果你想深入了解 介面自動化測試,並學習如何運用 Postman、Jenkins、GitHub 來強化測試流程與持續整合,這本書是絕佳選擇!內容從基礎到進階,涵蓋 Postman 指令稿應用、介面測試持續整合、實戰案例,不論是 測試工程師、測試經理,或對測試技術有興趣的 PM,都能透過這本書提升測試效能,確保介面品質穩定,打造更可靠的產品。
結論 Recap
這堂課學習到 工程團隊如何把關產品品質,更重要的是身為 PM 的角色與測試守門人七大方法
方法一:定義測試標準與範圍
- 明確規格與驗收標準(Acceptance Criteria)。
- 結合 UAT 測試及易用性測試,覆蓋商業與用戶需求。
方法二:拆解驗證邏輯
- 細化數據與操作步驟測試,便於問題定位與解決。
方法三:規劃測試案例與使用管理工具
- 測試邊際情況與非典型流程,找出隱藏問題。
- 使用工具(如 TestRail、JIRA)追蹤測試進度。
方法四:設立開發開關
- Feature Toggle:允許未完成功能關閉,降低風險。
方法五:運用測試工具
- Selenium、Postman:執行自動化測試,覆蓋核心功能與 API 測試。
方法六:鼓勵良好 CI/CD 流程測試
- 整合自動化測試於 GitLab,通過提交與合併請求自動觸發。
- 使用測試報告評估覆蓋率與缺陷分布。
方法七:監控測試與報告整合
- 將可視化報告與專案目標結合,促進溝通與決策。
PM 在 QA 中關鍵價值和結論 Recap
測試不僅是功能驗證,更是確保產品體驗一致性與商業價值的關鍵保障。PM 不僅要參與,還要主導測試的規劃與執行,全面掌控產品品質。畢竟,當使用者抱怨產品問題時,他們可不會分辨這是 QA、RD 還是 PM 的責任。更何況,產品的成敗往往與 PM 息息相關,可以說是責無旁貸。所以,身為 PM 的你,下次面對測試規劃時,不妨問問自己:「我真的放心讓用戶來當最後的測試員嗎?還有什麼問題是我能提前預防、主動把關的?」
因此,在確保產品品質後,如何讓團隊順暢合作、讓專案不再因溝通障礙而卡關?這正是第 第十二堂課 : PM 職場溝通術,如何靠軟實力解決 90% 的問題?要帶你深入探討的課題!
在這堂課中,我們將學習 如何說服不同角色、如何有效傳遞資訊、如何處理衝突與談判,讓你的 PM 影響力大幅提升! 如果你希望不只是「管專案」,而是能真正「帶動團隊並成功向上管理」,就來接著繼續閱讀吧 !
📩 歡迎交流!看完文章後,若有任何想法、建議或想一起討論的話,隨時歡迎來信交流!
Miss 六月奶茶聯絡信箱 : junemilktea6@gmail.com




