news 2026/4/16 13:42:54

jira缺陷报告:测试人员口述问题自动生成ticket

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jira缺陷报告:测试人员口述问题自动生成ticket

测试人员口述问题自动生成 JIRA Ticket:AI 驱动的缺陷上报新范式

在现代敏捷开发节奏下,测试团队每天要面对成百上千条潜在缺陷的识别与上报。一个看似微不足道的动作——打开 JIRA、填写标题、描述复现步骤、选择模块和优先级——在高频反馈场景中累积起来,往往成为效率瓶颈。更麻烦的是,当测试人员正专注于某个复杂流程的验证时,突然被打断去手动记录问题,不仅容易遗漏关键细节,还可能因转述失真导致开发误解。

有没有一种方式,能让测试人员“边测边说”,说完就自动创建一条结构清晰、术语准确的 JIRA 缺陷单?随着语音识别与自然语言处理技术的成熟,这不再是设想。钉钉与通义联合推出的Fun-ASR语音识别系统,正在将这一愿景变为现实。


从“说话”到“建单”:一场效率革命的核心引擎

支撑这套自动化流程的底层核心技术是 Fun-ASR —— 一套专为中文场景优化的大规模自动语音识别(ASR)模型。它不只是简单的“语音转文字”工具,而是一个融合了声学建模、语言理解与文本规整能力的智能系统。

整个过程始于一段口语输入。比如,测试人员对着麦克风说:“我在安卓端点击商品详情页的时候,页面跳转失败了,报错码是500,这个应该属于订单中心的前端问题。” 这句话听起来随意,但其中包含了缺陷的关键要素:平台、操作路径、现象、错误码、归属模块。

Fun-ASR 的任务,就是把这段非结构化语音精准还原为书面语,并尽可能保留原始语义。它的识别流程分为四个阶段:

  1. 音频预处理:对输入信号进行降噪、归一化采样率(通常转为16kHz)、声道合并等处理,提升信噪比。
  2. 特征提取:将音频转化为梅尔频谱图(Mel-spectrogram),捕捉语音的时频特性,作为模型输入。
  3. 序列建模:采用 Conformer 架构进行端到端建模,结合 CTC 损失函数实现帧到字符的映射,支持流式或批处理模式。
  4. 语言融合与规整:引入神经网络语言模型(NNLM)重打分,纠正同音词误识;再通过 ITN(Inverse Text Normalization)模块将“五零零”转换为“500”,“二零二五年”变为“2025年”,确保输出符合工程文档规范。

这套流程在标准普通话下的字错率(CER)低于3%,即便带有轻微口音也能保持高精度。更重要的是,它支持热词增强机制——你可以提前上传一份关键词表,如“SKU校验”、“埋点ID”、“购物车结算逻辑”等专业术语,系统会动态调整语言模型先验概率,显著提升这些词汇的识别准确率。

相比 Google Speech-to-Text 或 Azure Cognitive Services 等通用云服务,Fun-ASR 最大的优势在于本地化部署能力。数据无需出内网,满足企业级安全合规要求;同时支持私有模型微调与低成本运行,特别适合测试团队这种高频使用场景。


让每个人都能用起来:WebUI 如何降低技术门槛

再强大的引擎,如果操作复杂也难以普及。为了让非技术人员也能轻松上手,Fun-ASR 提供了一套基于 Gradio 框架构建的可视化前端系统 —— WebUI。

这套界面看起来简洁直观,实则封装了复杂的模型调用逻辑。用户只需打开浏览器,访问http://服务器IP:7860,即可开始录音或上传音频文件。整个交互流程如下:

# gradio_app/app.py 片段 import gradio as gr from funasr import AutoModel model = AutoModel(model="FunASR-Nano-2512", device='cuda:0') def asr_inference(audio_file): result = model.generate(input=audio_file) return result[0]["text"] with gr.Blocks() as demo: gr.Markdown("# Fun-ASR 语音识别系统") with gr.Tab("语音识别"): audio_input = gr.Audio(type="filepath") text_output = gr.Textbox(label="识别结果") btn = gr.Button("开始识别") btn.click(fn=asr_inference, inputs=audio_input, outputs=text_output) demo.launch(server_name="0.0.0.0", server_port=7860)

这段代码展示了核心逻辑:AutoModel加载本地模型,在 GPU 上执行推理;gr.Audio组件支持文件上传与实时录音;按钮点击后触发识别函数并返回结果。启动脚本也很简单:

#!/bin/bash export PYTHONPATH="${PYTHONPATH}:./funasr" python -m gradio_app.app --port 7860 --host 0.0.0.0

--host 0.0.0.0允许远程访问,适配团队协作需求。

除了基础识别功能,WebUI 还集成了六大实用模块:
-语音识别:单文件转写
-实时流式识别:模拟会议记录场景
-批量处理:一次性上传多个录音文件
-识别历史:所有操作记录存入history.db,支持检索与导出
-VAD检测:自动分割长录音中的有效语音段
-系统设置:设备选择、模型切换、GPU缓存清理

尤其值得一提的是“清理GPU缓存”和“卸载模型”选项。长时间运行可能导致显存溢出,这两个功能让普通用户也能自主维护系统稳定性,无需依赖运维介入。


聪明地切分:VAD 如何让长录音更有价值

想象一下,一位测试人员录了一段两分钟的总结:“第一个问题是登录页加载慢……第二个是支付成功后没发通知……第三个是退款流程卡在审核环节……” 如果直接送入 ASR,会得到一大段混杂的内容,后续仍需人工拆解。

这时,VAD(Voice Activity Detection)就派上了大用场。它不是简单判断“有没有声音”,而是通过分析音频能量、过零率和频谱变化,利用深度学习模型(如CNN-LSTM)精确划分出每一段有效语音的时间区间。

Fun-ASR 使用的是基于 SOT(Segmentation on Time)的 VAD 模型,输出格式为[start_ms, end_ms]的时间戳列表。例如:

[ [1200, 8500], [10200, 18700], [21000, 29800] ]

这意味着原始音频中存在三个独立的语音片段。系统可以自动将它们裁剪出来,分别送入 ASR 引擎处理,最终生成三条独立的文本结果。

关键参数包括:
-最大单段时长:默认30秒,避免过长片段影响识别质量
-最小语音间隔:通常设为500ms,用于区分相邻发言

在实际应用中,VAD 显著提升了处理效率。一段包含3次陈述的2分钟录音,原本需要人工听写+整理,现在可一键拆分为3个子任务并行处理,整体耗时减少60%以上。


真实落地:如何打通“语音”到“JIRA”的最后一公里?

完整的自动化流程远不止语音识别。真正的价值在于,如何将识别出的文本进一步转化为可执行的工单。

系统架构如下所示:

+------------------+ +-------------------+ +---------------------+ | 测试人员 | --> | Fun-ASR WebUI | --> | JIRA API Gateway | | (口述问题) | | (语音识别+ITN) | | (创建Ticket) | +------------------+ +-------------------+ +---------------------+ ↑ ↑ +-------+ +--------+ | | +--------------+ +---------------+ | 本地GPU服务器 | | 存储系统 | | (CUDA加速) | | (history.db) | +--------------+ +---------------+

工作流清晰且闭环:
1. 测试人员点击麦克风开始录音,描述发现的问题;
2. 录音结束,系统调用 VAD 分割语音段,逐段送入 Fun-ASR 转写;
3. 开启 ITN 规整,确保数字、日期、术语标准化;
4. 用户确认识别结果无误后,点击“生成 JIRA Ticket”;
5. 前端调用后端代理接口,使用轻量 NLP 规则解析字段:
- 标题(Summary):提取核心动作 + 现象,如“安卓端商品详情页跳转失败”
- 描述(Description):完整原文 + 时间戳 + 录音附件(可选)
- 模块(Component):通过关键词匹配定位“订单中心”“用户管理”等
- 优先级(Priority):根据“崩溃”“无法使用”“建议优化”等词自动分级
6. 调用 JIRA REST API 发起 POST 请求创建 Issue。

例如,原始语音“点击商品详情页跳转失败”经过解析后,可能生成如下 JSON:

{ "fields": { "project": { "key": "QA" }, "summary": "安卓端商品详情页跳转失败", "description": "测试过程中发现点击商品详情页无响应,报错500。\n[录音时间: 2025-04-05 14:23]", "issuetype": { "name": "Bug" }, "components": [{ "name": "订单中心" }], "priority": { "name": "High" } } }

这种方式解决了传统上报的三大痛点:
-效率低:平均每人每天节省15–30分钟手工录入时间;
-信息失真:保留原始语境,减少二次转述误差;
-术语不准:热词机制保障“SKU”“埋点”等专有名词正确输出。


工程实践中的那些“坑”与对策

任何新技术落地都会遇到挑战,我们在实践中也积累了一些经验:

网络与部署
  • 建议部署在局域网内,保证远程访问稳定;
  • 若需公网暴露,务必配置反向代理(如 Nginx)与身份认证(如 Keycloak),防止未授权访问。
硬件选型
  • 推荐使用 NVIDIA GPU(如 RTX 3090/4090)启用 CUDA 加速,实现实时识别(1x速度);
  • 无 GPU 环境可用 CPU 模式运行,但处理速度约为0.5x,适合小规模试用。
批量处理策略
  • 单批次建议不超过50个文件,避免内存溢出;
  • 大文件建议预先压缩为 WAV 格式(16kHz, 16bit, 单声道),提升处理速度;
  • 可结合定时任务实现夜间批量转写,白天集中处理。
安全与合规
  • 所有音频与文本数据存储于本地 SQLite 数据库(webui/data/history.db),不上传云端;
  • 支持定期备份与权限控制,符合企业数据治理要求;
  • 敏感项目可关闭录音存储功能,仅保留文本记录。

不止于缺陷上报:未来的智能化跃迁

目前的方案已实现了从“口述”到“建单”的基本闭环,但潜力远不止于此。未来可以通过集成更强的 NLP 模块,迈向真正的智能工单生成:

  • 意图识别:判断是缺陷报告、功能建议还是环境咨询;
  • 实体抽取:自动识别 URL、错误码、设备型号、版本号;
  • 相似问题推荐:对接 JIRA 历史库,提示是否已有类似 Ticket;
  • 自动指派:根据模块与关键词推荐负责人。

甚至可以扩展到其他企业场景:
- 会议纪要自动生成
- 客服通话内容分析
- 培训课程语音转录
- 远程协作即时字幕

这种高度集成的设计思路,正推动着质量保障体系向更高效、更智能的方向演进。当测试人员不再被繁琐的文书工作束缚,他们才能真正聚焦于最有价值的事——发现深层次问题,提升产品质量。

语音,正在成为人机协作的新界面。而这一次,我们不只是在“听”,更是在“理解”。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 13:05:47

前端采用electron-hiprint控件实现静默打印

1、功能需求 在进行点击打印调用PDF打印功能时候,每一次打印都需要进行手动预览确认 需要进行批量打印静默直接打印 2、插件介绍 electron-hiprint: vue-plugin-hiprint 直接打印客户端;web无预览打印;支持 Mac、Win、Linux 系统&#xf…

作者头像 李华
网站建设 2026/4/15 13:27:17

uptime监控:语音询问网站当前是否正常访问

语音即指令:用 Fun-ASR 实现网站可用性智能问答 在运维一线工作的工程师都有过这样的经历:深夜接到告警电话,匆忙打开笔记本,登录监控平台查看图表、刷新接口状态——而真正想确认的,可能只是“那个服务现在通不通”。…

作者头像 李华
网站建设 2026/4/15 14:46:04

graph关联分析:语音描述实体关系构建知识图谱

语音到知识:基于 Fun-ASR 的实体关系抽取与图谱构建 在企业会议结束后的第二天,项目经理翻遍了几十页的纪要文档,却仍找不到“谁负责哪个模块”这一关键信息。而在另一个场景中,客服主管希望快速统计过去一周内客户集中反馈的产品…

作者头像 李华
网站建设 2026/4/16 11:04:32

day53(1.4)——leetcode面试经典150

222. 完全二叉树的节点个数 我感觉会有更简单的方法,但是我不知道,我这几题二叉树,只有一题是用bfs,所以这题我也用了bfs 222. 完全二叉树的节点个数 题目: 题解: /*** Definition for a binary tree n…

作者头像 李华
网站建设 2026/4/16 10:41:45

Fun-ASR支持31种语言识别?官方文档未公开细节揭秘

Fun-ASR支持31种语言识别?官方文档未公开细节揭秘 在智能语音应用日益普及的今天,企业对本地化、高安全性的语音识别方案需求持续增长。通义实验室与钉钉团队联合推出的 Fun-ASR,正是瞄准这一趋势推出的一款轻量级、本地部署的语音识别系统。…

作者头像 李华
网站建设 2026/4/15 7:23:39

手把手教你启动Fun-ASR:bash start_app.sh详细说明

手把手教你启动Fun-ASR:bash start_app.sh详细说明 在语音交互日益普及的今天,越来越多开发者希望快速部署一套高精度、低延迟的语音识别系统。然而,从模型加载到服务封装,传统 ASR(Automatic Speech Recognition&…

作者头像 李华