《HarmonyOS應用開發(開發套件)PART3.pdf》由會員分享,可在線閱讀,更多相關《HarmonyOS應用開發(開發套件)PART3.pdf(57頁珍藏版)》請在三個皮匠報告上搜索。
1、應用體檢工具開發人員的檢測利器應用質量問題給上架和運營帶來挑戰上架規范不熟悉上架不通過多次被駁回應用延期發布應用上架UX體驗不一致響應慢卡頓耗電明顯偶發崩潰用戶體驗場景難復現問題難定位耗費大量時間優化改進開發階段提前發現應用缺陷開發階段測試階段上架運營階段應用體檢應用體檢1 13 3 提前發現應用缺陷 隨改隨測 持續改進 一次性上架成功 用戶體驗好 專項測試風險小 應用安全穩定2 2多維度檢測能力應用體檢工具上架檢測規則 用例集成,上架規則全覆蓋規則全覆蓋 頁面遍歷,場景檢測自動化檢測自動化兼容性穩定性性能UX功耗安全頁面布局控件渲染腳本加載優秀實踐建議應用體檢工具一站式體檢分層展現,先整體結
2、果再問題詳情檢測報告分層自選規則,一站式應用體檢想你所想,支持源碼跳轉便捷問題定位應用體檢套餐快速執行兼容性和優秀實踐檢測5分鐘內完成體檢基礎套餐按需選用關注的規則項隨改隨測 回歸驗證自選套餐全面覆蓋上架規則自動遍歷檢測場景上架預檢套餐檢測應用偶現崩潰APPAbility1Page121345Component故障率檢測規則:APP運行穩定,無Crash,無凍屏;應用崩潰&應用凍屏的故障率要求達成每小時1次。頁面間跳轉遍歷 專項順序測試 控件隨機注入事件層級樹狀遍歷Native Crash/JS Crash/Native Crash/JS Crash/凍屏凍屏檢測應用刷新幀率幀率檢測規則:應用
3、或服務啟動過程、應用界面滑動過程中的刷新幀率(FPS)應滿足:普通應用的幀率應 91.7%*滿幀(如滿幀60FPS應滿足55FPS)T頁面打開開始檢測第一個FPS計算結束第二個FPS計算結束1s1s 55 FPS 55 FPS檢測Service組件暴露安全風險extensionAbilities:name:com.ohos.screenshot.ServiceExtAbility,srcEntrance:./ets/DataShareExtAbility.ets,type:service,visable:true/服務暴露 ServiceService組件暴露,泄露敏感功能組件暴露,泄露敏感功
4、能攻擊者可以攻擊者可以無權限接收用戶屏幕內容無權限接收用戶屏幕內容module.json5Ability安全檢測規則:必須顯式設置不對外交互的Ability的visible屬性為false優秀鴻蒙生態應用開發經驗避免過大的組件樹節點數目建議一個頁面使用少于1000個組件樹節點,節點樹深度少于30層,子節點數不大于60個避免渲染界面的耗時過長建議單次渲染時間不超過500毫秒;頁面中單個組件的渲染時間不超過15毫秒ForEach性能ForEach中item數量不要超過20Flex布局性能頁面中的單個控件參與Flex從上到下的布局次數不超過8次下一步:更多場景檢測跨設備安全分布式協同穩定性應用升級兼
5、容用戶隱私服務流轉UI自適應布局總結:基于體驗規范,提供上架前的預檢測能力 開發過程隨改隨測,提前發現應用缺陷 聯動工程源碼和調優工具,快速定位問題HarmonyOS測試框架全新升級自動化工程提速30%揭秘應用開發原型開發代碼上庫需求設計需求基線場景設計上架分發應用上架應用分發運營增長產品運營用戶增長應用測試單元測試集成測試專項測試上架測試應用生命周期什么時候需要測試框架?持續發布增強能力SDK,夯實鴻蒙測試能力底座;首發腳本開發助手,提升測試人員代碼開發效率30+%基礎框架增強能力SDKxDeviceHUITestHCPPTestHTSUnitHCTest分布式測試組件系統測試組件UI測試組
6、件專項測試組件投屏/錄制回放組件系統Mock組件腳本開發助手腳本開發助手HypiumHypium測試框架測試框架腳本生成助手高頻模板UIViewer錄制回放工具開發效率提升30%首發Hypium測試框架新特性概覽單元測試單元測試集成測試集成測試專項專項測試測試汽車音箱手表大屏手機平板發布腳本開發助手,重點提升測試人員自動化開發效率發布全新ArkUI引擎鴻蒙場景模擬樁能力首發錄制回放能力2022Hypium1.0Hypium1.02023首發UIViewer/腳本開發助手錄制回放能力增強Hypium2.0Hypium2.0發布首個開源社區版本(arkxtest)HypiumHypiumHypiu
7、m測試框架演進路標&新特性概覽UIViewer缺少移動端應用自動化測試經驗不熟悉主流測試框架不熟悉業界的測試開發輔助工具具備移動端應用自動化測試經驗不熟悉鴻蒙應用開發/測試熟悉主流測試框架熟悉業界的測試開發輔助工具常見挑戰關鍵訴求測試工具使用門檻低低學習成本易上手自動化API/范式易理解測試工具易用性好能提供更高階的功能解決自動化測試效率痛點(如:控件難定位、定位不準、UI反復變化等)新手測試人員資深測試人員應用測試挑戰與訴求錄制更流暢;支持更多手勢、鍵鼠事件錄制 性能提升,操作更流暢事件類型事件類型是否支持是否支持click,double_clicklong_pressswipe fling
8、事件類型事件類型是否支持是否支持dragpinchkey,multi_keysmouse 增加手勢、鍵鼠等更多事件的錄制能力 通過輔助控件智能定位,大幅提升回放成功率全新UIViewer工具支持控件信息實時預覽,發布30+實用工具功能超過30+種常用工具集合實時預覽控件屬性,頁面獲取速度大幅提升預置高頻模板,降低學習成本預置30+高頻操作模板快速插入模板代碼,大幅降低學習成本創新腳本生成助手,快捷生成測試代碼 選中控件,快速錄制檢查點 智能推薦目標控件定位條件總結:增強錄制回放,低學習成本構建應用自動化測試腳本UIViewer工具,提供控件實時預覽能力預置高頻操作代碼模板,低學習成本編碼腳本生
9、成助手,智能定位控件,一鍵生成斷言等代碼玩轉HarmonyOS專項測試輕松上架“五星”應用“五星”應用的用戶期望Go Beyond Functional Tests功能全體驗佳穩定安全兼容流暢易用智能驚喜創新質量目標測試工程實踐應用基本可用應用基本可用 體檢門檻通過 應用撥測通過應用功能完整,可實現用戶目的應用功能完整,可實現用戶目的 關鍵規格測試通過 繼承功能驗收通過可給用戶較好的應用體驗可給用戶較好的應用體驗 指標達標,用戶交互體驗好 測試覆蓋充分,運行穩定可上架發布可上架發布 關鍵標準驗收通過 無設備/OS兼容性問題開發自測試功能測試安全性能功耗穩定性UX兼容性專項測試上架測試應用測試周
10、期上架版本兼容性測試(云端資源池)標準質量驗收體驗測試日構建版本開發自測試(體檢通過)應用撥測進流水線Daily測試集成測試版本全量自動化用例關鍵業務場景專項測試探索測試應用測試工程滿足重要的質量目標優秀的用戶體驗更高的質量要求應用競爭力需要專業的測試工程師測試技能要求高環境搭建復雜,難上手測試執行成本高數據分析難為什么會有“專項”測試?性能性能&功耗測試功耗測試應用性能功耗整機性能功耗場景性能功耗存儲性能、待機功耗穩定性測試安全測試安全測試應用安全系統安全注入攻擊隱私安全音視頻測試音視頻測試視頻流暢性上架體檢測試上架體檢測試UX靜態檢測應用兼容性兼容性測試兼容性測試接口兼容性互聯兼容性應用兼
11、容性端云一體端云一體測試服務化平臺測試服務化平臺測試協同應用遍歷穩定性智能探索測試接口穩定性典型場景穩定性穩定性測試穩定性測試分布式測試分布式測試互聯能力應用穩定性應用性能應用功耗NEWNEW網絡加擾智能化AI底座NEWNEWNEW應用專屬模型專家經驗知識圖譜測試大數據最佳實踐測試DevEco Testing讓應用專項測試更簡單、更專業、更智能NEW*注:數據來源于商用發布的華為手機統計數據典型應用有典型應用有平均200+個頁面800+條業務路徑*自動化測試/手工測試占比40%隨機遍歷測試占比60%路徑覆蓋率低特殊場景難覆蓋問題識別少穩定性測試難題有智慧的探索測試場景感知多模態輸入快速識別當前
12、場景智能執行將意圖轉換成可執行動作智能決策結合場景和目標準確決策下一步意圖場景感知場景感知由圖識義由圖識義智能決策引擎智能決策引擎自主決策自主決策商品瀏覽商品瀏覽搜索搜索消息消息1.1.商品搜索測試商品搜索測試2.2.消息推送更新測試消息推送更新測試1 12 22 21 1應用探索測試實例應用探索測試實例場景識別購物app首頁控件語義識別1.“返回”按鈕2.“搜索”的文本框3.“加入購物車”的按鈕4.“立即購買”的按鈕操作意圖添加商品到購物車并結算增強的故障識別通過對不同類型的異常events分類,讓故障識別更智能系統預置故障crashJS errorApp freeze自定義Events行為
13、故障Access forbidden安全故障Unauthorized visit統計故障Error detected智能故障識別頁面出了點小差文本預期不匹配錯誤信息識別*實際應用測試為例,專屬應用模型測試結果如下:基于專家經驗知識圖譜的探索測試能力越測越越測越聰明聰明自主遍歷基于專家經驗的界面遍歷與交互控制測試智能測試基于業務特征知識圖譜,場景感知,智能搜索測試,實現越測越聰明專家訓練隨著測試數據的累積,模型越來越全面,測試效率越來越高*注:數據來源于DevEco Testing實驗室統計數據第一輪測試:3分鐘內遍歷15+頁面,25+條路徑第五輪測試:3分鐘內遍歷25+頁面,38+條路徑第十輪
14、測試:3分鐘內遍歷54+頁面,63+條路徑CV+NLP場景分類CNN神經網絡DQN強化學習場景識別與動作決策場景識別與動作決策狀態空間圖節點特征信息業務抽象模型AppApp特征知識圖譜特征知識圖譜AppApp智能搜索測試引擎智能搜索測試引擎SBST路徑搜索DFA狀態壓縮邏輯空間遍歷場景動態決策AppApp質量檢測套件質量檢測套件兼容性檢測性能檢測UX檢測3知識訓練2知識學習1應用包上下文測試報告知識指引探索測試 技術原理場景化性能測試自定義業務邏輯檢測關鍵性能指標UX檢測最佳UX交互實踐規范項一鍵檢測6大專項標準測試應用基礎質量一鍵診斷與分析應用撥測服務自動化用例秒變測試服務可隨時隨地執行更多
15、應用測試服務性能、穩定性、安全、UX應用基礎質量標準評估應用撥測執行常用測試效能工具控件探測、Layout解析自動化錄制回放測試工程&用例模板腳本開發助手團隊報告共享質量看板設備共享專項基線管理自定義測試服務管理專項測試執行工具測試組織空間DevEco Testing全周期應用質量測試保障自動化腳本開發工具總結:DevEco Testing測試工具全面智能化升級 應用專屬模型和知識圖譜,做有智慧的探索測試 豐富專項測試服務,讓應用測試更簡單、更專業大型應用開發挑戰及實踐大型應用開發挑戰多團隊協作開發包體積大代碼復用流水線搭建代碼資產保護整包編譯慢問題排查困難功能耦合嚴重業務模塊劃分典型應用業務
16、模塊劃分productsfeaturescommonsproduct1product1(主業務)(主業務)feature1feature1feature3feature2common1common3common2產品層業務模塊層公共基礎層業務模塊化劃分包結構模塊模塊名模塊類型module1module1product1product1entryentrymodule2module2feature1feature1featurefeaturemodule3feature2sharedmodule4feature3sharedmodule5feature4sharedmodule6common1h
17、armodule7common2harmodule8common3har應用.appproduct1.hapfeature1.hapfeature2.hspfeature3.hspfeature4.hsp工程結構設計兩種代碼復用機制靜態共享包動態共享包兩種代碼和資源的共享機制區別:HAR中的代碼和資源跟隨使用方編譯,如果有多個使用方,它們的編譯產物中會存在多份相同拷貝。HSP中的代碼和資源獨立編譯,編譯產物只有一份,運行時單個進程中也只會存在一份。HAP1HAP2APPHARHARHAP1HAP2APPHSP調用靜態共享包 or 動態共享包?名稱說明規格及約束使用場景HAR靜態共享包,編譯態復
18、用包含資源、so、接口/方法實現、自定義UI等不包含UIAbility、ExtensionAbility、Page無法單獨安裝/運行以獨立SDK提供給其他應用集成HAR在不同的應用中集成HSP動態共享包,運行時復用包含資源、so、接口/方法實現、自定義UI、Page等不能包含UIAbility、ExtensionAbility可單獨安裝,但無法單獨運行大型應用模塊化解耦開發,建議使用HSPHSP暫不支持給其他應用使用靜態共享包開發引用打包發布OHPM倉庫HAR包1.導入倉庫包dependencies:ohos/library:1.0.02.代碼引用方式:import xxx from ohos
19、/library全新的包管理機制 OHPMOHPM CLI中心倉私倉publishinstallproxypublishinstall動態共享包開發引用打包發布OHPM倉庫HAR包應用市場APP(含HSP)1.導入倉庫包“compileOnlyDependencies:ohos/sharedlibrary:1.0.02.代碼引用方式:import xxx from ohos/sharedlibrary企業代碼資產保護源代碼文件(C/C+)so文件開發調試上架發布配置文件資源文件(圖標圖片.)混淆打包簽名下載運行混淆加密APPso文件資源文件配置文件方舟字節碼源代碼文件(ArkTS)方舟字節碼(
20、abc)混淆LLVMAPPso文件資源文件配置文件方舟字節碼APPso文件資源文件配置文件方舟字節碼安裝目錄so文件資源文件配置文件方舟字節碼解密so文件方舟字節碼加密上架分發運行時動態解密企業流水線搭建流水線搭建指南OHPMHarmonyOS SDKCode Linter流水線集成Code Linter 集成測試框架測試框架集成編譯ts2abc打包app_packing_tool簽名工具hap-sign-tool連接工具hdcDevEco Hvigor插件集成打包工具集成簽名工具集成DevEcoHvigor支持命令行的原子能力DevEco低代碼,讓元服務開發像搭積木一樣簡單元服務開發過程中遇
21、到的瓶頸傳統開發模式端云割裂 布局邏輯較復雜,學習成本高 復雜頁面組件嵌套頻繁 組件寬高手動計算設置頁面布局專業性強 業務組件缺少,需要從零構建 行業資產無法標準化沉淀和復用 業務邏輯自行開發,技術難度大業務組件/頁面開發周期長 端云開發技術棧不同 端云開發平臺不同 編寫大量端云交互代碼DevEco低代碼關鍵能力端云一體化低碼開發端云一體化低碼開發端側頁面可視化可視化拖拽拖拽云側數據可視化配置可視化配置端云功能可視化關聯可視化關聯組件自適應布局組件自適應布局組件寬高自動計算自動計算容器組件自動布局自動布局頁面組件自由拖拽自由拖拽豐富的行業模板和組件豐富的行業模板和組件官方組件庫組件庫和模板中心
22、模板中心提供景區等行業模板提供登錄/支付等業務組件元服務端側拖拽+端云綁定DevEco低代碼快速開發元服務流程云側配置選擇模板創建組件支持自適應布局自動自動組件可根據內容自動計算大小,布局操作體驗更簡單高效 文本類組件 按鈕類組件 容器類組件支持尺寸屬性設置為自動可視化快速構建數據模型為景區詳情等業務數據源創建數據模型 可視化定義和管理業務數據,自動生成數據的增刪改查接口 基于Serverless易創建易運維 彈性伸縮,輕松應對大容量數據可視化快速配置連接器 支持配置HTTP接口,快速集成三方廠商已有能力 支持連接自定義云函數,快速調用云側復雜業務邏輯創建連接器調用廠商的景區門票等數據源可視化關聯端側視圖和云側數據實現端側與云側能力聯通 可視化綁定云側數據 自動生成端云交互代碼推送真機運行頁面組件綁定云數據提供常用卡片樣式,支持拖拽支持拖拽+配置的低代碼開發配置的低代碼開發,支持端云一體數據綁定服務卡片低碼化開發模板快速創建服務卡片四種卡片使用模板快速搭建模板快速搭建適合不同行業需求的元服務豐富的行業模板&組件景區類元服務模板通過模板快速創建元服務景區服務主題樂園旅游出行景區導覽出行指南博物館登錄功能組件支付功能組件低代碼界面豐富的行業模板&組件提供包含業務邏輯的業務組件,開箱即用開箱即用