敏捷測試VS傳統測試的區別與最佳實踐

2022-09-09 17:39:28 字數 2219 閱讀 9962

一、何為敏捷測試?

敏捷測試,是指接納了敏捷的核心價值觀(溝通,簡單,反饋,勇氣,尊重),在敏捷軟體開發過程中開展的測試。敏捷測試是一種符合敏捷宣言思想,遵守敏捷開發原則,在敏捷開發環境下能夠很好地和其整體開發流程融合的一系列的測試實踐。敏捷測試和傳統測試區別如下表所示:

表1敏捷測試與傳統測試區別

二、敏捷測試過程中的測試活動有哪些?

敏捷測試要求「測試人員」參與整個敏捷開發過程,並且在迭代週期內遍歷整個測試準備——**試——功能測試——回歸測試過程。敏捷測試強調測試啟動「越早越好」、「測試與開發並行」,在開發人員進行方案設計時,「測試人員」同步進行測試方法設計;開發人員進行功能開發時,「測試人員」進行測試用例編寫;開發人員**提交後,「測試人員」進行功能驗證,並上報故障;開發人員完成故障修復後,「測試人員」進行回歸測試。如下圖1所示:

圖1迭代內的敏捷測試活動

三、敏捷測試實踐的必由之路——分層測試

分層測試顧名思義就是分多個層次,由下而上乙個層次乙個層次的測試,常見的分層測試有單元測試、整合測試和驗收測試。在敏捷測試中,為了快速迭代、快速驗收的目標,分層測試是不容忽視地選擇。

將單元就是人為規定的最小的被測功能模組,單元測試是在軟體開發過程中要進行的最低級別的測試活動,軟體的獨立單元將在與程式的其他部分相隔離的情況下進行測試。單元測試有利於開發人員提高編碼質量,避免出現低階問題。

整合測試是單元測試地擴充套件,在單元測試的基礎上,將所有模組按照設計要求(如根據結構圖)組裝成為子系統或系統,進行整合測試。整合測試有助於發現多個單元模組聯動後的故障。

驗收測試是部署軟體之前的最後乙個測試操作。在軟體產品完成了單元測試、整合測試和系統測試之後,產品發布之前所進行的軟體測試活動。它是技術測試的最後乙個階段,也稱為交付測試。驗收測試的目的是確保軟體準備就緒,並且可以讓終端使用者將其用於執行軟體的既定功能和任務。驗收測試的任務,是驗證軟體的功能和效能符如同使用者的期待。

四、敏捷測試分層的改進——交叉測試

01、什麼是交叉測試

顧名思義,交叉測試即交換測試。比如原來a同學負責a模組,b同學負責b模組;那麼在一輪測試之後,a同學負責b模組測試,b同學負責a模組測試。

02、交叉測試的意義

在軟體測試過程中,每個專案一般由多名測試人員組成,每個測試人員分別負責不同模組的測試,並對同乙個模組進行多輪測試。經過多輪反覆測試,測試人員對自己負責的模組無論從整體到細節都有了非常深刻的掌握,但同時也乙個問題,即定向思維。測試的反覆迴圈使得測試人員對自己負責的模組出現測試疲態現象,這嚴重影響了測試後期故障的檢查。這種專注測試模式雖然能加深測試人員對軟體部分功能的深入理解,但從某種程度上也影響了產品的最終質量,同時也限制了測試人員對產品整個邏輯和功能的了解。為了解決這個問題,引入叫交叉測試時非常必要的。

交叉測試,可以使測試人員相互交換測試的模組,這樣既可以保持測試人員的測試新鮮感,還可以進一步發掘測試的未知領域,發現交叉測試的模組和之前測試的模組間的聯絡,甚至可以構建更多的測試場景,提高故障發現率,對提高產品的質量也起到了很大幫助。

03、如何引入交叉測試

根據第二節的敏捷測試流程和第三節的測試分層模型,及交叉測試的作用,可以推斷出,交叉測試適合在測試結果相對穩定(即測試人員對自己負責的模組測試完成度很高時)、交付產品前進行。因此,可以在整合測試和驗收測試之間引入交叉測試。如下圖2所示:

圖2引入交叉測試後的測試分層

交叉測試需要交換測試人員負責的測試模組,但並不是隨機、無計畫、無組織地隨機分配測試模組給不同地測試人員。根據敏捷測試的「全員測試」理論(即人人都是測試人員),在組織交叉測試地時候,重點考慮有功能關聯或互動地模組間進行交叉測試,這樣可以使測試人員更加清晰模組間的互動和功能革新後的波及性,可以構建新測試場景擴充套件測試面,發現更多遺漏的軟體故障。

表2交叉測試設計樣例

其中,a和c,b和d模組之間存在功能關聯。

04、交叉測試帶來的效益

經過實踐發現,交叉測試引入前後對比,發現故障數有所提高,測試人員對不同模組的了解度更加深入,產品質量得到更高的保障。

**

敏捷測試與傳統測試的區別

在敏捷測試中也有測試活動乃至專職的測試人員,但其活動內容和目標是有顯著差異的。一般在傳統開發團隊中,產品經理 或銷售 為範圍或稱之為需求負責,專案經理和開發組為進度負責,測試組為質量負責,部門經理為成本負責,結果就是當四者發生矛盾時,會有四個部門各自站在自己的立場上,從而導致溝通不暢或或博弈成分超過...

敏捷測試 傳統測試

敏捷測試 首先敏捷測試 agile testing 是測試的一種,敏捷測試的理念是,和編碼一樣,測試是開發的乙個關鍵部分。在敏捷中,測試被直接整合到軟體開發過程中,以便盡早 頻繁地發現bug。因此,測試人員可以在開發過程的每乙個節點上發現問題,從而使產品快速走向發布。敏捷測試的特點 傳統測試 傳統測...

敏捷測試與傳統測試的分別?

敏捷測試與傳統測試的區別 傳統專案開發模型 由於瀑布模型對於軟體的需求分析與設計階段考慮不足,導致可能會出現嚴重的設計問題,最後交付到客戶手裡才會被發現,所以v模型就考慮到這點,針對開發的各個過程都會有相應的測試環節,比如使用者需求會對應驗收測試,需求分析和系統設計會對應確認測試和系統測試等等 但是...