1 下载模板
首先需要前往 DataEase 模板市场(https://dataease.io/templates/)下载“测试质量大屏”的模板。
2 使用模板创建仪表板
在自己的 DataEase 环境中新建仪表板,并选择“导入模板”的方式,将刚下载好的模板上传好,预览及命名没问题后点击“确定”。
导入成功后如下图所示。
3 准备数据
当前数据为模板示例数据,需要进一步将数据来源替换为自己环境的 MeterSphere 数据库,展示真实的实时数据。
3.1 新建数据源
新建数据源,配置 MeterSphere 数据库真实信息,搭建 DataEase 与 MeterSphere 之间的数据链接。
3.2 添加相关的数据集
分别创建我们本次模板中需要用到的各类数据集,当然,如果需要展示一些非模板所展示的内容,也可以根据自己需要创建数据集。
此次我们涉及到的有 SQL 数据集和数据库数据集,在创建时需要分别选择对应的类型。
数据库数据集即直接选择某张数据库表,如下图所示,此次我们模板中需要用到的表分别为:
- 测试用例表:test_case
- 用例评审表:test_case_review
- 缺陷表:issues
除了数据库数据集以外,需要进而创建一些 SQL 数据集,本次用到以下 SQL,分别以 SQL 数据集类型创建好即可。
测试计划平均用时
SELECT
ROUND(AVG(( t.actual_end_time - t.actual_start_time )/ (1000*60*60*24) ),2) 测试计划平均用时(天)
FROM
test_plan t
WHERE
t.actual_start_time IS NOT NULL
AND t.actual_end_time IS NOT NULL;
测试用例 Issue 分布(新 Issue)
SELECT
t1.`name` 测试用例,
count( t3.id ) Issue数量
FROM
test_case t1,
test_case_issues t2,
issues t3
WHERE
t1.id = t2.resource_id
AND t2.issues_id = t3.id
AND t3.`status` = 'new'
GROUP BY
t1.`name` order BY count( t3.id ) desc;
测试用例小时分布
SELECT
CONVERT(FROM_UNIXTIME ( create_time / 1000, '%k' ) + 8,CHAR) 小时,count(id) 数量
FROM
test_case
where FROM_UNIXTIME ( create_time / 1000, '%Y' )>'2022'
GROUP BY
( FROM_UNIXTIME ( create_time / 1000, '%k' ) + 8 );
缺陷处理率
SELECT 1-SUM(IF(t.`status`='new',1,0))/count(t.id) 缺陷处理率 from issues t;
3.3 添加计算字段
如果需要将一些字段做字典转换处理,可以添加计算字段,例如缺陷表中的 status(状态),想要将各个英文状态名映射为中文,可以通过添加计算字段的方式。
CASE [status] WHEN ‘new’ THEN ‘新增’ WHEN ‘resolved’ THEN ‘已处理’ WHEN ‘closed’ THEN ‘已关闭’ END。需要注意的是,引用的字段 [status] 需要从下图展示的字段中点击方有效。
4 替换数据
重新再进入已导入的仪表板中,进入编辑界面,分别对各个视图的数据集进行替换,以下会展示各个视图所用到的数据集及其维度与指标字段。正常情况下,数据集字段一致,替换为自己的数据集后视图会自动匹配字段进来,无需再进行维度与指标字段的配置。
4.1 视图:测试计划数
4.2 视图:测试计划平均用时天数
4.3 视图:测试用例数
4.4 视图:测试计划状态分布
4.5 视图:测试用例等级分布
由于 MeterSphere 历史版本变更中存在字段变更情况,该字段下有部分为空的数据,这里加了过滤器进行过滤。
4.6 视图:用例状态评审
4.7 视图:测试用例创建时间分布
4.8 视图:测试用例数量走势
这里需要注意将日期显示配置为“年月”。
4.9 视图:用例维护人分布
4.10 视图:缺陷总数
4.11 视图:未处理缺陷数
需要过滤一下缺陷状态。
4.12 视图:缺陷处理率
4.13 视图:未关闭缺陷分布
4.14 视图:缺陷数量按月分布
4.15 视图:存在未处理缺陷的测试用例(缺陷数)
综上,属于自己的 MeterSphere 数据仪表板就大功告成了,如果有样式需要调整或者展示内容需要调整的再根据需要进一步修改即可。