应用开发以后无法知道性能瓶颈的根因是什么?滑动卡顿、白块产生的原因是什么?代码写完之后,不知道如何优化让它表现地更好……

我们发现,如今测试人员的需求已经不只是停留在应用层面的测试数据了,而是需要数据背后的根因。但业界的图形栈测试,绝大部分都只提供应用层面的数据,有一部分可以深入系统层分析,但仍无法触及硬件这一层的测试分析。

HarmonyOS图形栈测试技术,不仅可以深入系统层分析,帮助开发测试者得到数据背后的根因,还能触达硬件层的测试分析。那它是如何做到的呢?让我们一起揭秘HarmonyOS图形栈测试技术。

一、HarmonyOS 图形栈全貌

众所周知,图形是操作系统里面非常核心的模块,和内核、编译器等模块一起作为操作系统的底层基座,不仅如此,它还是体现竞争力的关键模块。但因为图形栈非常复杂,所以需要构筑一套完整的测试技术才可以保证其质量和竞争力。

图形测试分析毫无头绪HarmonyOS图形栈测试技术帮你解决

应用开发以后无法知道性能瓶颈的根因是什么?滑动卡顿、白块产生的原因是什么?代码写完之后,不知道如何优化让它表现地更好……

我们发现,如今测试人员的需求已经不只是停留在应用层面的测试数据了,而是需要数据背后的根因。但业界的图形栈测试,绝大部分都只提供应用层面的数据,有一部分可以深入系统层分析,但仍无法触及硬件这一层的测试分析。

HarmonyOS图形栈测试技术,不仅可以深入系统层分析,帮助开发测试者得到数据背后的根因,还能触达硬件层的测试分析。那它是如何做到的呢?让我们一起揭秘HarmonyOS图形栈测试技术。

一、HarmonyOS 图形栈全貌

众所周知,图形是操作系统里面非常核心的模块,和内核、编译器等模块一起作为操作系统的底层基座,不仅如此,它还是体现竞争力的关键模块。但因为图形栈非常复杂,所以需要构筑一套完整的测试技术才可以保证其质量和竞争力。

中间一层则是我们图形栈操作系统的核心能力,如组件、JS 引擎、ArkUI的三棵树(Component树,Element树和Render树)、自研2D引擎、自研3D引擎、动效、手势、布局等。这一层与右边测试部分的系统层对应,包括图形栈关键耗时函数解析和图形栈优化方案可见的能力。

最下面一层则是HarmonyOS 1+8+N设备需要横跨的两个部分:操作系统和硬件设备,需要对其进行兼容支持,这一层与右边测试部分的硬件层对应,包括跨系统对比测试能力、跨设备测试能力和硬件SOC分析能力。

我们图形栈的测试能力不只是停留在应用层的体验KPI,它可以将体验KPI指标进一步分解成系统级别的耗时函数、以及硬件级别的SOC分析能力,并最终提供优化方案(后文将举例说明)。

了解完整体架构后,我们再进一从2D图形栈应用和3D图形栈应用两个角度去了解图形栈测试技术:

二、2D图形栈应用

图2 是HarmonyOS ArkUI开发框架,对应右边的三层结构,最底层是接口层测试,中间层是组件层测试,最上层是应用层测试。接下来我们会给大家重点介绍负载模型、系统分析案例和应用分析案例。

图形测试分析毫无头绪HarmonyOS图形栈测试技术帮你解决

应用开发以后无法知道性能瓶颈的根因是什么?滑动卡顿、白块产生的原因是什么?代码写完之后,不知道如何优化让它表现地更好……

我们发现,如今测试人员的需求已经不只是停留在应用层面的测试数据了,而是需要数据背后的根因。但业界的图形栈测试,绝大部分都只提供应用层面的数据,有一部分可以深入系统层分析,但仍无法触及硬件这一层的测试分析。

HarmonyOS图形栈测试技术,不仅可以深入系统层分析,帮助开发测试者得到数据背后的根因,还能触达硬件层的测试分析。那它是如何做到的呢?让我们一起揭秘HarmonyOS图形栈测试技术。

一、HarmonyOS 图形栈全貌

众所周知,图形是操作系统里面非常核心的模块,和内核、编译器等模块一起作为操作系统的底层基座,不仅如此,它还是体现竞争力的关键模块。但因为图形栈非常复杂,所以需要构筑一套完整的测试技术才可以保证其质量和竞争力。

图1 图形栈整体架构

如图1所示,左边部分是HarmonyOS图形栈的全貌,其中最上面一层是渲染前端,包括2D类应用、3D类应用和重负载的游戏视频类应用,这一层与右边测试部分的应用层对应,包括体验KPI和负载模型能力。

中间一层则是我们图形栈操作系统的核心能力,如组件、JS 引擎、ArkUI的三棵树(Component树,Element树和Render树)、自研2D引擎、自研3D引擎、动效、手势、布局等。这一层与右边测试部分的系统层对应,包括图形栈关键耗时函数解析和图形栈优化方案可见的能力。

最下面一层则是HarmonyOS 1+8+N设备需要横跨的两个部分:操作系统和硬件设备,需要对其进行兼容支持,这一层与右边测试部分的硬件层对应,包括跨系统对比测试能力、跨设备测试能力和硬件SOC分析能力。

我们图形栈的测试能力不只是停留在应用层的体验KPI,它可以将体验KPI指标进一步分解成系统级别的耗时函数、以及硬件级别的SOC分析能力,并最终提供优化方案(后文将举例说明)。

了解完整体架构后,我们再进一从2D图形栈应用和3D图形栈应用两个角度去了解图形栈测试技术:

二、2D图形栈应用

图2 是HarmonyOS ArkUI开发框架,对应右边的三层结构,最底层是接口层测试,中间层是组件层测试,最上层是应用层测试。接下来我们会给大家重点介绍负载模型、系统分析案例和应用分析案例。

图2 ArkUI开发框架

对于一个新的开发框架,在没有海量生态的应用进来之前我们是如何验证这个平台的测试能力的?

我们最初设想的是构建足够多的场景来覆盖和验证整个ArkUI框架,比如三棵树(Element树、Component树和Render树)、布局/动效、手势、2D渲染引擎。但因为不存在穷举的方式去覆盖所有业务,所以我们提出了负载模型的概念。

2D负载模型到底是什么?

我们选取了Top200的应用,对应用进行基于场景的分类,并提取特征, 然后形成了8大类常见用户场景(图3),如购物类、图库类、视频类等,同时也抽象出6大类负载,比如资源加载、图层叠加、负载布局 。

图形测试分析毫无头绪HarmonyOS图形栈测试技术帮你解决相关推荐

  1. 图形测试分析毫无头绪?HarmonyOS图形栈测试技术帮你解决

    作者:huangran,图形图像技术专家 应用开发以后无法知道性能瓶颈的根因是什么?滑动卡顿.白块产生的原因是什么?代码写完之后,不知道如何优化让它表现地更好-- 我们发现,如今测试人员的需求已经不只 ...

  2. MFQPPDCS大型嵌入式软件系统的测试分析和测试设计

    MFQ&PPDCS大型嵌入式软件系统的测试分析和测试设计 原创作者:邰晓梅 翻译:wzhj132 原创来源:2009年ICSEA大会上的论文<MFQ & PPDCS - Test ...

  3. MFQPPDCS 大型嵌入式软件系统的测试分析和测试设计

    原创作者:邰晓梅 翻译:wzhj132 原创来源:2009年ICSEA大会上的论文<MFQ & PPDCS – Test Analysis and Test Design for Lar ...

  4. 测试分析报告(GB8567——88)基于协同的在线表格forture-sheet

    测试分析报告(GB8567--88) 1引言 1.1编写目的 测试分析报告是在测试分析的基础上,对测试的结果以及测试的数据等加以记录和分析总结.它也是测试过程中的一个重要环节,同时,它也是对软件性能的 ...

  5. 软件测试基础知识bbst,海盗派测试分析MFQPPDCS海盗派.PDF

    海盗派测试分析MFQ&PPDCS海盗派.PDF ShareTesting, Share Learning! www.ShareTesting.Com 时长:2~3 天 海盗派测试分析: MFQ ...

  6. 螺栓与螺栓组联接实验测试分析装置,QY-JXSX26

    螺栓组联接结构设计的主要目的,在于合理地确定联接接合面的几何形状和螺栓的布置形式,力求各螺栓和联接接合面间受力均匀,便于加工和装配.为此,设计时应综合考虑以下几方面的问题: 1)联接接合面的几何形状通 ...

  7. 《海盗派测试分析》笔记-01 了解测试任务 KYM

    第一章 了解测试任务KYM – Know Your Mission 小结: Heuristics启发式方法,可能出错,但大多数时候能帮助我们. 应用test oracle heuristics判断是否 ...

  8. 软件测试计划与测试分析报告,软件测试计划与测试分析报告.doc

    软件测试计划与测试分析报告.doc 软件测试计划与测试分析报告 概述: 测试目的:系统地测试软件从安装到使用的全过程的正确性.稳定性,以发现并纠正潜在的错误. 运行环境:拟进行测试的环境: 硬件环境: ...

  9. TST5926E无线环境激励实验模态测试分析系统

    1.概述 TST5926E无线环境激励实验模态测试分析系统是一套模态测试分析系统,利用无线传输数据,广泛应用于桥梁.大型建筑及大型机械设备等不易实现人工激励的结构的实验模态分析. 2.应用范围 可应用 ...

最新文章

  1. SAP S4 BP事务代码的业务伙伴和供应商,客户之间的表关系
  2. Web services 安全实践: 基于 HTTP Basic Authentication 为 Web services 配置传输层安全机制...
  3. RHEL/CentOS 6.x使用EPEL6与remi的yum源安装MySQL 5.5.x
  4. 《深入解析Windows操作系统》--第二章 系统结构
  5. Spring3 工具类大汇集
  6. 从化工技术员到微软最有价值专家(MVP)--我的IT从业路
  7. python执行adb命令_Python脚本之ADB命令(一)
  8. 计算机操作系统|汤小丹|第四版|习题答案
  9. unity 给图片边缘_Unity 截图选择框,中间全透明,边缘半透明
  10. word方框(□)打勾(√)方法
  11. 你不知道的VLC播放器常用痛点功能——快进、快捷键、剪切视频、旋转画面、视频提取声音等
  12. 通过PS制作一个苹果样式的“牛仔裤”
  13. html表格分行分列,excel表格内怎样设置分行和分列
  14. ACP敏捷管理认证的含金量高吗?
  15. Numpy 怎么把arange ()产生的列表 变成一个行向量或者列向量
  16. post请求302以及post请求变更为get请求的问题排查小记
  17. 已经安装了 AccessDatabaseEngine.exe,还是报错
  18. 近期修改cython文件问题汇总
  19. 欧姆龙plc学习笔记(二)(微分)
  20. 云服务器nginx站点主页路径更改方法

热门文章

  1. 二、Git安装与配置
  2. oracle统计最高学历,最高学历更新
  3. 报告解读:面膜电商消费趋势洞察(附完整版报告)
  4. 一个收费4888元的项目,是个什么鬼?
  5. php iconv #039;cp936#039; 转gbk,php cp936转utf8编码转换乱码问题的解决方案
  6. 数字化转型的难点是什么?该如何突破?
  7. Java学习笔记-全栈-web开发-02-css必备基础
  8. asp.net JObject 操作
  9. 【k8s】修改docker的docker.service并重启docker服务
  10. 最全的BAT大厂面试题整理,“干完”这份300页1000道面试题,大厂Offer拿到手软