移動測試雲平臺--Firebase+Testin

Firebase

Firebase簡介

Firebase是什麼
  1. BaaS(Backend as a Service),後端服務系統,爲移動應用和遊戲開發者提供後端服務,服務包括結構化的數據存儲、用戶和權限管理、文件存儲、雲參數、雲代碼、推送、支付、實時通信等。
  2. Firebase創立於2011年,於2014年被Google收購,是一款實時數據雲服務平臺,旨在爲APP提供一個實時響應的數據服務,該平臺適用於iOS、Android、網頁等各種跨平臺上。到2017年,該平臺開發使用者已達到100萬。
  3. Firebase能讓你的App從零到一。也就是說它可以幫助手機以及網頁應用的開發者輕鬆構建App。通過Firebase背後負載的框架就可以簡單地開發一個App,無需服務器以及基礎設施。
    這裏寫圖片描述
Firebase的功能

這裏寫圖片描述
1. Test Lab
- Firebase Android 測試實驗室提供了基於雲端的基礎架構以用於測試 Android 應用。
- 即使沒有編寫過任何測試代碼,測試實驗室也可以自動運行,查找崩潰問題。
2. Crashlytics
- 適用於Android、iOS
- Firebase Crashlytics是一個輕量級的實時崩潰報告解決方案,可幫助您對影響應用質量的穩定性問題進行跟蹤、確定優先解決順序並加以修復。
- Crashlytics 會對崩潰進行智能分組並突出顯示導致這些崩潰的環境因素,從而節省問題排查的時間。
- 可以查明某個特定的崩潰是否影響到了很多用戶
- 當某個問題突然變得嚴重時收到提醒
- 找出哪些代碼行導致了崩潰
3. Performance Monitoring
- 適用於Android、iOS
- 使用Monitoring SDK收集的應用性能數據,在Firebase控制檯中查看和分析這些數據
- 該功能目前處於測試階段

Firebase官網(需要科學上網)
  1. https://firebase.google.com/

Test Lab For Android

一共提供了三種測試方法:Robo測試(不用編寫代碼)、Instrumentation測試、遊戲測試。
這裏寫圖片描述

Robo測試
  1. 上傳應用APK,Robo腳本(可選)
    這裏寫圖片描述
    FireBase中Robo測試涉及到的Robo腳本(Espresso Test Recorder,Android Studio自帶的,超簡單操作!),需要Android Studio設置“Firebase Test Lab Device Matrix”,貌似因爲被牆的原因,連接失敗。
  2. 選擇物理設備和虛擬設備,可以選擇型號、Android API級別、區域設置和屏幕方向。當選擇Spark方案(免費)每日的測試配額爲10臺虛擬設備和5臺真機,且在每個測試矩陣中最多可使用4臺設備。
    這裏寫圖片描述
  3. 高級選項
    • 測試超時:Robo 測試可能需要 5 分鐘或更長的時間,才能完成一整套的界面互動,具體視應用界面的複雜程度而定。我們建議對大多數應用至少設置 120 秒(2 分鐘)的測試超時,對比較複雜的應用設置 300 秒(5 分鐘)的測試超時。
    • 最大深度:可以設置測試的最大深度,從而配置 Robo 測試探索應用的深度。配置最大深度設置,可指示測試應探索應用界面的特定分支到多深的位置,然後返回界面的根目錄(主屏幕)以探索其他分支。最大深度的默認值爲 50。若值小於 2,則測試只會探索應用的主屏幕。
  4. 測試賬號登錄和預定文本輸入
    • Robo 測試支持測試帳號登錄,還允許在應用的字段中輸入預定義文本。對於自定義登錄和其他預定義的文本輸入,Robo 測試可以在應用的 EditText 字段中輸入文本。對於每個字符串,需要使用 Android 資源名稱來標識 EditText 字段。
    • 登錄分爲:自定義登錄和自動登錄(應用具有使用 Google 帳號進行身份驗證)。
  5. 與Google Play集成
    如果開發者使用 alpha 或 beta 測試版渠道上傳和發佈應用的 APK 文件,則可以在 Google Play 管理中心中使用 Robo 測試。Robo 測試可以在一組位於不同地理位置的常用真機設備上運行,測試範圍可覆蓋各種設備類型和硬件配置。
Instrumentation測試

測試實驗室支持 Espresso 和 UI Automator 2.0 Instrumentation 測試框架。
可參考官方文檔:
- Espresso https://developer.android.com/training/testing/espresso/index.html
- Robotium https://github.com/robotiumtech/robotium
- UIAutomator2.0 https://developer.android.com/topic/libraries/testing-support-library/index.html#UIAutomator

遊戲循環測試

使用“演示模式”來模擬遊戲應用中的玩家操作。可參考官方文檔:https://firebase.google.com/docs/test-lab/game-loop?authuser=0

測試結果

所涉及到三個概念:
- 測試維度。 “測試維度”是一組相關的設備屬性。測試實驗室使用的維度爲型號、Android API 級別、區域設置和屏幕方向。
- 測試作業。爲測試矩陣選擇的每個有效的測試維度組合都是一個“測試作業”。測試實驗室支持一次採用最多 200 個不同的組合測試您的應用。在測試應用時,可以選擇要使用的特定型號和 Android API 級別組合,以便有側重地進行測試(例如,當驗證問題修復情況時)。每個測試作業都有通過和失敗兩種可能。但只要有一個測試作業失敗,則整個測試矩陣即會被標記爲失敗。
- 測試矩陣。 “測試矩陣”是選擇的一組測試作業。當根據測試矩陣運行應用測試時,對於通過組合測試維度屬性而創建的每個有效測試作業,都將獲得其測試結果。
1. 測試矩陣
這裏寫圖片描述
2. 測試作業
這裏寫圖片描述
3. 測試維度
- 可查看到測試日誌、屏幕截圖、活動地圖、視頻、性能。(注:只有真機且API大於19纔有相關性能測試數據,虛擬設備顯示爲空)
這裏寫圖片描述
- 也提供了源文件的下載,默認是保存90天。
這裏寫圖片描述
- 性能指標示例(CPU、Memory、Network)
這裏寫圖片描述

已知問題
  • 界面框架支持:Robo 測試僅與使用來自 Android 界面框架(包括 View 和 ViewGroup 對象,但不包括 WebView 對象)的界面元素的應用兼容。
  • 登錄人機識別系統驗證:如果用戶在登錄屏幕上除了輸入登錄憑據之外還需要執行額外操作(例如完成人機識別系統驗證),則 Robo 測試將無法繞過登錄屏幕。

Test Lab 收費標準

Spark(免費)

免費使用測試實驗室,執行的測試不得超過每日配額:10 臺虛擬設備和 5 臺真機,且每個測試矩陣中最多使用 4 臺設備。

Flame(即用即付)

免費使用測試實驗室,執行的測試不得超過每日配額:10 臺虛擬設備和 5 臺真機,且每個測試矩陣中最多使用 4 臺設備。

Blaze

不受每日使用量或測試矩陣大小的限制,每小時費率如下所示:
- 每臺真機每小時5美元
- 每臺虛擬機每小時1美元
- 費用按每分鐘計算,且僅對運行測試所需的時間進行收費,安裝應用或收集測試結果所需的時間不計費。運行測試矩陣後,可以在測試執行結果頁面和測試矩陣結果頁面上查看在每臺設備上運行每個測試所需的時間。每個測試執行的收費時間將向上舍入到最接近的分鐘數。

Firebase Crashlytics

支持Android、iOS兩大平臺,但需集成Firebase的SDK。

奔潰測試報告示例

這裏寫圖片描述

Performance Monitoring

  • 支持Android、iOS兩大平臺,但需集成Firebase的Performance Monitoring SDK。
  • 集成SDK後,無需編寫任何代碼,應用即可開始監控應用性能的幾個關鍵方面:啓動時間、前臺活動、後臺活動和 HTTP/HTTPS 網絡請求。
  • 可以創建跟蹤記錄以瞭解應用在特定情況下的性能,例如加載新屏幕時。此外,可以創建計數器以統計在這些跟蹤記錄中定義的事件(例如緩存命中)數量。
  • Android入門文檔:https://firebase.google.com/docs/perf-mon/get-started-android
  • iOS入門文檔:https://firebase.google.com/docs/perf-mon/get-started-ios

Testin

目前Testin改版,需要賬號驗證企業才能使用部分測試功能,目前提供的免費功能:
- BUG探索測試,免費申請一次
- 自動化測試,贈送120分鐘
- 遠程真機調試,贈送120分鐘
- 標準兼容測試,每日免費測試
- 自定化安全測試,每日免費測試
- 官網:https://www.testin.cn/

標準兼容測試

每日免費測試1次,機型爲隨機的100臺設備(個人感覺都不是些主流的機型,有很多操作系統特別老的設備)。
這裏寫圖片描述
兼容測試報告,與老闆報告內容相同,只是展現形式上的更新,主要分爲測試概況、錯誤日誌、性能報告三大模塊。

測試概況

這裏寫圖片描述

錯誤日誌

這裏寫圖片描述

性能報告

這裏寫圖片描述

遠程真機調試

目前也提供了谷歌Android 8.0的真機調試,首次企業驗證通過贈送了240分鐘的免費使用權。
這裏寫圖片描述

自動化功能測試

testin有一個操作簡單的自動化腳本錄製工具:iTestin。在老版本可免費錄製,且每日有免費配額可以測試,目前企業版必須購買自動化功能測試才能使用該錄製功能。

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