跳到主要内容

测试指南

测试工程依赖编译源码,参考《构建及安装指导》准备构建源码编译依赖的环境等,确保源码能够得到正确编译。

1. 准备测试环境

名称推荐版本说明
Gcc>=7.3.0Linux
Python>=3.5Linux
CMake>=3.16Linux
Sctp无版本限制Linux

2. 测试代码目录结构

./testcode/
├── CMakeLists.txt
├── common
│   ├── execute_base.c
│   └── execute_test.c
├── demo
├── framework
│   ├── crypto
│   ├── gen_test
│   ├── include
│   ├── process
│   ├── stub
│   └── tls
├── output
├── script
│   ├── all_mini_test.sh
│   ├── build_hitls.sh
│   ├── build_sdv.sh
│   ├── execute_sdv.sh
│   └── mini_build_test.sh
├── sdv
│   ├── build
│   ├── CMakeLists.txt
│   ├── log
│   ├── report
│   └── testcase
└── testdata
├── cert
└── tls

其中:

  • common:公共类测试框架代码
  • demo:openHiTLS功能测试demo
  • framework:openHiTLS测试用例的框架代码
  • output:用例测试结果及过程文件输出目录
  • script:测试脚本类代码目录
  • sdv:openHiTLS功能场景测试用例代码
  • testdata:存放测试类数据等

3. 功能测试执行指导

3.1 测试框架说明

使用社区开发的测试框架,提供公共的配置和方法以便社区开发者进行测试代码的编写和执行。一个测试单元由function文件(.c)和data(.data)文件组成,分别保存测试函数和测试数据。

image

3.2 脚本参数说明

命令含义
bash build_hitls.sh编译全量源码。
bash build_sdv.sh编译全量测试代码。
bash execute_sdv.sh执行测试用例。
  • build_hitls.sh脚本参数说明
脚本参数执行方式参数说明
gcovbash build_hitls.sh gcov开启获取覆盖率能力。
debugbash build_hitls.sh debug开启debug调试能力。
asanbash build_hitls.sh asan开启内存监测能力。
  • build_sdv.sh脚本参数说明
脚本参数执行方式参数说明
--help或-hbash build_sdv.sh --help获取帮助信息。
no-cryptobash build_sdv.sh no-crypto裁剪掉crypto模块用例。
no-bslbash build_sdv.sh no-bsl裁剪掉bsl模块用例。
verbosebash build_sdv.sh verbose显示构建过程详细信息。
gcovbash build_sdv.sh gcov开启获取覆盖率能力。
asanbash build_sdv.sh asan开启内存监测能力 。
big-endianbash build_sdv.sh big-endian大端环境编译选项。
run-testsbash build_sdv.sh run-tests=xxx1xxx2xxx3编译指定测试套。
  • execute_sdv.sh脚本参数说明
脚本参数执行方式参数说明
\<file name>bash execute_sdv.sh test_suites_xxx ...执行指定文件下的所有用例。
\<test name>bash execute_sdv.sh UT_CRYPTO_xxx SDV_CRYPTO_xxx ...执行指定用例名用例。

备注:脚本参数可以以组合形式传给脚本,例如:

  • 默认方式构建源码:bash build_hitls.sh
  • 源码构建过程中开启asan、debug及覆盖率:bash build_hitls.sh asan gcov debug
  • 测试代码构建过程中开启asan、覆盖率及显示构建详情:bash build_sdv.sh asan gcov verbose
  • 默认方式构建源码:bash build_hitls.sh
  • 默认方式执行全量用例:bash execute_sdv.sh
  • 执行指定的测试集合:bash execute_sdv.sh test_suites_xxx1 test_suites_xxx2

3.3 用例执行流程

测试工程主要依赖以下脚本:

  • build_hitls.sh: 一键式构建源码脚本
  • build_sdv.sh : 一键式构建测试用例脚本
  • execute_sdv.sh : 一键式执行用例脚本 image

3.4 用例结果查看

测试完成后,可进入output/log目录查看用例执行结果。如果发现社区仓库问题,可先在仓库issue查看是否有问题单,如果不存在问题单则提单跟踪。

欢迎关注openHiTLS微信公众号