HDC2021技術分論壇:如何高效完成HarmonyOS分散式應用測試?
作者:liuxun,HarmonyOS測試架構師
HarmonyOS是新一代的智慧終端作業系統,給開發者提供了裝置發現、裝置連線、跨裝置呼叫等豐富的分散式API。隨著越來越多的開發者投入到HarmonyOS分散式應用開發,分散式應用如雨後春筍般湧現。然而分散式應用測試卻面臨質量差、效率低等挑戰。HarmonyOS如何應對這些挑戰?下面,讓我們一探究竟!
一、分散式應用測試挑戰
自HarmonyOS 2.0釋出以來,開發者在測試和上架HarmonyOS分散式應用過程中遇到很多挑戰和困難。總體可歸納為以下三點:
- 分散式應用上架測試通過率低:開發者提交上架的分散式應用基礎質量較差。如圖1所示,基礎功能問題和UX顯示問題佔比率高達85%。
圖1 HarmonyOS分散式應用上架問題分析
- 分散式應用測試效率低:分散式應用涉及多臺裝置協同時,由於沒有統一的測試框架,使得分散式應用測試效率較低。
- 安全隱私問題攔截難:分散式應用涉及多臺裝置協同時,由於缺乏全面且高效的隱私合規檢測方案,安全隱私問題攔截難度較大。
鑑於以上HarmonyOS分散式應用測試面臨的挑戰,華為DevEco Testing提供了一套對HarmonyOS分散式應用測試解決方案,具體方案介紹如下。
二、分散式應用測試解決方案
DevEco Testing是一款全新的HarmonyOS測試解決方案。如圖2所示,是DevEco Testing測試能力全景檢視,基於開發旅程不同階段的測試活動,給開發者提供對應測試工具和測試服務能力。
圖2 DevEco Testing測試能力全景檢視
基於分散式應用的關鍵特徵及開發者面臨的關鍵問題和挑戰,DevEco Testing從測試標準、測試服務及雲測服務三個方面提供分散式應用測試的解決方案。下面,我們將逐一介紹。
1. 測試標準
測試標準定義APP的入門級測試要求,重點覆蓋消費者使用者最關心的HarmonyOS特徵和體驗指標。HarmonyOS提供了流轉、相容性、安全、效能、功耗、穩定性、遊戲,共7項測試標準,幫助開發者快速上手HarmonyOS分散式應用測試,如圖3所示。
圖3 測試標準範圍定義
目前,測試標準已經上線HarmonyOS應用開發者官網測試專區,建議開發者上架HarmonyOS分散式應用前參照該測試標準進行自檢和測試,可以有效提升上架效率。
2. 測試服務
測試服務給開發者提供全面且高效的自動化測試方案,目的是幫助開發者提升測試質量和測試效率。目前DevEco Studio3.1 Beta已集成了單元測試框架、分散式UI測試框架、評分工具、遠端真機/遠端模擬器及雲測平臺接入Portal共5項測試服務,詳見圖2。
針對分散式應用測試面臨的挑戰,我們接下來將重點介紹分散式UI測試框架和評分工具。
(1)分散式UI測試框架
分散式UI測試框架,定位於解決HarmonyOS分散式應用UI自動化測試及測試效率問題。主要包含以下特性:
① 提供30+測試API,覆蓋控制元件查詢、控制元件操作、按鍵注入等,並支援基礎的分散式UI自動化測試,如:findComponent, getText等。
② 提供遠端和本地描述方式一致的分散式持測試API,僅引數不同,使用簡單方便。通過UIDriver來實現。
③ 分散式UI測試框架集成於IDE,開發者一鍵式開展自動化測試執行。
分散式UI測試框架詳細的使用教程請訪問官網連結:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/distributed-uitest-framework-0000001152756178
接下來,我們通過“親子早教系統中的分散式拼圖遊戲”案例,演示分散式UI測試框架的操作流程,包含對分散式FA測試用例編寫、分散式測試API使用、分散式UI自動化用例執行過程以及測試結果檢查。
(2)HarmonyOS分散式應用評分工具
HarmonyOS分散式應用評分工具定位於幫助開發者本地快速測試,快速閉環問題,如圖4所示。
圖4 評分工具
評分工具主要包含以下特性:
- 本地速測,無需編寫用例
- 支援相容性/設計約束/UX/效能/穩定性測試
- 支援原始碼級測試能力
- 已支援24個檢測項,執行時長<5分鐘
- 集成於DevEco Studio3.1 Beta版本
3. 雲測服務
雲測服務包含相容性、安全、UX、效能、功耗、穩定性6項測試能力,支援流轉、服務卡片等HarmonyOS關鍵特徵自動化測試,同時還支援華為1+8多裝置執行,幫助開發者全方位看護APP基礎質量。針對分散式應用測試面臨的挑戰,接下來重點介紹UX測試服務以及安全測試服務。
(1)UX測試服務
前面已經介紹過,HarmonyOS應用上架過程中UX問題佔比很高,尤其在摺疊屏、PAD等裝置上文字截斷、佈局錯亂等問題較為突出。為此,HarmonyOS提供全新的UX測試服務,聚焦UX平臺規範滿足度以及UI顯示異常故障檢測,並支援在華為1+8裝置上覆用。檢測能力如圖5所示。
圖5 檢測能力概覽
UX平臺規範是指HarmonyOS通用的UX平臺規範,如:流轉圖示規範,可以在HarmonyOS應用開發者官網獲取到。
(2)安全測試服務
安全測試服務包括隱私合規和漏洞檢測兩大部分。
隱私合規檢測能力對標“國際”、“國內隱私法規”及“行業規範”進行構建,主要定位於幫助開發者識別隱私違規的問題,減少因隱私問題導致的應用下線。檢測能力包括公開透明、最小化、許可權合規等6個大類,已支援20+自動檢測能力,能較好的覆蓋隱私設計原則。
目前,隱私合規自動化測試存在功能場景自動化遍歷、敏感資料提取和敏感行為檢測、隱私宣告一致性分析等關鍵技術難點,測試成本高,難度大,HarmonyOS通過如下測試技術,能有效解決檢測自動化率和準確率的問題,處於業界領先。
- AI自動遍歷技術,提升介面遍歷深度和廣度。
- OCR文字識別技術,提取UX介面的文字,識別隱私宣告。
- NLP語義分析技術,提取隱私敏感資料描述。
- 動態沙箱模擬技術,構建敏感操作(如:改變位置資訊模擬)的模擬能力。
安全漏洞檢測能力基於HarmonyOS安全管理要求進行構建,主要定位於識別並構建Ability安全、許可權安全、加密安全、網路安全等8類漏洞檢測能力,目前已經覆蓋60+漏洞掃描規則,能有效幫助開發者充分識別漏洞隱患,如圖6所示。
圖6 安全漏洞檢測
接下來,我們通過動圖給大家展示一下雲測服務使用過程,包括測試工程建立、測試任務建立和測試結果展示,以便更好的瞭解和使用雲測服務。
以上就是本期的全部內容!歡迎大家使用DevEco Testing測試服務,並給我們提出寶貴意見。
掃碼新增開發者小助手微信
獲取更多HarmonyOS開發資源和開發者活動資訊