博客 / 詳情

返回

移動app如何進行自動化和探索性測試

測試設計時最主要依據的就是測試金字塔的測試結構。如果在項目臨近發佈才開始測試並發現缺陷,這樣修復缺陷的成本就會很高,項目的進度也會很不確定。所以,就開發階段來説,如果把測試分層,在不同的開發階段都進行測試,能很大程度上緩解這些問題。

移動app如何進行自動化和探索性測試

測試分層的優勢有以下幾點:

1測試的成本

單元測試的開發成本要遠低於用户界面測試,如果在用户界面的測試中發現缺陷,修復缺陷的成本也是遠高於通過單元測試和組件測試的成本。

這裏的成本不單純是開發人員修復缺陷所需要的資源和時間,還包括缺陷修復後測試人員進行迴歸測試所需要的資源和時間,以及項目延期等其他項目成本。

2測試的效率

單元測試能很快地驗證很小的功能或者方法,且運行時間短,反饋更為及時。

3缺憾定位的難易

單元測試失敗後,測試人員能夠很容易知道是被測試的特定功能或者方法不正確;而如果是用户界面的缺陷,測試人員就需要花費更多的時間來進行排查,確定出現問題的功能模塊,最後再進一步發現需要修復的功能和方法。

4反映真實的業務需求

單元測試無法從全局觀的角度瞭解系統模塊之間的交互,也無法通過方法的組合幫助用户完成業務目的;而由於用户界面的測試描述的是從用户角度出發的用户使用場景,因此可以更容易地闡述用户的行為和業務需求。

5更加接近業務

用户界面測試描述測試的層級更高,所以更接近業務;單元測試描述測試的層級更具體,所以更接近於實現。

從測試金字塔分層來看,不同層級的測試都很有必要,而我們也需要根據不同測試所處的層級及其特點來設計測試。

另外,實際測試設計時採用的測試金字塔具有更多更細節的分層。高層級的測試和低級別的測試相比,抽象程度更高,測試運行的時間更長,與更多的系統和模塊有交互。反饋的週期更長,接近缺陷的成本也更高。

單元和組件測試的測試驅動開發TDD的基本循環步驟是:

測試失敗;

測試通過;

重構;

由於測試驅動開發是針對單元和組件測試所使用的開發技術,所以在進行單元和組件測試時,測試人員只需要瞭解並評審開發人員在單元和組件測試中覆蓋了哪些場景,並不需要完成其實現。

在測試金字塔的最高層級,是對於App的“探索性測試”。

1.探索性測試是針對於腳本測試提出的,但是兩者並不是針鋒相對的,而是相輔相成的。探索性測試,腳本測試和自動化測試之間可以相互轉化,相輔相成。

2.探索性測試要求測試人員在執行測試時,如同用户旅程一樣,首先設定好測試目標,然後規劃出一段時間,使用啓發式測試策略模型,通過測試人員的創造性思維,採取不同的測試路徑,來達到測試目標的測試方法。

3,在探索性測試執行中,為了提高探索性測試的效率,並且能夠重現所發現的問題,可以採用基於測程的測試管理。在App測試中也可以使用SBTM技巧進行探索性測試。

4,針對App測試,測試人員需要測試在低層級測試中不能覆蓋的對於頁面跳轉和不同頁面間數據流動和展示等需要涉及到多個頁面的流程操作。

5,當進行App的探索性測試時,選擇在真實設備上運行可以提高測試的真實性和加深對於用户使用場景的理解,從而不斷促進探索性測試的發展和深入。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.