Files
os-autotest/doc/测试用例检视规范.md
2025-11-05 17:57:29 +08:00

4.0 KiB
Raw Blame History

测试用例检视规范

1 检视前提

必须有用例执行结果截图;

用例文件必须格式化;

每个用例中的测试命令控制在10个左右

用例文件命名规范:

命名方式为oe_test_包名.sh、oe_test_包名_序号.sh、oe_test_包名_命令.sh用于同一个命令中参数比较多的场景

用例拆分规范:

同一个命令中的参数超过10个以上需要对用例进行拆分命名方式为oe_test_包名_命令1_序号.sh

用例合并规范(非必须):

软件包中有多个命令并且所有命令行参数少于10个命名方式可以为oe_test_包名.sh、oe_test_包名_序号.sh

oe_test_包名软件包中有多个命令参数均小于3个建议合并至一个用例中用例描述中说明测试了哪些命令

名词解释:

包名:当前测试软件包名 命令rpm -ql 包名 | grep bin 序号0102 ...同理

针对同一个软件包不同版本命令参数有差异的用例结构及命名规范:

用例目录结构

testcases/cli-test/源码包名

用例名称

oe_test_rpm包名_base_命令基线用例多个软件包版本共同使用的用例

oe_test_rpm包名_version1_命令

oe_test_rpm包名_version2_命令

测试套

suite2cases/源码包名_version1.json

oe_test_rpm包名_base_命令

oe_test_rpm包名_version1_命令

suite2cases/源码包名_version2.json

oe_test_rpm包名_base_命令

oe_test_rpm包名_version2_命令

2 检视规范

2.1 注释

代码中所有注释必须为英文描述;

2.2 命令和参数

测试软件包中的命令和参数要全部覆盖;

2.3 临时文件

临时文件放在/tmp目录下或者在当前路径下创建临时目录临时文件比较多的情况post_test中需要清理

2.4 其他

文件起始位置注释信息中年份必须为当前年份;

每个用例必须独立(每个用例执行互不依赖、互不影响);

config_test只放置预加载数据参数配置等操作代码,pre_test中只放置预置处理代码run_test只放置测试代码post_test只放置环境清理代码必须清理完全恢复初始使用环境里面不能出现python xx的执行命令

pre_test和post_test不能有CHECK_RESULT方法

能归并在一起的语句全部归并在一起。例如多个rm命令可以归并一个

userdel删除用户需要加-rf参数,连同用户目录一起删除;

代码中尽量使用框架提供的公共变量参考conf/mugen.env和公共方法如NODE1_XX系列

不要定义从不使用的变量,不要写无意义的代码;

DNF_INSTALL方法可同时安装多个包安装多个包的调用方式为DNF_INSTALL "xx1 xx2"

DNF_REMOVE与DNF_INSTALL配合同时使用时DNF_REMOVE可以省略参数

config_testpre_test,post_test如无必要不能在用例代码中出现

mv命令必须加上-rf,防止目的文件存在时,命令有提示操作;

测试点必须加CHECK_RESULTCHECK_ RESULT必须包含4个参数日志信息必须正常易理解

不能出现重复代码,尽量使用相对路径,不能出现语句逻辑性错误;

cp命令必须加上-f,防止目的文件存在时,命令有提示操作;

用例中用到的除用例以外的文件需要放在当前路径的common目录下如果文件数量超过20个建议打包上传

用例描述以及注释必须都是英文的;

每个命令参数都需对执行结果进行校验,参数不同校验结果也应有所不同;

格式化问题:用例中函数体内容缩进4个空格;命令参数、特殊符号前后一个空格;

判断文件是否存在建议使用test -f file

在文件中查找关键词用grep xxx file

获取当前路径xxx=$(cd "$(dirname $0)" || exit 1 pwd)

查看命令的标准错误输出使用cmd 2>&1 | grep xxx

根据pr的检视意见修改之后必须进行回复无需修改也请给出理由修改完之后需要上传用例执行成功结果截图整个测试套跑成功