**
截至2022年9月20日,项目中累计新增白盒测试用例个数和每一个重写文件行覆盖度如下:
每一个文件的行数及覆盖到的行数具体如下:
--------------------------------------------分割线--------------------------------------------
**
截至2022年9月20日,项目中累计新增白盒测试用例个数和每一个重写文件行覆盖度如下:
--------------------------------------------分割线--------------------------------------------
**
【将系统用例移出CTest过程】
由于Arch64平台下始终无法通过添加了系统用例的CTest,
本项目放弃在CTest中融合系统用例的方案。继续采用在CI中独立执行系统测试的方案。【说明:已经验证系统用例带来的测试覆盖度并不高,而且难以推断如何通过系统用例提升测试覆盖度。】
最新的测试方案为:CI 执行CTest 白盒用例 + CI 执行黑盒用例。
【最新整理了白盒测试用例增加的策略】 (与原项目测试用例设计思路一致)
黑盒的系统用例还是按照2022年8月16日的方式增加。
截至2022年9月13日,本项目针对Rust改写文件的白盒测试覆盖度如下:
--------------------------------------------分割线--------------------------------------------
**
V2. 将新增黑盒测试合并到原有的CTest过程中(原来的白盒测试),以保证可以同时计算测试覆盖度。
合并后测试覆盖度有一点点的变化,如下:
添加黑盒测试用例之后:
#include "archive_platform.h"
__FBSDID("$FreeBSD$");
#include <stdio.h>
#include <stdlib.h>
void
archive_test_system()
{
int status = -1;
status = system("cd $(dirname $(find / -name verify.sh -print); pwd) && /bin/bash verify.sh");
if (status != 0) {
printf("\nerror\n");
} else {
printf("\nsuccess\n");
}
#include "test.h"
__FBSDID("$FreeBSD$");
DEFINE_TEST(test_archive_system)
{
archive_test_system();
}
--------------------------------------------分割线--------------------------------------------
**
V1. 记录原项目情况 + 新增黑盒测试
测试用例对所有改写的c文件的测试覆盖度:
cd libarchive/system_test_case/
/bin/bash verify.sh
未来测试计划:新增白盒测试用例,提升代码覆盖度;针对高危漏洞设计复现的黑盒测试用例,并执行测试。
Hi lcynju_admin, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Base-service, and any of the maintainers: @hexiaowen , @zhujianwei001 , @谢志鹏 , @Monday , @lcynju , @Sora5175 , @Kevin
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
目前
对于7zip.c通过增加对set_error、check_7zip_header_in_sfx、skip_sfx、init_decompression等方法添加对应的测试用例将代码覆盖度从78.2提升至83.1
对于mtree.c通过增加对parse_keyword、process_global_unset、la_strsep、parse_digest等方法添加对应的测试用例将代码覆盖度从80.9提升至84.3
对于tar.c通过增加对tohex、pax_attribute等方法添加对应的测试用例将代码覆盖度从83.5提升至85.6
对于zip.c通过增加对trad_enc_init、zip_read_mac_metadata、expose_parent_dirs等方法添加对应的测试用例将代码覆盖度从82.8提升至84.5
总的代码行覆盖度提升至83.9
混合项目中针对rs文件没找到自动统计测试覆盖度的方法,所以还只是在原c文件上统计覆盖度,用例也是先写在C项目中,然后人工用rust改写到rust文件测试文件中。
登录 后才可以发表评论