怎么做网站埋点,家居网站建设效果,sae网站备案,油漆工找活做的网站往期知识点记录#xff1a; 鸿蒙#xff08;HarmonyOS#xff09;应用层开发#xff08;北向#xff09;知识点汇总 startup子系统之syspara_lite系统属性部件 #xff08;1#xff09; startup子系统之syspara_lite系统属性部件 #xff08;2#xff09; startup子系…往期知识点记录 鸿蒙HarmonyOS应用层开发北向知识点汇总 startup子系统之syspara_lite系统属性部件 1 startup子系统之syspara_lite系统属性部件 2 startup子系统之bootstrap_lite服务启动引导部件1 startup子系统之bootstrap_lite部件 2 utils子系统之file文件操作部件 utils子系统之KV存储部件 (1) utils子系统之KV存储部件 (2) utils子系统之KV存储部件 (3) build lite配置目录全梳理 build lite编译构建过程 XTS子系统之应用兼容性测试用例开发 XTS子系统之应用兼容性测试套件1 XTS子系统之应用兼容性测试套件2 HPM包描述文件bundle.json build lite源码分析 之 hb命令__main__.py 持续更新中……
XTSX Test Suite子系统是OpenHarmony生态认证测试套件的集合当前包括 actsapplication compatibility test suite应用兼容性测试套件看护北向HAP兼容、OpenHarmony开发API兼容。 hatsHardware Abstraction Test Suite 硬件抽象测试套看护HDI层接口。 dctsDistributed Compatibility Test Suite 分布式兼容性测试套看护分布式兼容待上线
在移植芯片开发板后需要运行应用兼容性测试套件。对于大部分工程师是不需要开发ACTS测试用例的。但是了解一下这些知识在问题定位等会带来极大的方便。本文主要介绍下ACTS应用兼容性测试用例开发编译。使用的编程语言为C语言。
1、XTS测试套件目录
XTS的ACTS应用兼容性测试套件目录test\xts\acts器目录如下包含各个子系统的测试用例源代码及测试工具代码。
/test/xts
├── acts # 测试代码存放目录
│ └── aafwk # 标准系统的 元能力框架子系统 测试用例源码存放目录
│ └── aafwk_lite # 轻量系统、小型系统的 元能力框架 子系统测试用例源码存放目录
│ └── communication # 标准系统的 communication子系统 测试用例源码存放目录
│ └── communication_lite # 轻量系统、小型系统的 communication 子系统测试用例源码存放目录
| └── ....... # 其他子系统的测试用例源码存放目录
│ └── BUILD.gn # 标准系统测试用例编译配置
│ └── build_lite # 轻量系统、小型系统测试用例编译配置存放目录
│ └── BUILD.gn # 轻量系统、小型系统测试用例编译配置
└── tools # 测试工具代码存放目录2、测试用例级别、粒度和类型
测试用例分为5个级别分布为Level0、Level1、Level2、Level3、Level4这几个宏定义在文件test\xts\tools\lite\hctest\include\hctest_internal.h。对这几个级别的解释可以从文章尾部的参考站点上可以了解。
/*** test case level*/
enum TestRank {Level0 1,Level1 2,Level2 3,Level3 4,Level4 5
};用例粒度分为LargeTest、MediumTest和SmallTest同样在文件test\xts\tools\lite\hctest\include\hctest_internal.h中定义。
/*** test size*/
enum TestSize {SmallTest 1 4,MediumTest 2 4,LargeTest 3 4
};测试类型分为Function、Performance、Power、Reliability、Security、Global、Compatibility、User、Standard、Safety和Resilience。宏定义如下具体含义见参考站点中链接。
/*** test type*/
enum TestType {Function 1 8,Performance 2 8,Power 3 8,Reliability 4 8,Security 5 8,Global 6 8,Compatibility 7 8,User 8 8,Standard 9 8,Safety 10 8,Resilience 11 8
};3、C语言用例开发编译指导
根据测试系统选择测试框架和对应测试用例语言。系统类型和测试框架、开发语言对应关系如下
系统测试框架语言轻量系统hctestc小型系统hcpptestc标准系统HJSUnit、hcpptestjs、c
我们主要看下轻量系统产品用例开发。轻量系统测试使用的测试框架是hctesthctest测试框架支持使用C语言编写测试用例是在开源测试框架unity的基础上进行增强和适配。
3.1 用例目录规范
我们上文已经看到了ACTS的目录 测试用例存储到test/xts/acts仓中。假如我们在一个名为subsystem_lite的子系统中为module_hal部件开发用例目录如下
├── acts
| └── ......
│ └── subsystem_lite
│ │ └── module_hal
│ │ │ └── BUILD.gn
│ │ │ └── src
│ └──build_lite
│ │ └── BUILD.gn可以参考已经存在的用例的目录比如test\xts\acts\utils_lite\file_hal、test\xts\acts\utils_lite\kv_store_hal、test\xts\acts\startup_lite\bootstrap_hal等等。
3.2 编写用例样例
3.2.1 引用测试框架
hctest.h 文件位于./test/xts/tools/lite/hctest/include/目录定义了LITE_TEST_SUIT、LITE_TEST_CASE、RUN_TEST_SUITE等测试套件的宏。
#include hctest.h3.2.2 定义子系统、模块、测试套件名称
需要3个参数分别为子系统名称、子系统的部件名称、测试套件名称。
/**
* brief register a test suit named IntTestSuite
* param test subsystem name
* param example module name
* param IntTestSuite test suit name
*/
LITE_TEST_SUIT(test, example, IntTestSuite);已经存在的示例可以参考test\xts\acts\utils_lite\kv_store_hal\src\kvstore_func_test.c为utils子系统的kvStore部件注册KvStoreFuncTestSuite测试套件。
/*** tc.desc : register a test suite, this suite is used to test basic flow and interface dependency* param : subsystem name is utils* param : module name is kvStore* param : test suit name is KvStoreFuncTestSuite*/
LITE_TEST_SUIT(utils, kvStore, KvStoreFuncTestSuite);3.2.3 定义Setup与TearDown
命名方式测试套件名称Setup测试套件名称TearDown。Setup与TearDown必须存在可以为空函数。示例可以参考test\xts\acts\utils_lite\kv_store_hal\src\kvstore_func_test.c如下
/*** tc.setup : setup for all testcases* return : setup result, TRUE is success, FALSE is fail*/
static BOOL KvStoreFuncTestSuiteSetUp(void)
{UtilsSetEnv(DATA_PATH);return TRUE;
}/*** tc.teardown : teardown for all testcases* return : teardown result, TRUE is success, FALSE is fail*/
static BOOL KvStoreFuncTestSuiteTearDown(void)
{printf(-------------------------------------------\n);return TRUE;
}3.2.4 使用宏定义LITE_TEST_CASE写测试用例
LITE_TEST_CASE函数宏包括三个参数测试套件名称测试用例名称用例属性测试类型、用例粒度、用例级别。示例代码中创建测试用例名称为TestCase001属于测试套件IntTestSuite测试用例属性为功能测试、测试用例粒度为MediumTest用例级别Level1。
LITE_TEST_CASE(IntTestSuite, TestCase001, Function | MediumTest | Level1)
{ //do something
};示例可以参考test\xts\acts\utils_lite\kv_store_hal\src\kvstore_func_test.c如下测试套件KvStoreFuncTestSuite中创建测试用例testKvStoreSetValue001测试kvstore部件的UtilsSetValue和UtilsDeleteValue接口。
/*** tc.number : SUB_UTILS_KV_STORE_0100* tc.name : UtilsSetValue parameter legal test* tc.desc : [C- SOFTWARE -0200]*/
LITE_TEST_CASE(KvStoreFuncTestSuite, testKvStoreSetValue001, Function | MediumTest | Level1)
{char key[] rw.sys.version;char value[] Hello world !;int ret UtilsSetValue(key, value);TEST_ASSERT_EQUAL_INT(0, ret);ret UtilsDeleteValue(key);TEST_ASSERT_EQUAL_INT(0, ret);
};3.2.5 使用宏定义 RUN_TEST_SUITE注册测试套件
RUN_TEST_SUITE(IntTestSuite);3.3 测试模块的构建配置文件
在每个测试模块目录subsystem_lite/module_hal下新建BUILD.gn编译文件用于指定编译后静态库的名称、依赖的头文件、依赖的库等具体写法如下
import(//test/xts/tools/lite/build/suite_lite.gni)
hctest_suite(ActsDemoTest) {suite_name actssources [src/test_demo.c,]include_dirs [ ]cflags [ -Wno-error ]
}3.4 acts下BUILD.gn增加编译选项
需要将测试模块加入到acts目录下的编译脚本中编译脚本路径test/xts/acts/build_lite/BUILD.gn。
lite_component(acts) { ...if(board_name liteos_m) {features [ ...//xts/acts/subsystem_lite/module_hal:ActsDemoTest] }
}3.4 编译烧录运行
随版本编译debug版本编译时会同步编译acts测试套件。acts测试套件编译中间件为静态库最终链接到版本镜像中 。将版本镜像烧录进开发板。重启设备查看串口日志。每个测试套件执行以Start to run test suite开始以xx Tests xx Failures xx Ignored结束。
小结
本文主要介绍ACTS应用兼容性测试用例开发编译。
经常有很多小伙伴抱怨说不知道学习鸿蒙开发哪些技术不知道需要重点掌握哪些鸿蒙应用开发知识点
为了能够帮助到大家能够有规划的学习这里特别整理了一套纯血版鸿蒙HarmonyOS Next全栈开发技术的学习路线包含了鸿蒙开发必掌握的核心知识要点内容有ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、WebGL、元服务、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、OpenHarmony驱动开发、系统定制移植等等鸿蒙HarmonyOS NEXT技术知识点。 《鸿蒙 (Harmony OS)开发学习手册》共计892页:https://gitcode.com/HarmonyOS_MN/733GH/overview
如何快速入门
1.基本概念 2.构建第一个ArkTS应用 3.…… 开发基础知识:
1.应用基础知识 2.配置文件 3.应用数据管理 4.应用安全管理 5.应用隐私保护 6.三方应用调用管控机制 7.资源分类与访问 8.学习ArkTS语言 9.…… 基于ArkTS 开发
1.Ability开发 2.UI开发 3.公共事件与通知 4.窗口管理 5.媒体 6.安全 7.网络与链接 8.电话服务 9.数据管理 10.后台任务(Background Task)管理 11.设备管理 12.设备使用信息统计 13.DFX 14.国际化开发 15.折叠屏系列 16.…… 鸿蒙开发面试真题含参考答案:https://gitcode.com/HarmonyOS_MN/733GH/overview OpenHarmony 开发环境搭建 《OpenHarmony源码解析》:https://gitcode.com/HarmonyOS_MN/733GH/overview
搭建开发环境Windows 开发环境的搭建Ubuntu 开发环境搭建Linux 与 Windows 之间的文件共享……系统架构分析构建子系统启动流程子系统分布式任务调度子系统分布式通信子系统驱动子系统…… OpenHarmony 设备开发学习手册:https://gitcode.com/HarmonyOS_MN/733GH/overview