
- 敏捷測試教程
- 敏捷測試 - 首頁
- 敏捷測試 - 概述
- 敏捷測試 - 方法論
- 敏捷測試 - 團隊中的測試人員
- 敏捷測試 - 活動跟蹤
- 敏捷測試 - 重要屬性
- 敏捷測試 - 四象限
- 敏捷測試 - Scrum
- 敏捷測試 - 方法
- 敏捷測試 - 技術
- 敏捷測試 - 工作產品
- 敏捷測試 - Kanban
- 敏捷測試 - 工具
- 敏捷測試有用資源
- 敏捷測試 - 快速指南
- 敏捷測試 - 有用資源
- 敏捷測試 - 討論
敏捷測試 - 概述
敏捷是一種迭代式開發方法,其中開發和測試活動是併發進行的。測試不是一個單獨的階段;編碼和測試是互動式和增量式進行的,從而產生滿足客戶需求的優質最終產品。此外,持續整合可以儘早發現缺陷,從而節省時間、精力和成本。
敏捷宣言
敏捷宣言由一個軟體開發團隊於2001年釋出,強調了開發團隊的重要性、適應變化的需求以及客戶參與。
敏捷宣言是:
我們正在透過實踐和幫助他人實踐來發現更好的軟體開發方法。透過這項工作,我們已瞭解到:
- 個體和互動勝過流程和工具。
- 可工作的軟體勝過面面俱到的文件。
- 客戶合作勝過合同談判。
- 響應變化勝過遵循計劃。
也就是說,儘管右項也具有價值,但我們更重視左項。
什麼是敏捷測試?
敏捷測試是一種遵循敏捷軟體開發原則的軟體測試實踐。
敏捷測試涉及專案團隊的所有成員,測試人員貢獻特殊的專業知識。測試不是一個單獨的階段,而是與所有開發階段(如需求、設計和編碼以及測試用例生成)交織在一起。測試貫穿整個軟體開發生命週期。
此外,測試人員與跨職能團隊成員一起參與整個軟體開發生命週期,這使得測試人員能夠根據客戶需求,以更好的設計和程式碼來構建軟體成為可能。
敏捷測試涵蓋所有測試級別和所有型別的測試。
敏捷測試與瀑布測試
在瀑布式開發方法中,軟體開發生命週期活動按順序分階段進行。因此,測試是一個單獨的階段,只有在開發階段完成後才會開始。
以下是敏捷測試和瀑布測試差異的重點:
敏捷測試 | 瀑布測試 |
---|---|
測試不是一個單獨的階段,與開發同時進行。 | 測試是一個單獨的階段。所有級別和型別的測試只有在開發完成後才能開始。 |
測試人員和開發人員一起工作。 | 測試人員與開發人員分開工作。 |
測試人員參與提出需求。這有助於將需求對映到現實世界場景中的行為,並制定驗收標準。此外,邏輯驗收測試用例將與需求一起準備。 | 測試人員可能不參與需求階段。 |
每次迭代後進行驗收測試,並徵求客戶反饋。 | 驗收測試僅在專案結束時進行。 |
每次迭代都完成自己的測試,從而允許每次釋出新功能或邏輯時都實施迴歸測試。 | 迴歸測試只能在開發完成後實施。 |
編碼和測試之間沒有時間延遲。 | 編碼和測試之間通常有時間延遲。 |
持續測試,測試級別重疊。 | 測試是一個定時活動,測試級別不能重疊。 |
測試是一種最佳實踐。 | 測試經常被忽視。 |
敏捷測試原則
敏捷測試的原則包括:
測試推動專案前進 - 持續測試是確保持續進展的唯一途徑。敏捷測試提供持續的反饋,最終產品滿足業務需求。
測試不是一個階段 - 敏捷團隊與開發團隊一起進行測試,以確保在給定迭代期間實現的功能實際上已完成。測試不會留到以後階段。
每個人都進行測試 - 在敏捷測試中,整個團隊,包括分析師、開發人員和測試人員,都會測試應用程式。每次迭代後,甚至客戶也會進行使用者驗收測試。
縮短反饋迴圈 - 在敏捷測試中,業務團隊可以瞭解每次迭代的產品開發情況。他們參與每次迭代。持續反饋縮短了反饋響應時間,從而降低了修復成本。
保持程式碼清潔 - 缺陷在同一迭代中提出後立即修復。這確保在任何開發里程碑中程式碼都是乾淨的。
輕量級文件 - 敏捷測試人員使用輕量級文件,而不是全面的測試文件:
使用可重用的清單來建議測試。
關注測試的本質,而不是偶然的細節。
使用輕量級文件樣式/工具。
在探索性測試的章程中捕捉測試想法。
利用文件實現多重用途。
利用一個測試工件進行手動和自動化測試 - 相同的測試指令碼工件可用於手動測試,並作為自動化測試的輸入。這消除了手動測試文件以及等效的自動化測試指令碼的需求。
“真正完成”,而不僅僅是“完成” - 在敏捷中,一個功能在開發和測試完成後才算完成,而不僅僅是開發完成。
測試最後 vs. 測試驅動 - 測試用例與需求一起編寫。因此,開發可以由測試驅動。這種方法稱為測試驅動開發 (TDD) 和驗收測試驅動開發 (ATDD)。這與瀑布測試中測試作為最後階段形成對比。
敏捷測試活動
專案級別的敏捷測試活動包括:
釋出計劃(測試計劃)
對於每次迭代:
迭代期間的敏捷測試活動
迴歸測試
釋出活動(與測試相關)
迭代期間的敏捷測試活動包括:
- 參與迭代計劃
- 從測試的角度估計任務
- 使用功能描述編寫測試用例
- 單元測試
- 整合測試
- 功能測試
- 缺陷修復
- 整合測試
- 驗收測試
- 測試進度狀態報告
- 缺陷跟蹤