51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 952|回复: 2

[原创] Python高级用法:自动化过滤重复bug

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:11
  • 签到天数: 932 天

    连续签到: 4 天

    [LV.10]测试总司令

    发表于 2021-11-29 14:10:01 | 显示全部楼层 |阅读模式
    一.背景介绍
      继自动提交bug到jira文章之后,这时候就会有人有疑问了,我每天都在跑自动化测试(美其名曰每日构建),也每天都在自动提交bug,可能昨天提交的bug尚未解决,今天又重新提了一遍,一周下来累计的bug好几千了,怎么办?一个个去手动过滤,有木有感觉直接崩溃了?那么为了解决这个问题,今天我们就来介绍一个自动化过滤的方案及其实践。

      二.测试需求分析
      此方案也主要使用python/pytest实现,主要针对于jira上bug的处理,当然也可以使用过滤重复需求,重复任务等等均可以。

      准备工作:
      1.在处理之前,你首先需要了解部门的jira流转图(不同公司或部门都可能不一样),确认清楚后,你才知道找出重复的issue之后需要怎么处理,其状态应该怎么流转,本文将主要以我具体实践的为例,若有不同,可自行修改。
      2.申请可用的jira账号(为了方便多人使用,建议申请一个公共账号)。

      三.测试用例设计
      1 获取现有的所有未处理自动化bug,具体过滤为:
      项目为xxx,报告人为xxx, 状态为未解决Unresolved(对应状态为open)
      2 比较bug的标题和详细信息
      比较bug的标题是否一致,若一致则比较详细描述description,如果详细描述的重复度达90%(此指标可以更改)以上则视为这样的bug重复
      3 确认bug重复后处理
      如果比较得出bug重复,则将重复bug(仅保留一个,其他相似的均)关闭,根据流转图(如下图),关闭最简单的流转状态就是先transit to待讨论,再转换成关闭

     四.自动化脚本实现
      1 获取所有bug,可以直接使用jira接口
      /rest/api/2/search
      https://docs.atlassian.com/softw ... 8.5.5/#api/2/search
      也可以python中封装好的jira(先pip install jira,即可使用)库中的 search_issues
      先获取issue总数。

    再根据总数 逐页遍历获取summary(标题)和description(详细描述)。

    2 比较issue相似度
      比较标题 直接通过 ”==“ 来判断
      比较描述通过python自带库difflib来比较

    3 关闭issue
      同1,可以直接调用jira接口https://docs.atlassian.com/software/jira/docs/api/REST/8.5.5/#api/2/issue-doTransition,也可以使用python中的jira库transition_issue。

    jira库支持的方法:

     五. 脚本迭代优化等
      1第四节脚本中主要是通过90%的重复度来判度是否重合,这个指标可以各人根据需要调整,或是通过args参数传参等。
      2本文脚本中主要是通过先转换为discuss-done的方式处理的其流转状态,若有其他不同操作可以修改transition_issue的参数。
      3 不同公司的transition_issue id不一致,此项值可以询问jira管理员或是通过http请求工具捕捉。

      六. 可能遇到的问题,难点等
      能想到此需求的话,那么此方案就木有太大难点了,主要是需要了解issue流转流程,其次可能需要了解difflib这个库。

      七. 总结
      此方案及示例可以结合自动提交bug到jira使用,也可以单独使用,因为此过滤信息并不依赖于提交issue的方式,此方案的主要流程是 获取所有issue信息(标题、详细描述等等)—比较各issue的重复信息—确定重复后,修改issue的状态(可能为关闭也可为其他,根据需要操作)。除了处理bug,也可以此方案上拓展例如分析jira上的需求、任务等等。




    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-6-9 14:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2021-12-8 16:10:22 | 显示全部楼层
    不得不说,python还是很强大的
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-19 06:32 , Processed in 0.068233 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表