前言
會來參加這場活動其實是被同事推坑,一開始其實還在猶豫,不過實際來參加之後,收穫倒是出乎預料的多。這次的活動共分三軌並行,所以我就針對我所參與的三場來做心得分享。
持續測試:如果我可以重來一次
我們都知道測試很重要,因此現在有越多公司/團隊導入測試。持續整合測試更能讓團隊知道目前產品整體的狀態,而自動測試會讓測試的執行成本降低,進而讓團隊更願意頻繁的測試產品。但當市面上大神的那些導入方法在公司環境裡不 Work 時,要怎麼辦呢?
對於一個產品重要的是要拿到回饋改進產品,不論是交與測試團隊,或是放上正式環境讓使用者使用,都是一種方式,而持續測試就是一種安全又快速可以拿到回饋的方式。
但是既有的程式(系統)越是龐大複雜,regression test 的工就越大,執行起來越耗時,也會讓團隊對於執行測試感到不耐。甚至到後來會因為測試耗時,導致新功能上正式的時間被影響到。
將測試的範圍往產品設計,開發與上線這兩端推
在產品設計階段:
使用實例化規格,將需求轉化為具體的 Case
- 這可以幫助團隊對於需求的理解更好達成一致性。
- 減少溝通成本
在開發階段:
使用單元測試與靜態分析
- 單元測試是所有測試的類型中,執行負擔最小的一種
- 能提供最基本的品質保證
在測試階段:
使用 E2E test
- 模擬使用者在使用產品時一般的操作流程
- 確保整個流程是符合預期的行為
- 測試一整個 user story
在上線階段:
使用即時監控
- 讓使用者協助做 corner case 的測試
- 畢竟 QA 也只能代表少部份的使用者
- 藉由各項觀測值來觀察使用者的使用情況
Git Branch Pattern
Trunk base development:
- 頻繁交付到主線
- Feature toggle
- 需要每個 commit 都足夠乾淨,讓 release 時可以方便將 commit 撿入 release branch 中
- 需要有較為完整的測試在 trunk branch,確保目前是可以發布的狀態
從工程角度,引領團隊持續挖掘產品風險
瞭解商業邏輯中的重點數據
這些數據會是重點監控指標
Prometheus + Grafana
資料的呈現與數據的監控
監控數據與發布警告
畫出美美的圖表
雪崩效應
組織過於依賴明星,而明星離開時的效應。
要避免英雄主義。
團隊文化
- Ownership
- Commitement trust
當 SCRUM 遇上 PATTERN
每一個概念的興起都是為了要解決一個既有問題,在跑 Scrum 時,思索謂何要有 Scrum Master 這個角色的存在。
例:每日站立到底要解決什麼問題?
Scrum Master要解決什麼問題?
ANS: Scrum是否能被順利進行
Quality without a name
Name Magic
- 呼名大法
- 只懂名詞,卻不知其精神與內涵是沒有意義的
- 小心成為老司機
- 很姆湯的那種