看板 Soft_Job 關於我們 聯絡資訊
哈囉大家好,我是在軟體業工作的PM, 前陣子分享PM與工程師合作的注意事項得到很多回饋, 最近又寫了一篇PM與QA合作的心得,歡迎大家給些回饋或是跟我們交流交流~ 【PM夥伴攻略】如何與QA合作? https://pse.is/FFGC8 軟體業中的 QA(Quality Assurance)是負責軟體測試、確保軟體功能正常的重要角色。在我剛加入團隊時並沒有專職的 QA,功能測試的工作是由產品經理、工程師、客服共同負責,而在兩年後 QA 部門已經比 PM 人數還要多了,包含手動測試、自動化測試與有經驗的 QA 主管來協調資源與管理測試項目(Test Cases)。 為了確保產品的穩定度與安全性,「測試」這件事情對於使用者數量多、以及會碰到「錢」的電商、金融相關產品尤其重要,因此除了 QA 本人會負責測試之外,產品經理、工程師也會在不同階段為測試盡一份心力。 ▍軟體開發流程中的各種測試 1. 工程師—Unit Test 開發時,工程師會寫單元測試(Unit Test),Code Review 時其他工程師會再次檢查 Code & Unit Test 是否合規。 2. 產品經理、設計師—Use Case Review 當工程師的開發告一階段,會請產品經理、設計師測試功能與情境是否符合期待。通常就是對照著 PRD、mockup 來檢查與測試。 3. QA—End-to-end Testing (E2E), Integration Testing 到了 QA 手上時,會進入 End-to-end Testing (E2E)、Integration Testing 的階段,包含手動測試與自動測試。 手動測試時會檢查每個新任務的細節,除了正常使用情境與介面檢查外,也會測試極端情況、錯誤使用方式的處理、不同版本或權限的管理等等。 而在我們的流程中,自動測試的環節出現在新版本的功能、優化、bug fix merge 到主要分支後、準備上線前的最後一道關卡,跟 DevOps、SRE 密切合作。主要測試項目為目前線上已有的功能與模組,例如註冊、登入、加入購物車、結帳流程等等,避免新的版本影響到原有功能。而新功能的自動化測項則是會邊開發邊加進去,逐漸提高代碼覆蓋率(code coverage)。 QA 主管負責掌管龐大的測試項目(Test Cases)資料庫,使用如 TestRails 這類型的工具將測試項目分類、互相關聯、複製、移動,同時跟工程師、產品經理溝通新的功能開發的測試項目、資源、時程。 手動測試和自動測試都很重要,前者強調使用情境、使用流程、UIUX的具象狀況,後者則是能快速檢查與盤點大部份重要功能的實作與邏輯運作狀況。 ▍如何跟 QA 合作? 1. 提供細節清晰的測試需求 2. 除了測試功能,也讓 QA 幫忙 PRD 的偵錯 3. 掌控好每次開發、測試的項目的範圍 4. 記得預留 Buffer Time 給測試時程 5. 上線前找到 BUG 皆大歡喜 (文章有點太長,細節請參考文章內容~~~) 最後分享一篇最近讀的文章《一次搞懂單元測試、整合測試、端對端測試之間的差異》 https://pse.is/F2YJ7 以上~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.246.204.199 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1551583178.A.E8D.html ※ 編輯: annedoo (27.246.204.199), 03/03/2019 11:20:18
eeleader: 好文推 03/03 11:33
Doggen543: 推蕭安 03/03 12:25
pineapple123: 推 03/03 12:45
s890510: 推 03/03 15:54
sharku: 推 03/03 16:14
nktx: 安安 <3 03/03 22:01
benian: 推蕭安 03/05 00:38
vn509942: 推 03/05 09:20