| name | dev-regression-test |
| description | 在开发环境进行回归测试,当开发完成功能或修复bug后,可以使用这个技能在开发环境进行回归测试,验证代码变更是否生效,是否引入新问题。 |
| context | fork |
| disable-model-invocation | true |
dingofs回归测试技能
注意: 本技能仅适用于开发环境部署测试dingofs,不要用于生产环境部署,并只进行基本功能回归验证,提交代码之前可以使用这个技能在开发环境进行回归测试,验证代码变更是否生效,是否引入新问题。
使用方式: /dev-regression-test [测试目录路径]
回归测试工具
基础命令
基础的文件系统操作命令,主要用于测试基本的文件系统功能是否正常,包括创建文件、删除文件、重命名文件、创建目录、删除目录、重命名目录等操作,可以自由使用下面的工具进行测试,根据命令执行结果可以判断基本的文件系统功能是否正常。
mkdir
rm
touch
rm
mv
ls
dd
cat
stat
chmod
chown
truncate
pjdtest工具
主要用于测试元数据操作是否正常,是否符合 POXIS 标准,测试内容包括创建文件、删除文件、重命名文件、创建目录、删除目录、重命名目录等操作,测试结果会输出到日志目录下,可以查看日志分析测试结果。
PJD_TEST_DIR=$ARGUMENTS[0]/pjd_test_$(date +%Y%m%d%H%M%S)
PJD_OUTPUT_DIR=/tmp/dtt
mkdir -p ${PJD_TEST_DIR}
mkdir -p ${PJD_OUTPUT_DIR}
dtt config set testdir ${PJD_TEST_DIR}
dtt config set output ${PJD_OUTPUT_DIR}
dtt -t pjdtest -s pjdtest
mdtest工具
主要用于测试元数据性能,测试内容包括创建文件、删除文件、重命名文件、创建目录、删除目录、重命名目录等操作,测试结果会输出到日志目录下,可以查看日志分析测试结果。
MDTEST_TEST_DIR=$ARGUMENTS[0]/mdtest_test_$(date +%Y%m%d%H%M%S)
MDTEST_OUTPUT_DIR=/tmp/dtt
mkdir -p ${MDTEST_TEST_DIR}
mkdir -p ${MDTEST_OUTPUT_DIR}
dtt config set testdir ${PJD_TEST_DIR}
dtt config set output ${PJD_OUTPUT_DIR}
dtt -t mdtest -s $scene
vdbench工具
主要用户测试数据读写性能,测试内容包括顺序读写和随机读写,测试结果会输出到日志目录下,可以查看日志分析测试结果。
VDBENCH_TEST_DIR=$ARGUMENTS[0]/vdbench_test_$(date +%Y%m%d%H%M%S)
VDBENCH_OUTPUT_DIR=/tmp/dtt
mkdir -p ${VDBENCH_TEST_DIR}
mkdir -p ${VDBENCH_OUTPUT_DIR}
dtt config set testdir ${VDBENCH_TEST_DIR}
dtt config set output ${VDBENCH_OUTPUT_DIR}
dtt -t vdbench -s $scene
fio工具
主要用于测试数据读写性能,测试内容包括顺序读写和随机读写,测试结果会输出到日志目录下,可以查看日志分析测试结果。
FIO_TEST_DIR=$ARGUMENTS[0]/fio_test_$(date +%Y%m%d%H%M%S)
FIO_OUTPUT_DIR=/tmp/dtt
mkdir -p ${FIO_TEST_DIR}
mkdir -p ${FIO_OUTPUT_DIR}
dtt config set testdir ${FIO_TEST_DIR}
dtt config set output ${FIO_OUTPUT_DIR}
dtt -t fio -s $scene
测试流程
- 选择测试工具和测试场景,根据需要可以选择基础命令进行基本功能测试,也可以选择pjdtest、mdtest、vdbench、fio等工具进行更全面的功能和性能测试。
- 根据测试工具的使用说明,配置测试目录和日志目录,并运行测试命令执行测试。
- 测试完成后,查看日志目录下的测试结果,根据测试结果分析是否存在问题,如果测试结果不符合预期,可以根据日志信息进行排查,找出问题原因并修复代码。
- 修复代码后,可以再次使用这个技能在开发环境进行回归测试,验证代码变更是否生效,是否引入新问题,直到测试结果符合预期为止。
- 如果有不确定的情况,可以咨询我或者查阅相关文档,确保测试的正确性和有效性。