敏捷測試 - Scrum



Scrum 提倡全員參與,即每個團隊成員都必須參與每個專案的活動。Scrum 團隊是自組織的,對專案交付成果負責。決策權交給團隊,從而能夠在適當的時間採取適當的行動,而不會延誤時間。這種方法也鼓勵團隊才能的充分利用,而不是侷限於一項活動。測試人員也參與所有專案和開發活動,貢獻他們在測試方面的專業知識。

整個團隊共同完成測試策略、測試計劃、測試規範、測試執行、測試評估和測試結果報告。

協作式使用者故事建立

測試人員參與使用者故事的建立。測試人員貢獻他們對系統可能行為的想法。這有助於客戶和/或終端使用者理解真實環境中的系統,從而明確他們真正想要的結果。這導致更快地確定需求,並降低以後需求變更的可能性。

測試人員還會提出並與客戶協商每個場景的驗收標準。

測試人員有助於建立可測試的使用者故事。

釋出計劃

釋出計劃是為整個專案制定的。但是,Scrum 框架涉及在執行 sprint 的過程中獲得更多資訊時的迭代決策。因此,專案開始時的釋出計劃會議不需要為整個專案制定詳細的釋出計劃。它可以隨著相關資訊的出現而不斷更新。

並非每個 sprint 結束都需要釋出。釋出可以在一組 sprint 之後進行。釋出的主要標準是為客戶提供業務價值。團隊根據釋出計劃作為輸入來決定 sprint 的長度。

釋出計劃是釋出測試方法和測試計劃的基礎。測試人員估計測試工作量並計劃釋出測試。當釋出計劃發生變化時,測試人員必須處理這些變化,並考慮釋出的更大範圍,獲得足夠的測試基礎。測試人員還提供所有 sprint 結束時所需的測試工作量。

Sprint 計劃

Sprint 計劃在每個 sprint 開始時進行。sprint backlog 從 product backlog 中挑選出要在該特定 sprint 中實施的使用者故事建立。

測試人員應該:

  • 確定為 sprint 選擇的使用者故事的可測試性
  • 建立驗收測試
  • 定義測試級別
  • 確定測試自動化

測試人員使用 sprint 中測試工作量和持續時間的估算值更新測試計劃。這確保了在有限時間 sprint 中為所需測試提供時間,並對測試工作量負責。

測試分析

當 sprint 開始時,隨著開發人員進行故事分析以進行設計和實現,測試人員會對 sprint backlog 中的故事進行測試分析。測試人員建立所需的測試用例——手動測試和自動化測試。

測試

Scrum 團隊的所有成員都應該參與測試。

  • 開發人員在為使用者故事開發程式碼時執行單元測試。單元測試在編寫程式碼之前就在每個 sprint 中建立。單元測試用例源自低層設計規範。

  • 測試人員執行使用者故事的功能和非功能特性。

  • 測試人員指導 Scrum 團隊中的其他成員,利用他們在測試方面的專業知識,以便整個團隊對產品質量承擔集體責任。

  • 在 sprint 結束時,客戶和/或終端使用者進行使用者驗收測試並向 Scrum 團隊提供反饋。這作為下一個 sprint 的輸入。

  • 收集和維護測試結果。

自動化測試

Scrum 團隊非常重視自動化測試。測試人員投入時間建立、執行、監控和維護自動化測試和結果。由於 Scrum 專案中隨時可能發生變化,測試人員需要適應對已更改功能的測試以及相關的迴歸測試。自動化測試有助於管理與更改相關的測試工作量。所有級別的自動化測試有助於實現持續整合。自動化測試執行速度比手動測試快得多,而且無需額外的工作量。

手動測試更側重於探索性測試、產品漏洞和缺陷預測。

測試活動的自動化

測試活動的自動化減少了重複工作的負擔,並降低了成本。自動化

  • 測試資料生成
  • 測試資料載入
  • 構建部署到測試環境
  • 測試環境管理
  • 資料輸出比較

迴歸測試

在一個 sprint 中,測試人員測試該 sprint 中新增/修改的程式碼。但是,測試人員還需要確保在早期 sprint 中開發和測試的程式碼也能與新程式碼一起工作。因此,迴歸測試在 Scrum 中非常重要。自動化迴歸測試在持續整合中執行。

配置管理

Scrum 專案使用使用自動化構建和測試框架的配置管理系統。這允許在將新程式碼檢入配置管理系統時重複執行靜態分析和單元測試。它還管理新程式碼與系統的持續整合。在持續整合期間執行自動化迴歸測試。

需要對手動測試用例、自動化測試、測試資料、測試計劃、測試策略和其他測試工件進行版本控制,並確保相關的訪問許可權。這可以透過在配置管理系統中維護測試工件來實現。

敏捷測試實踐

Scrum 團隊中的測試人員可以遵循以下敏捷實踐:

  • 結對程式設計 - 兩名團隊成員坐在一起協同工作。這兩個人可以是兩名測試人員,也可以是一名測試人員和一名開發人員。

  • 增量式測試設計 - 測試用例隨著 sprint 的進行和使用者故事的增加而逐步開發。

敏捷指標

在軟體開發過程中,指標的收集和分析有助於改進流程,從而提高生產力、交付質量和客戶滿意度。在基於 Scrum 的開發中,這是可能的,測試人員必須注意他們需要的指標。

建議使用多個指標進行 Scrum 開發。重要的指標包括:

  • 成功 sprint 比率 - (成功 sprint 數量 / sprint 總數)* 100。成功 sprint 是團隊能夠完成其承諾的 sprint。

  • 速度 - 團隊的速度基於團隊在一個 sprint 中獲得的故事點數。故事點是在估算期間計算的使用者故事的度量。

  • 專注係數 - (速度 / 團隊工作能力)/ 100。專注係數是團隊的工作量中導致完成故事的百分比。

  • 估算準確性 - (估計工作量 / 實際工作量)/ 100。估算準確性是團隊準確估算工作量的能力。

  • Sprint 燃盡圖 - 剩餘工作(以故事點或小時為單位)與理想情況下需要剩餘的工作(根據估算)。

    • 如果更多,則意味著團隊承擔的工作超過了他們能夠完成的工作。

    • 如果更少,則意味著團隊沒有準確地進行估算。

  • 缺陷數量 - 一個 sprint 中的缺陷數量。缺陷數量是軟體中相對於 backlog 的缺陷數量。

  • 缺陷嚴重性 - 根據嚴重性,缺陷可以分為輕微、嚴重和嚴重級別。測試人員可以定義分類。

Sprint 回顧

在 Sprint 回顧中,所有團隊成員都將參與。他們分享:

  • 進展順利的事情
  • 指標
  • 改進的範圍
  • 要應用的操作項
廣告