敏捷測試 - 概述



敏捷是一種迭代式開發方法,其中開發和測試活動是併發進行的。測試不是一個單獨的階段;編碼和測試是互動式和增量式進行的,從而產生滿足客戶需求的優質最終產品。此外,持續整合可以儘早發現缺陷,從而節省時間、精力和成本。

敏捷宣言

敏捷宣言由一個軟體開發團隊於2001年釋出,強調了開發團隊的重要性、適應變化的需求以及客戶參與。

敏捷宣言是:

我們正在透過實踐和幫助他人實踐來發現更好的軟體開發方法。透過這項工作,我們已瞭解到:

  • 個體和互動勝過流程和工具。
  • 可工作的軟體勝過面面俱到的文件。
  • 客戶合作勝過合同談判。
  • 響應變化勝過遵循計劃。

也就是說,儘管右項也具有價值,但我們更重視左項。

什麼是敏捷測試?

敏捷測試是一種遵循敏捷軟體開發原則的軟體測試實踐。

敏捷測試涉及專案團隊的所有成員,測試人員貢獻特殊的專業知識。測試不是一個單獨的階段,而是與所有開發階段(如需求、設計和編碼以及測試用例生成)交織在一起。測試貫穿整個軟體開發生命週期。

此外,測試人員與跨職能團隊成員一起參與整個軟體開發生命週期,這使得測試人員能夠根據客戶需求,以更好的設計和程式碼來構建軟體成為可能。

敏捷測試涵蓋所有測試級別和所有型別的測試。

敏捷測試與瀑布測試

在瀑布式開發方法中,軟體開發生命週期活動按順序分階段進行。因此,測試是一個單獨的階段,只有在開發階段完成後才會開始。

以下是敏捷測試和瀑布測試差異的重點:

敏捷測試 瀑布測試
測試不是一個單獨的階段,與開發同時進行。 測試是一個單獨的階段。所有級別和型別的測試只有在開發完成後才能開始。
測試人員和開發人員一起工作。 測試人員與開發人員分開工作。
測試人員參與提出需求。這有助於將需求對映到現實世界場景中的行為,並制定驗收標準。此外,邏輯驗收測試用例將與需求一起準備。 測試人員可能不參與需求階段。
每次迭代後進行驗收測試,並徵求客戶反饋。 驗收測試僅在專案結束時進行。
每次迭代都完成自己的測試,從而允許每次釋出新功能或邏輯時都實施迴歸測試。 迴歸測試只能在開發完成後實施。
編碼和測試之間沒有時間延遲。 編碼和測試之間通常有時間延遲。
持續測試,測試級別重疊。 測試是一個定時活動,測試級別不能重疊。
測試是一種最佳實踐。 測試經常被忽視。

敏捷測試原則

敏捷測試的原則包括:

  • 測試推動專案前進 - 持續測試是確保持續進展的唯一途徑。敏捷測試提供持續的反饋,最終產品滿足業務需求。

  • 測試不是一個階段 - 敏捷團隊與開發團隊一起進行測試,以確保在給定迭代期間實現的功能實際上已完成。測試不會留到以後階段。

  • 每個人都進行測試 - 在敏捷測試中,整個團隊,包括分析師、開發人員和測試人員,都會測試應用程式。每次迭代後,甚至客戶也會進行使用者驗收測試。

  • 縮短反饋迴圈 - 在敏捷測試中,業務團隊可以瞭解每次迭代的產品開發情況。他們參與每次迭代。持續反饋縮短了反饋響應時間,從而降低了修復成本。

  • 保持程式碼清潔 - 缺陷在同一迭代中提出後立即修復。這確保在任何開發里程碑中程式碼都是乾淨的。

  • 輕量級文件 - 敏捷測試人員使用輕量級文件,而不是全面的測試文件:

    • 使用可重用的清單來建議測試。

    • 關注測試的本質,而不是偶然的細節。

    • 使用輕量級文件樣式/工具。

    • 在探索性測試的章程中捕捉測試想法。

    • 利用文件實現多重用途。

  • 利用一個測試工件進行手動和自動化測試 - 相同的測試指令碼工件可用於手動測試,並作為自動化測試的輸入。這消除了手動測試文件以及等效的自動化測試指令碼的需求。

  • “真正完成”,而不僅僅是“完成” - 在敏捷中,一個功能在開發和測試完成後才算完成,而不僅僅是開發完成。

  • 測試最後 vs. 測試驅動 - 測試用例與需求一起編寫。因此,開發可以由測試驅動。這種方法稱為測試驅動開發 (TDD) 和驗收測試驅動開發 (ATDD)。這與瀑布測試中測試作為最後階段形成對比。

敏捷測試活動

專案級別的敏捷測試活動包括:

  • 釋出計劃(測試計劃)

    • 對於每次迭代:

    • 迭代期間的敏捷測試活動

  • 迴歸測試

  • 釋出活動(與測試相關)

迭代期間的敏捷測試活動包括:

  • 參與迭代計劃
  • 從測試的角度估計任務
  • 使用功能描述編寫測試用例
  • 單元測試
  • 整合測試
  • 功能測試
  • 缺陷修復
  • 整合測試
  • 驗收測試
  • 測試進度狀態報告
  • 缺陷跟蹤
廣告