雲上的移動效能測試平臺

EMAS發表於2020-12-25

1. 功能決定現在,效能決定未來

效能測試在移動測試領域一直是一個大難題,它最直觀的表現是使用者在前臺使用 App 時的主觀體驗,然而決定體驗優劣的背後,涉及到了許許多多的技術變遷。

  • 當我們習慣於諾基亞時,智慧機出現了;當我們學會native開發時,hybrid來了;當各種 hybrid 框架下的巨型應用傾向成熟時,小程式出現在了我們眼前;緊接著直播、iot、ar、vr、人工智慧,新的技術與應用場景正在以無法想象的速度向前發展。效能測試技術在快速變化的場景與開發技術面前,面臨著巨大的挑戰,當我們還在糾結如何測試 a 時,b 就已經出來了。
  • 效能測試本身,有發展日漸成熟的解決方案,如線上效能監控APM、線下效能採集工具;有基於各個應用場景衍生的測試技術,如壓力測試、穩定性測試、功耗測試等;也有基於各項效能指標(記憶體、cpu、電量、流量)而來的各種專項測試能力。

我們致力於打造線上線下一體的效能解決方案,希望能夠幫助開發者發現、定位與解決一系列移動端效能問題。本文將著重介紹 EMAS 效能測試平臺的能力與規劃,還是那句話,功能決定現在,效能決定未來。

2. 雲上的效能測試工具

通常我們在進行專項測試(記憶體、cpu、電量、流量等)時,需要準備測試機型、測試包、測試環境、測試資料,會遇到以下問題:

  • 機型樣本數不夠多。
  • debug包不一定真實反應生產包的效能,但Android Studio需要debug包才能測試。
  • Android/iOS 測試環境的搭建與跨平臺困難。
  • 大量測試資料整理分析。

以上這些問題很容易導致整個測試效率的低下,甚至無法實施落地。
image.png

基於EMAS雲真機的除錯能力,MQC在雲上提供了更加完美便捷的效能測試工具。

雲真機天然提供多達600+款測試機型,支援除錯測試所有已安裝應用,不依賴任何本地環境配置,測試資料一鍵上傳統計。

同時,EMAS效能測試工具有以下特點:

  • 基於 app_process 與 instruments 協議實現的移動雙端、跨平臺效能採集;
  • 無侵入、短間隔(採集間隔穩定1s),低延遲(效能資料延遲小於100ms)、低功耗(對裝置效能影響低於1%);
  • 應用+程式的測試方案,滿足hybrid、小程式的測試需求。
    image.png

image.png

3. 雲上資料看板

效能資料的意義在於它將我們常見的各種問題通過技術的手段進行度量與量化,可以幫助我們在產品功能上線前,儘可能的發現潛在的效能問題和風險。MQC效能測試平臺將儲存於雲上的資料,以儘可能多的維度視覺化給使用者,把好版本釋出前的關口。

3.1 任務

使用者使用雲真機進行的每一次測試任務與效能資料,都會直接儲存成測試任務,方便再次檢視與確認歷史資料。
image.png

3.2 用例

在實際的測試過程中,我們很容易發現,不同應用場景的效能資料是完全沒有可比性的,在統計方法上只看效能資料的平均值也很難直接給出定性和定量的判斷,沒辦法影響開發、產品的決策。

即便看似相同的場景,不同的產品決策也可能帶來很大的效能資料差距:比如大多數雲盤的相簿基於流量與效能的考慮,顯示的都是壓縮後的圖片;而我們的本地的一些相簿軟體,顯示的基本都是原圖,這樣產品上的選擇便導致了記憶體開銷上巨大的差異。

資料看板在最初設計的時候就吸取了功能自動化用例平臺時的建設經驗,將每一次效能測試任務分用例儲存,並且按照不同的用例維度對效能資料進行統計。在 EMAS 移動測試 控制檯,不同子賬號檢視和管理相同的app與用例,滿足多使用者雲端協作的需求。

3.3 多維度聚合

在用例維度的基礎上,MQC 效能測試平臺提供了多個維度的資料統計、聚合與分析能力。

• 裝置分級

根據裝置硬體效能打分,劃分為高、中、低三個級別。
由於不同等級機型對 APP 實際效能指標的影響較大,這個因子可以較大程度減少硬體效能對指標置信度的影響。

• 應用版本

對於效能指標來說,通常有三種問題判斷標準:

  • 基於行業技術經驗定義的基線指標,這通常是技術決策者基於使用者體驗、效能要求、大資料分析給開發提出的底線標準;
  • 同行業 APP 效能指標橫向對比,學習行業內優秀的技術實現一直是網際網路快速發展的重要原因之一;
  • 同 APP 不同版本間的縱向對比,快速的發現新版本的優化效果,新功能對 APP 的影響等。
    image.png

• 指標分佈

指標分佈可以幫助開發者快速判斷指標區間,定位可能的異常任務與異常指標區間,更加有針對性的去查閱任務報告。
image.png

4. 未來規劃

• 豐富指標:我們將繼續完善更多效能指標的採集方案,如電量、GPU、溫度等;
• 行業指標:MQC 將基於雲上開發者資料、專家測試資料,整理並統計各個行業效能指標作為參考分享出來;
• 效能基線:上文提到,通常效能指標的觀察標準有三,同行業APP效能指標;同APP不同版本效能指標;基於技術方案與行業資料的效能標準。效能基線的定義可以更好的約束開發者對極致效能體驗的追求,最大可能降低效能問題出現的概率,如OOM、ANR問題。

最後附上演示視訊,請點選下方連結檢視
https://developer.aliyun.com/live/245866

相關文章