以證據審查 Taiga 交付
已完成連結 initiative、計畫、執行紀錄、變更差異和檢查。接受合併或發布決定前,驗證目前變更。
檢查理解程度執行已完成,但紀錄指出必要測試沒有執行。完成能證明什麼?進行練習
學習目標
- 將交付行為追溯到需求與計畫。
- 找出未完成檢查,以及需要審查的假設。
- 區分執行完成、合併、部署和使用者可用。
從 initiative 的結果開始
虛構設備服務現在讓員工查看自己的申請。從 initiative 的結果與範圍開始審查,指出哪些條件必須成立,以及變更必須保留什麼。
這次交付中,員工不得讀取其他員工的申請,管理者也必須保留已定義的存取權。只開啟頁面的測試,無法證明任一條件。
連結紀錄
| 紀錄 | 審查問題 |
|---|---|
| Initiative | 哪些結果與範圍已獲授權? |
| 計畫版本 | 預定採取哪些實作與驗證步驟? |
| 執行紀錄 | 發生了什麼?代理程式做了哪些假設? |
| PR 與變更差異 | 目前 commit 改了什麼? |
| 檢查與審查 | 哪些證據支持接受該 commit? |
| 部署紀錄 | 哪個產物進入哪個環境? |
Runs 頁面記錄每次嘗試,包括失敗。每次執行會指出所用計畫。執行頁面用來檢查紀錄;會改變工作的決定,應在 initiative 上進行。
閱讀測試與格式檢查的步驟證據。Taiga 會顯示失敗或未執行的檢查。不要在審查摘要中,把「未執行」改寫成「通過」。
檢查假設與邊界
找出關於存取模型、資料結構描述、環境和外部服務的假設,與已發布意圖及實際程式碼比較。
對設備服務,檢查在哪裡確認申請擁有者。測試有權存取的申請、另一位員工的申請,以及不存在的申請。確認記錄檔不揭露機密申請內容。
也要審查測試變更。如果變更移除了原本能偵測缺陷的斷言,通過結果的價值就有限。將工作流程與測試設定變更納入審查範圍。
提供可採取行動的回饋
指出行為、預期結果與必要證據。例如:「端點檢查登入,卻沒有檢查申請擁有權。請新增伺服器端存取檢查,以及使用另一位員工申請的測試。」
Taiga 可以在同一分支修改程式碼,回應 PR 審查意見與失敗檢查。更新後,檢查新 commit 與檢查結果。先前證據可能未涵蓋改變後的建置產物。
執行若因計畫未完成或檢查被削弱而停止,閱讀原因。不要只因可見檢查摘要為綠色,就移除草稿狀態。
做出正確驗收決定
記錄哪些條件已驗證,哪些仍未解決。由儲存庫必要審查與檢查,落實合併邊界。保留任何獨立發布決定。
Taiga 觀察管線執行的部署。告訴使用者變更可用前,先驗證環境與建置產物。部署失敗,可能讓先前成功版本繼續處理流量。
以服務層級檢查完成結果驗收:員工能使用功能、未授權存取遭拒絕,以及維運負責人能觀察故障。繼續閱讀處理中斷。
進行練習
虛構員工存取變更的建置通過,但執行紀錄指出某項整合測試無法執行。寫出接受前所需證據,包含一個拒絕存取案例,以及正在審查的確切產物或 commit。
下載工作表(Markdown)取消此選項,會刪除此瀏覽器儲存的所有進度。
進度只留在此瀏覽器。無須帳戶,沒有追蹤。