iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0

可以獲得什麼?

測試四個階段結合敏捷開發,會有怎樣的合作呢?

敏捷開發與測試

敏捷開發與測試

敏捷開發(Agile software development)追求的是快速的開發與迭代,迅速地反映市場變化,因此需要更有效地執行測試,才能達到「敏捷」的需求。因此在開發中結合測試,可以達到這些目的:

  • 快速迭代:敏捷開發強調快速迭代和交付,這表示在每個迭代中都需要進行測試,以確保新增的功能或改進的功能是正確且不會破壞現有功能。
  • 自動化測試:為滿足敏捷開發通常需要快速而可靠的測試過程。為了實現這一點,自動化測試在敏捷團隊中變得非常重要。這包括單元測試、整合測試、系統測試和驗收測試的自動化。
  • 即時反饋:測試不僅僅是檢查程式碼的品質,還是提供即時反饋的重要方式。QA團隊可以在每個迭代中提供測試結果和缺陷報告,這有助於開發團隊及時解決問題。

可以看得出來,為了達到快速的目的,除了設計測試案例外,仍需要不少的程式測試,以及自動化的測試作業與反饋系統,這就是需要 QA 進行協助,成為敏捷開發的其中一具齒輪組。

敏捷開發與測試階段與 QA

換個角度出發,從先前的四面相來說。軟體測試的四階段(單元測試、整合測試、系統測試、驗收測試)可以有效地結合敏捷開發方法,以實現更靈活、高效的軟體開發過程。

  • 單元測試(Unit Testing):

在團隊中,每次迭代或是開發早期就可以開始撰寫單元測試。可以運用測試驅動開發(TDD)方法,先撰寫測試案例,開發者根據這些測試案例撰寫測試用的程式碼,藉此確保基本的檢測。其中測試案例應該包括各種情況,包括邊界情況和異常情況。因此測試案例除了 RD 自行設計外,也可以請 QA 進行規劃,而程式撰寫不僅僅拘泥於 RD 開發,也可以由任何會寫程式的人進行作業。

  • 整合測試(Integration Testing):

當多個功能單元集結成一個功能流程時,就需要整合測試,這也是多數 QA 開始進入的階段。藉由整合性的功能測試,並結合設計好且涵蓋廣的測試案例,可以確保這些功能可以順利的協同合作,完成需求任務。自動化整合測試可確保整合的連貫性,並快速識別問題。

  • 系統測試(System Testing):

系統測試通常在每個迭代的結尾進行,以確保整個系統按預期運行。QA 設計出系統測試的內容,執行各種測試確保各功能與系統之間的穩定度。藉由自動化系統測試可以加快測試進程,並運用在每個迭代結束時,提供快速且可靠的檢驗結果。

  • 驗收測試(Acceptance Testing):

通常測試的終點就是在驗收測試,驗收測試的結果影響軟體是否準備交付。儘管此時測試與測試案例的主角都是使用者自行設計,QA 則扮演協助者的角色,協助使用者制定測試腳本,並把測試過程遇到的問題或缺陷即時回饋至開發團隊,

總括來說,QA角色在測試的每個階段中扮演重要的角色,協助確保軟體的品質和可靠性。他們不僅協助執行測試,還參與測試計劃的制定、自動化測試的建立,並提供及時的反饋。這種融合QA的方式有助於實現高效的敏捷開發流程。


後記

上面提到的僅僅只是敏捷開發的皮毛,還有更多的細節與運用值得摸索。敏捷開發畢竟是一種軟體開發模式,光是導入與熟悉就要不少時間,但順利輪轉的話,可大幅提高產品的品質與迭代速度,是個很值得花成本導入的模式。


參考資料


上一篇
【D8】淺談測試階段 & Happy path
下一篇
【D10】概述測試方法
系列文
精實30天:QA 概念養成計劃31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言