技术栈
采用基于 Python 技术栈,能有效利用 Python 语言生态。
- TinyDB:一个轻量级的文档导向数据库,用于存储测试数据。
- python-docx:一个Python库,用于读写Microsoft Word文档。
- YAML:一种数据结构化文档格式,用于配置文件的编写。
- Typer:一个构建命令行应用的Python框架,用于简化命令行接口的创建。
实现思路
一、结构化数据描述
使用 YAML 结构化文档描述测试报告的元数据,过 YAML 文件,我们可以轻松地定义报告的标题、版本、作者、日期等基本信息,以及更详细的测试环境信息,如补丁包信息、测试用例等。
一个通过约定的测试报告元数据,可能像下面这样:
---
tester: your name
developer: his name
filename: K8S漏洞测试报告
caption: K8S漏洞测试报告
section:
- name: 测试环境
text: xx 测试环境(1.1.1.1 容器环境)
- name: 涉及变更
patch:
-
pkg: 001.tar.gz
md5: b39f47fa8eecf4aad9407d6c33d56e9b
- name: 测试目的
text: 验证应用补丁之后,对应接口完成安全问题的整改;
- name: 测试结果
text: 通过
- name: 测试过程
step:
1:
- label: 权值
value: 高
- label: 测试目的与范围
value:
- 接口变更共 116 个
- label: 测试过程
value:
- 0、补丁包正常安装
- ....
- 10、验证旧接口已安全屏蔽
- label: 预期结果
value: 接口符合权限配置
- label: 测试结果
value: 通过
- label: 测试截图
value: img
结构化表示方法使得报告生成器能够轻松读取和解析所需的信息,进而生成格式化和信息丰富的测试报告。
二、本地化存档管理
对于生成的测试报告进行管理,通过建立一个本地化的存档管理系统,我们可以有效地组织和索引测试文档,使其易于访问和检索。
通过 Typer 命令行工具提供相应的访问接口
三、最后
基于测试报告的本地化存档管理,我们可以实现以下几个关键目标:
-
提高可访问性:通过本地化存储,确保测试报告可以快速访问和理解。
-
保证可追溯性:通过元数据的分类和索引,可以追溯测试文档的历史版本和变更记录。
-
提升文档管理效率:自动化的存档管理系统简化了文档的存储、检索和管理过程。