基于自然语言分析的众测错误报告优先级排序方法

文档序号:8223404阅读:475来源:国知局
基于自然语言分析的众测错误报告优先级排序方法
【技术领域】
[0001] 本发明属于计算机技术领域,涉及软件测试技术,尤其是软件测试中测试用排序 技术,用于专业测试人员在得到众测人员提交的错误报告后,动态获取错误报告优先级排 序,辅助其对错误报告的审阅工作,为一种基于自然语言分析的众测错误报告优先级排序 方法。
【背景技术】
[0002] 众测是指在软件正式发布之前,软件公司通过互联网,将测试任务分配给一大群 和软件没有直接关系的个体,通常称之为众测人员。由众测人员向公司提交其错误报告给 专业测试人员审查,如图1所示。错误报告通常包括由自然语言书写的测试环境、测试输 入、测试步骤和测试结果,并辅助一些必要的截屏。
[0003] 由于市场特征,互联网软件的开发和更新周期都非常短。与此同时,互联网用户的 忠诚度较低,一个错误可能导致大量用户流失和巨额经济损失。在软件公司专业测试人员 相对短缺的情况下,众测技术在当前的互联网公司软件研发或更新过程中,被广泛采用。
[0004] 传统的测试中,有一些工具可以对错误报告进行自动审查。然而在众测环境下,由 于众测人员的专业水平很难控制,公司专业测试人员通常人工逐一审查所有错误报告,以 判断其有效性。由于公司鼓励众测人员提交更多的错误报告,这项审查工作会耗费大量的 时间和人力成本。
[0005] 自然语言处理是基于机器学习的技术,将自然语言的文本通过一系列分词、关键 词提取等技术进行理解。本发明中使用中文自然语言分析技术,结合提出动态错误报告排 序OTRP)算法和静态错误报告排序(STRP)算法,对错误报告进行排序,提高在众测环境下 的错误报告审查效率。

【发明内容】

[0006] 本发明要解决的问题是:提出一种基于自然语言分析的众测错误报告优先级排序 的方法,减轻专业测试人员审查众测错误报告的时间和工作量,实现业务自动化,提高工作 效率。
[0007] 本发明的技术方案为:基于自然语言分析的众测错误报告优先级排序方法,使用 自然语言分析,对众测人员提交的错误报告进行排序,具体步骤为:
[0008] 1)收集并预处理错误报告:
[0009] 收集众测人员提交的错误报告,并根据设定的标准格式,对不符合标准格式的错 误报告进行过滤;
[0010] 2)自然语言分析,对所有错误报告进行自然语言分析,包括以下四个子步骤:
[0011] 2a)分词:对错误报告中的自然语言描述的部分进行分词操作,将每份错误报告 中的语句划分成独立的词语;
[0012] 2b)同义词替换:首先由人工生成一个同义词集合,即将指代同一对象的不同词 语作为一个集合,用同义词集合中的一个词语作为代表词,来替换错误报告中含有的该同 义词集合中的其他词语;
[0013] 2c)关键词提取:通过自然语言分析,将每份错误报告的关键词提取出来,按权重 大小降序排列,权重的值表示该关键词能够代表语句含义的程度,取权重最大的k个关键 词;
[0014] 2d)关键词向量模型KVM建立:根据关键词在所有错误报告中出现的次数,选出出 现次数超过设定阈值的关键词,按出现次数降序排列,并选取出现次数最多的m个关键词, 构成关键词集合;再根据关键词集合对每一个错误报告计算关键词向量,对于一个错误报 告,若某关键词在其中出现,则该错误报告的关键词向量对应项的值为1 ;否则对应项的值 为〇 ;各错误报告的关键词向量构成关键词向量模型KVM ;
[0015] 3)建立距离矩阵:
[0016] 根据步骤2)得到的关键词向量模型KVM,对每两个错误报告的关键词向量计算 Jaccard距离,得到错误报告的距离矩阵;
[0017] 4)对错误报告排序:
[0018] 根据步骤3)得到的距离矩阵,针对有无专业测试人员及时反馈的不同情形,分别 采用动态错误报告排序和静态错误报告排序,实现错误报告优先级排序,帮助专业测试人 员发现错误:
[0019] 4a)当专业测试人员通过图形用户界面及时判断并反馈系统推荐的错误报告是否 有效时,采用动态错误报告排序策略,此时的排序兼顾错误报告的多样性和准确性;
[0020] 4b)当专业测试人员不参与排序过程时,采用静态错误报告排序策略,此时的排序 只会考虑错误报告的多样性。
[0021] 进一步地,步骤1)中对错误报告统一设定{E,I,0,D}的格式,其中E为测试环境, 包括硬件参数、软件设置;I为测试输入,包括输入数据、操作步骤;〇为测试输出,包括文本 和截图;D为测试描述,用于帮助测试人员理解软件错误。错误报告由众测人员通过网络进 行提交,收集完所有的错误报告后,统一存储在错误报告库,并对不符合设定格式的错误报 告进行调整或舍弃。
[0022] 作为优选,步骤2a)的分词步骤中,对错误报告中的测试输入和测试描述进行分 词操作。
[0023] 步骤2c)中,k为大于等于5的整数。k值越大,对语句含义的表达效果越好,时间 代价越大。
[0024] 本发明中,众测人员是指互联网软件公司雇佣的具备一定专业基础知识的非专业 测试人员;错误报告是指遵照固定格式,用自然语言撰写的错误报告,包括测试环境、测试 输入、测试输出、测试描述四部分,由众测人员撰写提交。专业测试人员指了解软件的专业 程序测试人员。
[0025] 本发明的自然语言分析根据错误报告的语言确定,对于中文语言,采用ICTCLAS 中文自然语言处理引擎。
[0026] 本发明引入自然语言处理技术,将众测错误报告中的文本描述进行分词,同义词 替换,关键词提取等技术。本发明提出了一种全新的基于众测场景的众测报告排序技术,主 要用于解决众测场景下,错误报告过多,专业测试人员无法在可接受的时间和人力成本下 审查所有错误报告的问题。本发明的有益效果在于两方面:在自然语言分析的基础上,对众 测报告进行自动分类,1、提出了动态众测报告排序技术,引入了测试人员反馈审查结果,同 时实时变更距离矩阵,使得审查效率更高;2、在测试人员不能及时审查的情况下,提出了静 态众测报告排序技术,使得审查人员在后续的审查中能够保证较高的审查效率。
【附图说明】
[0027] 图1为现有技术的众测的流程图。
[0028] 图2为本发明的错误报告排序流程图。
【具体实施方式】
[0029] 本发明的目的是接收自然语言形式的众测错误报告,动态获取错误报告优先级排 序,辅助测试人员对错误报告的审阅工作。如图2所示,本发明【具体实施方式】有以下四个步 骤:错误报告收集,自然语言处理,距离矩阵建立和利用算法进行错误报告动态排序。
[0030] 1.错误报告收集以及预处理
[0031] 所有的错误报告由众测平台召集的参与众测的人员提供。错误报告分为四部分: 运行环境、输入、输出、详细描述。其中,输入和详细描述本发明是本发明进行排序的主依 据,错误报告中的运行环境和输出主要用于专业测试人员的审查。获得了错误报告后,进行 后期处理。
[0032] 本发明中错误报告收集时,统一定义为{E,I,0, D}的格式。其中E为测试环境, 包括硬件参数、软件设置等等;I为测试输入信息,包括输入数据、操作步骤等;〇为测试输 出信息,除文本外还包括必要的截图;D为测试描述,用来帮助测试人员理解软件错误。错 误报告由众测人员通过网络进行提交。收集完所有的错误报告后,对不符合规范的测试报 告视情况进行调整或舍弃。在此阶段应当以错误报告格式的统一性与尽可能大的数据量为 预处理目标。
[0033] 2.自然语言分析
[0034]由于错误报告采用自然语言,获得了错误报告后,应当首先进行对自然语言的处 理。自然语言处理又分为四个部分:分词、同义词替换、关键词抽取和建立关键词向量模型。
[0035] 分词是自然语言处理的第一步,对于中文语言而言,它将汉字序列切分为一个个 标记了词性的词组。具体地,本发明运用了 ICTCLAS中文自然语言处理引擎来完成分词工 作。同样,除中文以外的其
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1