深光标准技术|OpenHarmony轻量系统应用兼容性测试经验分享
一、适合使用 OpenHarmony 轻量系统的设备
由以下表格的兼容性类型介绍可看出,
OpenHarmony 轻量系统是面向MCU类处理器例如Arm Cortex-M、RISC-V 32位的设备,

那适合使用 OpenHarmony 轻量系统的设备有哪些呢?主要是家电类、可穿戴设备、智能传感器、小家电等。

芯片平台:轻量系统常见平台为 ARM Cortex-M 系列(如 STM32、Hi3861、BK7231、ESP32 等),使用 LiteOS 或 RTOS 内核。
深光也同步整理了已经获得openharmony认证的应用了轻量系统的大部分产品使用的芯片和芯片厂家信息。如果您不确定您的产品使用的芯片是否适配过openharmony系统,可以咨询我们。

二、如何进行 OpenHarmony 轻量系统的测试?
轻量系统应用兼容性测试指导
说明:轻量系统因系统能力限制,兼容性测试在系统初始化阶段进行;并且各设备烧录工具存在差异,导致自动化工具(xDevice工具)无法实现真正的自动适配,因此测试执行方式不对合作伙伴进行限制。
流程份2步,如下:
步骤1 编译适配:XTS子系统加入到编译组件中,随版本一起编译;
步骤2 本地执行:完成兼容性测试;
编译适配
XTS子系统加入到编译组件中,随版本一起编译
举例:以hispark_pegasus为例。
1.vendor下增加xts_acts与xts_tools组件定义(vendor\hisilicon\hispark_pegasus\config.json)
{
"subsystem": "test",
"components": [
{ "component": "xts_acts", "features":[] },
{ "component": "xts_tools", "features":[] }
]
},
2 .使用hb命令触发debug版本(非debug版本不会触发测试编译)
注意事项
hispark_pegasus使用riscv gcc编译工具链与SCons构建工具完成系统编译工作,其他设备如果编译工具链不同需要参考自行完成编译与链接操作。
下面介绍hispark_pegasus的XTS子系统编译流程以供参考。
1.通过hb工具读取系统配置文件(其中涉及文件:vendor\hisilicon\hispark_pegasus\config.json)获取参与编译的子系统以及部件信息;
2.通过gn工具读取 BUILD.gn文件并执行生成 .a文件(XTS子系统gn文件位置:test\xts\acts\build_lite\BUILD.gn);
all_features会读取轻量系统全部acts测试套件:
if (ohos_kernel_type == "liteos_m") {
all_features += [
"//test/xts/acts/communication_lite/wifiservice_hal:ActsWifiServiceTest",
"//test/xts/acts/utils_lite/file_hal:ActsUtilsFileTest",
...
]
判断非debug版本,all_features置空(非debug版本XTS不参与编译):
if (ohos_build_type == "debug" && ohos_test_args != "notest") {
_all_features = ""
_product_json = rebase_path("${product_path}/config.json")
foreach(one_feature, all_features) {
_all_features = _all_features + one_feature + ","
}
_args = [
"--method_name",
"filter_by_subsystem",
"--arguments",
"testsuites=${_all_features}#product_json=${_product_json}",
]
features += exec_script(rebase_path("//test/xts/tools/lite/build/utils.py"),
_args,
"list lines")
}
all_features与vendor\hisilicon\hispark_pegasus\config.json子系统组件进行对比,存在的子系统部件才会参与最终编译;
最终编译生成.a归档路径:out\hispark_pegasus\wifiiot_hispark_pegasus\libs,其他产品参考类似找到.a:
其中XTS子系统的.a归档格式libmodule_{测试套件模块名称}.a,以及测试框架.a 归档格式:libhctest.a;
举例:
libmodule_ActsParameterTest.a
libhctest.a
3.通过SCons构建工具完成链接操作(其中涉及文件:device\hisilicon\hispark_pegasus\sdk_liteos\SConstruct),其他产品根据编译工具链选择自行完成链接工作;
if app_name != "wifiiot_app":
env[‘LIBS‘] = list(map(lambda x:‘-l%s‘%x, env_cfg.get_libs()))
else:
env[‘LIBS‘] = list(map(lambda x:‘-l%s‘%x, env_cfg.get_libs())) + [‘--whole-archive‘] + list(map(lambda x:‘-l%s‘%x, env_cfg.get_ohos_libs())) + [‘--no-whole-archive‘]
env.Append(LIBS = app_builder.get_app_libs())
env.Append(LIBS = ‘-lwifi_flash‘)
env.Append(LIBS = ‘-lwifi‘)
env.Append(LIBS = ‘-llitekernel_flash‘)
env.Append(LIBS = ‘-lsystem‘)
Sconstruct脚本中链接了测试套对应.a ,没有显示调用所以需要指定 —no-whole-archive。
本地执行:完成兼容性测试
测试组网

- 轻量系统设备为使用OpenHarmony的被测设备。
- Windows工作台操作中心,通过串口连接轻量系统设备,进行版本烧录和测试命令下发等。
执行兼容性测试套件
举例:以hispark_pegasus产品执行acts为例。
手工执行兼容性测试套件,需要使用烧录工具以及串口工具,操作步骤如下:
1.获取编译镜像。
在如下目录获取版本镜像:out/hispark_pegasus/wifiiot_hispark_pegasus/。
说明: 判断当前版本镜像是否集成acts测试套件方法:在map文件中查看对应.a是否被编译即可。
2.版本镜像烧录。
测试步骤。
(1)使用串口工具登录模组,并保存串口打印信息。
(2)重启模组,启动过程中兼容性测试自动化执行,等待执行完,查看串口日志。

3.测试结果分析指导。
(1)基于串口打印日志进行分析;

(2)每个测试套件执行以“Start to run test suite”开始,以“xx Tests xx Failures xx Ignored”结束。
4.测试结果归档

以上就是深光开源鸿蒙轻量系统应用兼容性测试经验分享。
欢迎联系深光标准技术,除了轻量系统,我们也完成多款标准系统和小型系统的兼容性测试。从2022年开始至今已经协助很多客户完成开放鸿蒙兼容性测试认证服务,涵盖预测试服务,测试认证流程协助,测试失败fail case定位,技术指导等服务;
系统驱动开源鸿蒙开发需求,我们可以整包项目的编译适配、内核移植、系统移植、驱动适配等工作。
深光现在配备了国内开放鸿蒙系统+国外谷歌安卓GMS双系统的测试能力;面向国外市场,我们建立了成熟的谷歌安卓GMS测试认证;面对国内市场,我们建立了开放鸿蒙兼容性测试认证;可以协助合作伙伴们、一套样品、一站式、完成国内外双系统2个市场测试认证服务。
推荐项目
-

开源鸿蒙 OpenHarmony 5.1.0(API 18)正式上线:进一步增强 ArkUI、媒体能力,完善标准 Web 能力
OpenHarmony 5.1.0 Release 正式版已于 4 月 30 日发布并上线 Gitee 平台,升级 API 18。进一步增强 ArkUI、媒体能力,完善标准 Web 能力查看更多 -

深光标准技术-OpenHarmony开源鸿蒙标准系统分布式兼容性测试之DCTS测试经验小分享
Openharmony开源鸿蒙兼容性测试包括:acts、acts-validator、hats、dcts、ssts 根据兼容性测试规定使用标准系统且带屏幕的产品,需要做分布式兼容性测试(DCTS)。本文主要介绍分布式兼容测试网口直连的方式组网的一些经验分享。查看更多 -

深光标准技术-OpenHarmony开源鸿蒙兼容性测试常见问题解答分享
深光标准技术-OpenHarmony开源鸿蒙兼容性测试常见问题解答分享,包括产品兼容性技术规范文档(PCS)与兼容性测试的一些常见问题分析和兼容性测试常用命令。深光另配有研发工程师,可协助客户进行OpenHarmony开源鸿蒙系统设备研发,可以整包项目的编译适配、内核移植、系统移植、驱动适配等工作。查看更多 -

开放鸿蒙OpenHarmony 5.0.0 Release 兼容性测试实战经验分享
OpenHarmony 5.0版本的发布时间是2024年12月20日至21日。这个版本带来了许多新特性和改进。2025年01月01日起,不支持新产品基于老分支(OpenHarmony 4.0.x Releases及之前)版本测评。需要4.1.x Releases及之后)版本测评。为了确保设备和应用能够在新版本上稳定运行,兼容性测试成为了不可或缺的一环。本文将结合实际测试经验,介绍 OpenHarmony 5.0.0 的兼容性测试过程,并分享一些实际操作中的技巧和注意事项。本文以使...查看更多



