1. 功能決定現在,性能決定未來
性能測試在移動測試領域一直是一個大難題,它最直觀的表現是用戶在前臺使用 App 時的主觀體驗,然而決定體驗優劣的背後,涉及到了許許多多的技術變遷。
- 當我們習慣於諾基亞時,智能機出現了;當我們學會native開發時,hybrid來了;當各種 hybrid 框架下的巨型應用傾向成熟時,小程序出現在了我們眼前;緊接著直播、iot、ar、vr、人工智能,新的技術與應用場景正在以無法想象的速度向前發展。性能測試技術在快速變化的場景與開發技術面前,面臨著巨大的挑戰,當我們還在糾結如何測試 a 時,b 就已經出來了。
- 性能測試本身,有發展日漸成熟的解決方案,如線上性能監控APM、線下性能採集工具;有基於各個應用場景衍生的測試技術,如壓力測試、穩定性測試、功耗測試等;也有基於各項性能指標(內存、cpu、電量、流量)而來的各種專項測試能力。
我們致力於打造線上線下一體的性能解決方案,希望能夠幫助開發者發現、定位與解決一系列移動端性能問題。本文將著重介紹 EMAS 性能測試平臺的能力與規劃,還是那句話,功能決定現在,性能決定未來。
2. 雲上的性能測試工具
通常我們在進行專項測試(內存、cpu、電量、流量等)時,需要準備測試機型、測試包、測試環境、測試數據,會遇到以下問題:
- 機型樣本數不夠多。
- debug包不一定真實反應生產包的性能,但Android Studio需要debug包才能測試。
- Android/iOS 測試環境的搭建與跨平臺困難。
- 大量測試數據整理分析。
以上這些問題很容易導致整個測試效率的低下,甚至無法實施落地。
基於EMAS雲真機的調試能力,MQC在雲上提供了更加完美便捷的性能測試工具。
雲真機天然提供多達600+款測試機型,支持調試測試所有已安裝應用,不依賴任何本地環境配置,測試數據一鍵上傳統計。
同時,EMAS性能測試工具有以下特點:
- 基於 app_process 與 instruments 協議實現的移動雙端、跨平臺性能採集;
- 無侵入、短間隔(採集間隔穩定1s),低延遲(性能數據延遲小於100ms)、低功耗(對設備性能影響低於1%);
- 應用+進程的測試方案,滿足hybrid、小程序的測試需求。
3. 雲上數據看板
性能數據的意義在於它將我們常見的各種問題通過技術的手段進行度量與量化,可以幫助我們在產品功能上線前,儘可能的發現潛在的性能問題和風險。MQC性能測試平臺將存儲於雲上的數據,以儘可能多的維度可視化給用戶,把好版本發佈前的關口。
3.1 任務
用戶使用雲真機進行的每一次測試任務與性能數據,都會直接保存成測試任務,方便再次查看與確認歷史數據。
3.2 用例
在實際的測試過程中,我們很容易發現,不同應用場景的性能數據是完全沒有可比性的,在統計方法上只看性能數據的平均值也很難直接給出定性和定量的判斷,沒辦法影響開發、產品的決策。
即便看似相同的場景,不同的產品決策也可能帶來很大的性能數據差距:比如大多數雲盤的相冊基於流量與性能的考慮,顯示的都是壓縮後的圖片;而我們的本地的一些相冊軟件,顯示的基本都是原圖,這樣產品上的選擇便導致了內存開銷上巨大的差異。
數據看板在最初設計的時候就吸取了功能自動化用例平臺時的建設經驗,將每一次性能測試任務分用例存儲,並且按照不同的用例維度對性能數據進行統計。在 EMAS 移動測試 控制檯,不同子賬號查看和管理相同的app與用例,滿足多用戶雲端協作的需求。
3.3 多維度聚合
在用例維度的基礎上,MQC 性能測試平臺提供了多個維度的數據統計、聚合與分析能力。
• 設備分級
根據設備硬件性能打分,劃分為高、中、低三個級別。
由於不同等級機型對 APP 實際性能指標的影響較大,這個因子可以較大程度減少硬件性能對指標置信度的影響。
• 應用版本
對於性能指標來說,通常有三種問題判斷標準:
- 基於行業技術經驗定義的基線指標,這通常是技術決策者基於用戶體驗、性能要求、大數據分析給開發提出的底線標準;
- 同行業 APP 性能指標橫向對比,學習行業內優秀的技術實現一直是互聯網快速發展的重要原因之一;
- 同 APP 不同版本間的縱向對比,快速的發現新版本的優化效果,新功能對 APP 的影響等。
• 指標分佈
指標分佈可以幫助開發者快速判斷指標區間,定位可能的異常任務與異常指標區間,更加有針對性的去查閱任務報告。
4. 未來規劃
• 豐富指標:我們將繼續完善更多性能指標的採集方案,如電量、GPU、溫度等;
• 行業指標:MQC 將基於雲上開發者數據、專家測試數據,整理並統計各個行業性能指標作為參考分享出來;
• 性能基線:上文提到,通常性能指標的觀察標準有三,同行業APP性能指標;同APP不同版本性能指標;基於技術方案與行業數據的性能標準。性能基線的定義可以更好的約束開發者對極致性能體驗的追求,最大可能降低性能問題出現的概率,如OOM、ANR問題。
最後附上演示視頻,請點擊下方鏈接查看
https://developer.aliyun.com/live/245866