Appium 實踐 | 讓測試更快更穩更可靠:片狀測試

本文爲霍格沃茲測試學院對 Appium Pro 的系列原創翻譯文章之一,旨在普及最先進的測試開發技術。進階學習,文末加羣。

使用 Appium 時,會遇到又慢又不穩定的情況。Appium 使用的底層工具可能會限速,在功能測試中,許多環境問題也會導致自動化測試不穩定。其實有一些方法可以避開這些問題。本篇文章是系列中的一篇,後面也會有相應文章討論穩定性和速度。

創建 Session 片狀

片狀其實就是不可能靠的意思--如果在本地測試成功,在未來它可能運行失敗,這是不是不可靠?這個問題很複雜,Appium 確實會出現不穩定問題,但你需要找出問題所在!

  • 你是否瞭解 App 或者設備的速度,App 穩定性,屏幕大小,或者動態內容?是否毫無根據的假設這些值;
  • App 本身就不穩定(也許是 App 自身存在的問題或者人爲,人工操作是否也會出現這個問題);
    設備內存和處理器計算不足;
  • 網絡問題(用 HTTP 發送到後端可能失敗);
  • 設備問題(設備會出現各種奇怪的問題);

如果你說,上面這些情況都沒問題,問題肯定就出在 Appium 上!其實,Appium 只是衆多技術的一環,下面這個圖說明了 iOS 測試的底層技術棧:

看到沒,Appium 並不是一個龐大的怪獸,相反,它使用了許多底層工具,問題可能出在這些底層工具上(比如 XCUITest 和 UiAutomator2 )。希望你能調查清楚問題所在。某種問題並不孤立,而是在整個構建中隨機出現。當你檢查日誌時,你會發現這種片狀現象總是在一天的某個時間發生。這是非常重要信息,這可能有一個計時代碼正在執行!詢問其他團隊,他們可能知道問題所在。

後面的文章會詳細討論這些問題,現在我給出一些在 CI 上的建議:

  1. 將測試添加到構建前,檢測是否有片狀問題。多次運行它 (可能 100 次 ?) 以確保可靠,如果 100% 通過,很好,merger 這個commit 到 master 分支吧。
  2. 如果測試有一些沒有通過,說明存在不可靠或者片狀問題。花點時間調查原因,也許僅僅因爲定位或者等待問題。Appium日誌和一步一步的截圖很重要。
  3. 當發現問題時,如果能解決,就解決它。如果解決不了,可以向 Appium 或者 Apple提供錯誤報告,你還可以丟棄這個測試或者註釋掉(如果有時間,也可以手動測試)。
  4. 如果您在構建中了保留測試並允許構建在失敗時重試測試,您必須跟蹤重試次數的統計數據,並設置一些可靠性閾值,超過該閾值再進行調查研究。如果測試隨着時間的推移,片狀問題越來越多,你的應用程序可能有問題。

Appium 測試是功能測試,不是單元測試。單元測試與其他任何東西都是隔離的,而功能測試則生活在真實的世界中,要混亂得多。功能測試不可能覆蓋所有代碼問題,應該只考慮關鍵的用戶操作,並通過少量測試捕獲 bug,從 bug 中提取有價值的信息。

與此同時,要確保那些少量的測可能可靠。通過強化一些測試,你將瞭解關於應用程序和整個環境的很多信息。這樣就能從一開始就把學到的東西投入到新的測試中去,而不是在以後的道路上一遍又一遍的解決同樣的問題。

更多技術文章分享及測試資料點此獲取

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章