职业经验 [jira] 基于 jira 的数据进行测试总结

bauul · 2019年01月22日 · 最后由 bauul 回复于 2021年03月05日 · 3658 次阅读

缘由

新加入的公司业务测试到现在,累计发现问题数接近 4000 笔问题,那么在测试完成之后,即需要对这些问题进行总结

问题

如何总结,统计哪些数据?如何做到可视化?
1,基于数据进行统计,
2,基于统计出来的数据进行绘图
这里大概罗列了一下思路:

数据统计

我们是使用的 jira,所以就看了一下 jira 的库表,基本上还是 OK


#总的bug
SELECT 
#优先级字段
#priority.pname,
count(*)
FROM  jiraissue
INNER JOIN issuestatus ON jiraissue.issuestatus=issuestatus.ID
INNER JOIN priority ON jiraissue.PRIORITY=priority.ID
WHERE jiraissue.issuetype='10004' 
#集成测试的
#AND jiraissue.PROJECT='10500'
#前端
#AND jiraissue.ASSIGNEE IN ('x','y','z')
#后端
AND jiraissue.ASSIGNEE IN ('a','b','c')
#按照优先级
#GROUP BY jiraissue.PRIORITY

#测试提bug
SELECT REPORTER, count(*) 
FROM jiraissue as i, priority as p 
WHERE p.SEQUENCE=i.PRIORITY  AND i.issuetype='10004' GROUP BY REPORTER

#各开发完成数量
SELECT ASSIGNEE,count(*),
#优先级字段
priority.pname
FROM  jiraissue
INNER JOIN issuestatus ON jiraissue.issuestatus=issuestatus.ID
INNER JOIN priority ON jiraissue.PRIORITY=priority.ID
#前端
#AND jiraissue.ASSIGNEE IN ('x','y','z')
#后端
AND jiraissue.ASSIGNEE IN ('a','b','c')
WHERE jiraissue.issuetype='10004' AND jiraissue.issuestatus in ('10001','6') GROUP BY ASSIGNEE,priority.pname

#各开发完成数量按照优先级
SELECT ASSIGNEE,count(*),priority.pname
FROM  jiraissue
INNER JOIN issuestatus ON jiraissue.issuestatus=issuestatus.ID
INNER JOIN priority ON jiraissue.PRIORITY=priority.ID
WHERE jiraissue.issuetype='10004' 
AND jiraissue.issuestatus in ('10001','6') 
#前端
#AND jiraissue.ASSIGNEE IN ('x','y','z')
#后端
AND jiraissue.ASSIGNEE IN ('a','b','c')
GROUP BY ASSIGNEE ,PRIORITY 

#集成reopen10202
SELECT changeitem.ID,jiraissue.issuenum,jiraissue.ASSIGNEE,count(changeitem.groupid),jiraissue.SUMMARY
FROM  jiraissue
INNER JOIN changegroup ON changegroup.issueid = jiraissue.ID
INNER JOIN changeitem ON changeitem.groupid = changegroup.ID
WHERE changeitem.NEWVALUE in('4','10202') AND jiraissue.issuetype='10004'
AND jiraissue.PROJECT='10500'
GROUP BY jiraissue.issuenum ORDER BY count(changeitem.groupid) DESC

#各模块的reopen
SELECT changeitem.ID,jiraissue.issuenum,jiraissue.ASSIGNEE,count(changeitem.groupid),jiraissue.SUMMARY
FROM  jiraissue
INNER JOIN changegroup ON changegroup.issueid = jiraissue.ID
INNER JOIN changeitem ON changeitem.groupid = changegroup.ID
WHERE changeitem.NEWVALUE in ('4','10202') 
AND jiraissue.issuetype='10004' GROUP BY jiraissue.issuenum ORDER BY count(changeitem.groupid) DESC

#每天完成数
SELECT date_format(changegroup.CREATED,'%Y-%m-%d') as time, count(1) as count
FROM  changegroup 
INNER JOIN changeitem ON changeitem.groupid = changegroup.ID
INNER JOIN jiraissue ON changegroup.issueid = jiraissue.ID
WHERE changeitem.NEWVALUE in ('5','10200') AND jiraissue.issuetype='10004' 
#前端
#AND jiraissue.ASSIGNEE IN ('x','y','z')
#后端
AND jiraissue.ASSIGNEE IN ('a','b','c')
GROUP BY date_format(changegroup.CREATED,'%Y-%m-%d') 
ORDER BY time 

#每个bug时效'5','10200'
select 
 TIMESTAMPDIFF(HOUR,startTime,endTime) cost,endTime,startTime,issuenum
from (
SELECT 
(SELECT CG.CREATED
FROM  jiraissue jira
#left JOIN changegroup CG ON CG.issueid = jira.ID
#left JOIN changeitem ON changeitem.groupid = CG.ID
INNER JOIN changegroup CG ON CG.issueid = jira.ID
INNER JOIN changeitem ON changeitem.groupid = CG.ID
WHERE changeitem.NEWVALUE in ('5','10200')
AND jira.issuetype='10004' 
and jira.ID=jiraissue.ID
ORDER BY CG.ID DESC
limit 1
) endTime,
jiraissue.CREATED startTime,
jiraissue.ASSIGNEE,
jiraissue.issuenum
from jiraissue 
WHERE jiraissue.issuetype='10004'
#前端
#AND jiraissue.ASSIGNEE IN ('x','y','z')
#后端
AND jiraissue.ASSIGNEE IN ('a','b','c')
) a
where a.endTime is not NULL;

图表绘制

1,缺陷严重等级分布

2,Issue 总数 Top10 的模块

思考

  1. 开发测试过程中存在哪些问题?如何改进?

畅想

未来可以基于更多的数据,比如自动化,性能等维度,来了解系统的质量如何

交流

你所在的测试部门是如何做数据统计或结果分析的?

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 14 条回复 时间 点赞

jira 看板

linpengcheng 回复

嗯,那也是一种维度,还有一些 jira 插件的

老师可以了解一下禅道,非常好用,二次开发也非常容易上手。

hello 回复

谢谢你的建议,👍

jira 本身的问题搜索做的很全啊 为啥要用 sql……

CleverMing 回复

对数据进行统计分析啊

hi,重打开的 sql,是可以使用吗?我需要改哪些字段

周小凤 回复

这个好久没看了,看下涉及到的几张表吧,主要是修改记录表,来判断一个 issue 是不是有重新打开来着,你试着改改吧,可以对比 web 界面上看到的数据看看

JIRA 不是有数据分析功能吗,为什么还要自己写代码数据分析

bauul #10 · 2021年01月06日 Author

一是不能一键出结果,二是有些数据不直观

请问有整理得出类似 禅道专业版 导出的测试报告吗?

bauul #12 · 2021年03月04日 Author
异彩飞天 回复

不清楚你想要啥样的报告,我没有用过禅道,你可以根据自己的需求去定制的

我的意思,jira synapseRT 的测试报告,太过零散。qa 去做测试报告的时候需要花较多时间。由于之前是使用禅道专业版本,可以一键导出 一个测试报告合集,qa 只负责总结和结论。

bauul #14 · 2021年03月05日 Author
异彩飞天 回复

jira 的数据都在库表里,你可以通过 rest api 或者直接去库表里捞取你需要的数据集合,需要花点时间按自己的需要定制

需要 登录 後方可回應,如果你還沒有帳號按這裡 注册