手动过滤重复bug太繁琐?教你一招,用python自动过滤

本文介绍了一个使用Python和pytest实现的自动化方案,用于过滤和处理JIRA上的重复bug。首先,理解部门的JIRA流程,然后通过Python接口获取未解决的bug,比较它们的标题和描述以确定重复项。重复的bug将被关闭,其中一个保留。该方案可自定义重复度阈值,并能适应不同的处理流程。此外,它还能扩展到需求和任务的过滤分析。
摘要由CSDN通过智能技术生成

      也许有人每天运行自动化测试,每天自动提交bug。可能昨天提交的bug还没解决,今天又提了一次。如果一周内积累了成千上万的bug该怎么办?手动逐个过滤是否太复杂了?

然后,为了解决这个问题,今天我们将介绍一种自动过滤方案及其实践。

测试需求分析

该方案主要由python/pytest实现,主要针对jira上的bug进行处理。当然也可以用来过滤重复的需求,重复的任务等等。

准备工作

1.在处理之前,首先需要了解部门的jira流程图(不同的公司或部门可能不同)。确认后,您将知道在发现重复问题后应该做什么,以及它的状态应该如何流动。

本文主要以我的具体实践为例。如果有什么不同,可以自己修改。

2.申请一个可用的jira账户(为了方便很多人,建议申请一个公共账户)。

测试用例设计

获取未处理自动化bug

获取所有已存在的未处理的自动化bug,具体过滤如下:项目为xxx,报告者为xxx,状态为Unresolved(对应状态为open)。

比较bug标题和详细信息

比较bug的标题是否一致。如果一致,请详细描述描述。如果详细描述的重复率达到90%以上(此指标可以更改),则视为此类bug重复。

确认bug重复后处理

如果比较显示bug重复,重复的bug中的一个会被保留,其他类似的bug会被关闭。根据流程图(如下图),关闭最简单的流程状态是先中转待讨论,再关闭。

 

自动化脚本实现

获取所有bug

可以直接使用jira接口/rest/api/2/search

 

您还可以使用python打包的jira (pip install jira)库中的search_issues获取问题总数。

 

然后,根据总数,逐页遍历,得到summary(标题)和description(详细描述)。

 

比较issue相似度

比较标题直接用“= =”判断,比较描述用python自带的库difflib比较。

 

关闭issue

1、可以直接调用jira接口https://docs . atlassian . com/software/jira/docs/API/rest/8 . 5 . 5/# API/2/issue-do transition,也可以使用python中的jira库transition_issue。

 

脚本迭代优化

剧本的第四段,主要是通过90%的重复度来判断是否有重合。这个指标可以根据个人需要进行调整,也可以通过args参数等传递。

在本文中,该脚本主要通过将其转换为先讨论后完成来处理其循环状态。如果有其他不同的操作,可以修改transition_issue的参数。

不同公司的Transition_issue id不一致。这个值可以由jira管理员询问,也可以由http请求工具获取。

可能遇到的问题

如果你能想到这个需求,那么这个方案就简单多了,主要是因为你需要知道发行流程,其次你可能需要知道difflib库。

总结

这个方案和例子可以和自动提交bug给jira结合使用,也可以单独使用,因为这个过滤信息不依赖于提交问题的方式。

该方案的主要流程是获取所有的发行信息(标题、详细描述等)。)——对比每个问题的重复信息——确认重复后,修改问题的状态(可以是关闭或其他,按要求操作)。

除了处理bug,这个方案还可以扩展,比如分析jira上的需求和任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值