CN113268419B - 测试用例优化信息的生成方法、装置、设备和存储介质 - Google Patents

测试用例优化信息的生成方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN113268419B
CN113268419B CN202110547643.8A CN202110547643A CN113268419B CN 113268419 B CN113268419 B CN 113268419B CN 202110547643 A CN202110547643 A CN 202110547643A CN 113268419 B CN113268419 B CN 113268419B
Authority
CN
China
Prior art keywords
keywords
information
vulnerability information
test case
vulnerability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110547643.8A
Other languages
English (en)
Other versions
CN113268419A (zh
Inventor
王文晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202110547643.8A priority Critical patent/CN113268419B/zh
Publication of CN113268419A publication Critical patent/CN113268419A/zh
Application granted granted Critical
Publication of CN113268419B publication Critical patent/CN113268419B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3628Software debugging of optimised code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种测试用例优化信息的生成方法、装置、设备和存储介质。该方法包括:获取测试用例对应的被测代码的漏洞信息;对漏洞信息进行分词处理,在分词处理后的漏洞信息中过滤掉停用词,得到漏洞信息的关键词;根据关键词在漏洞信息中的出现词频以及出现位置,生成测试用例优化信息。本申请从被测代码的漏洞信息开始着手,过滤出漏洞信息中的关键词,根据关键词在漏洞信息中的出现词频和出现位置,生成测试用例优化信息。在生成测试用例之后,可以参考测试用例优化信息来对测试用例进行优化,使得测试用例的优化过程更加客观,更加科学,有利于发现测试盲点,避免在测试用例中遗漏测试关注点,使得测试用例的优化过程更加全面。

Description

测试用例优化信息的生成方法、装置、设备和存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种测试用例优化信息的生成方法、装置、设备和存储介质。
背景技术
测试用例(Test case),是指对软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。在软件测试行业中,如何优化测试用例,进而保证测试用例能够尽量覆盖全部的测试场景是测试人员的重要工作。
目前,优化测试用例的方式主要分为两个大类。
第一类:从流程上对测试用例进行优化。例如:对参与软件产品设计、开发等环节的员工进行培训,使这些员工一同进行测试用例的评审等工作,编写测试用例的各个环节并对测试用例进行调整。
第二类:从技术上对测试用例进行优化。分析软件产品的代码,对代码执行功能分支遍历,针对代码的各个功能分支的特点生成测试用例,测试人员通过以往的测试用例编写经验对测试用例进行优化。
但是,目前的测试用例优化方式都离不开测试人员的测试经验,使得测试用例的优化都过于主观,测试结果具有局限性并且可靠性不高。如果测试人员经验不足,对测试细节考虑不周,将会影响软件产品的测试效果。
发明内容
本申请提供了一种测试用例优化信息的生成方法、装置、设备和存储介质,以解决现有测试用例的优化都离不开测试人员的测试经验,使得实测用例的优化过于主观的问题。
为了解决上述技术问题,本申请是通过以下技术方案来解决的:
本申请实施例提供了一种测试用例优化信息的生成方法,包括:获取测试用例对应的被测代码的漏洞信息;对所述漏洞信息进行分词处理,并且在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词;根据所述关键词在所述漏洞信息中的出现词频以及出现位置,生成测试用例优化信息。
其中,所述获取测试用例对应的被测代码的漏洞信息,包括:利用预设的抽取脚本,在开发管理工具中,获取预设时间段内提交的漏洞信息;其中,所述开发管理工具用于记录测试用例对应的被测代码的漏洞信息。
其中,所述在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词,包括:获取预设的基础停用词以及所述被测代码对应的描述信息;在所述被测代码对应的描述信息中,提取描述关键词作为干扰停用词;在分词处理后的所述漏洞信息中,过滤掉所述基础停用词以及所述干扰停用词,得到所述漏洞信息的关键词。
其中,所述对所述漏洞信息进行分词处理,并且在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词,包括:将所述漏洞信息输入分词模型,获取所述分词模型输出的所述漏洞信息的关键词;其中,所述分词模型是通过预先训练得到的;所述分词模型用于:对所述漏洞信息进行分词处理,并且在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词。
其中,所述关键词的数量为多个;所述根据所述关键词在所述漏洞信息中的出现词频以及出现位置,生成测试用例优化信息,包括:按照出现词频从大到小的顺序,对多个所述关键词进行排序,获取排序结果中的前N个所述关键词;根据前N个所述关键词分别在所述漏洞信息中的出现位置,确定前N个所述关键词中的任意两个所述关键词的关联程度;根据前N个所述关键词中每个所述关键词的出现词频以及任意两个所述关键词的关联程度,生成前N个所述关键词对应的关系网图,将所述关系网图作为测试用例优化信息。
其中,所述根据前N个所述关键词分别在所述漏洞信息中的出现位置,确定前N个所述关键词中的任意两个所述关键词的关联程度,包括:针对任意两个所述关键词,根据两个所述关键词分别在所述漏洞信息中的出现位置,确定同时包括两个所述关键词的关键词链个数;所述漏洞信息包括至少一个漏洞描述;每个所述关键词链由一个漏洞描述的关键词形成;根据同时包括两个所述关键词的关键词链的个数,确定两个所述关键词的关联程度;所述根据前N个所述关键词中每个所述关键词的出现词频以及任意两个所述关键词的关联程度,生成前N个所述关键词对应的关系网图,包括:在前N个所述关键词中,根据每个所述关键词的出现词频,设置所述关键词的显示样式;在前N个所述关键词中,连接关联程度大于预设值的两个所述关键词;在建立连接的两个所述关键词中,根据两个所述关键词的关联程度,设置两个所述关键词之间的连接线的显示样式。
其中,在所述生成测试用例优化信息之后,所述方法还包括:根据所述关键词本次的出现词频和前次的出现词频,确定所述关键词的词频变化量;在所述关键词的词频变化量大于预设的变化量阈值时,为所述关键词对应生成优化告警信息。
本申请实施例还提供了一种测试用例优化信息的生成装置,包括:获取模块,用于获取测试用例对应的被测代码的漏洞信息;分词模块,用于对所述漏洞信息进行分词处理,并且在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词;生成模块,用于根据所述关键词在所述漏洞信息中的出现词频以及出现位置,生成测试用例优化信息。
本申请实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的测试用例优化信息的生成方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的测试用例优化信息的生成方法的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例从被测代码的漏洞信息开始着手,过滤出漏洞信息中的关键词,根据关键词在漏洞信息中的出现词频和出现位置,确定关键词的重要性,生成测试用例优化信息。在生成测试用例之后,可以参考测试用例优化信息来对测试用例进行优化,使得测试用例的优化过程更加客观,更加科学,有利于发现测试盲点,避免在测试用例中遗漏测试关注点,使得测试用例的优化过程更加全面。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请一实施例的测试用例优化信息的生成方法的流程图;
图2是根据本申请一实施例的测试用例优化信息的生成方法的流程图;
图3是根据本申请一实施例的分词模型的工作过程示意图;
图4是根据本申请一实施例的关系网图的示意图;
图5是根据本申请一实施例的测试用例优化信息的生成装置的结构图;
图6是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种测试用例优化信息的生成方法。图1为本申请实施例提供的一种测试用例优化信息的生成方法的流程图。
步骤S110,获取测试用例对应的被测代码的漏洞信息。
被测代码,是指需要使用测试用例进行测试的软件产品。
漏洞信息,是指被测代码的缺陷。测试用例可以测试被测代码的漏洞信息。被测代码的漏洞信息包括至少一个漏洞描述。每个漏洞描述用于记录一个漏洞(bug)的信息。
具体而言,可以获取多个测试用例分别对应的被测代码的漏洞信息,或者,获取一个测试用例对应的被测代码的漏洞信息,或者,在预设类型的被测代码中,获取多个测试用例分别对应的被测代码的漏洞信息。被测代码的类型可以根据需求而定,例如:快照类被测代码,视频分发类被测代码等等。
进一步地,可以利用预设的抽取脚本,在开发管理工具中,获取预设时间段内提交的漏洞信息;其中,所述开发管理工具用于记录测试用例对应的被测代码的漏洞信息。进一步地,开发管理工具用于记录多个测试用例分别对应的被测代码的漏洞信息。
开发管理工具的种类包括但不限于JIRA工具。JIRA是项目与事务跟踪的工具,应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域,应用于项目(软件产品)整个生命周期的管理工作。
在获取多个被测代码的漏洞信息时,可以确定多个被测代码的共性特征,根据该共性特征,可以对不同的测试用例进行优化。在获取一个被测代码的漏洞信息时,可以确定该被测代码的个性特征,根据该个性特征,对该被测代码的测试用例进行有针对性的优化。
步骤S120,对所述漏洞信息进行分词处理,并且在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词。
停用词(Stop Words),是指在处理漏洞信息之前需要去掉的字或词。
停用词的种类,包括:基础停用词和/或干扰停用词。
基础停用词,是指通用的停用词。进一步地,基础停用词的种类,包括但不限于:标点停用词和连接词语停用词。标点停用词例如是:逗号(,),句号(。)等标点符号。连接词语停用词例如是:是,不是,的,得等没有实质意义的动词和形容词。
干扰停用词,是指用于描述被测代码的关键词。进一步地,干扰停用词可以在被测代码的描述信息中提取。
利用预设的分词工具,对漏洞信息进行分词处理,得到多个分词,在该多个分词中去除停用词(基础停用词和干扰停用词),将剩余的分词作为该漏洞信息的关键词。
进一步地,该分词工具的种类包括但不限于:结巴分词。
进一步地,漏洞信息包括至少一个漏洞描述。在对漏洞信息进行分词处理之后,每个漏洞描述对应一个分词列表,该分词列表中包括多个分词,在过滤掉该多个分词中的停用词之后,剩余的分词作为一个关键词链。
下面提供三种过滤停用词的方式,但是本领域技术人员应当知道的是,以下三种方式仅用于说明本申请实施例,而不用于限定本实施例。
方式一,获取预设的基础停用词;在分词处理后的所述漏洞信息中,过滤掉所述基础停用词,得到所述漏洞信息的关键词。
方式二,获取预设的基础停用词以及所述被测代码对应的描述信息;在所述被测代码对应的描述信息中,提取描述关键词作为干扰停用词;在分词处理后的所述漏洞信息中,过滤掉所述基础停用词以及所述干扰停用词,得到所述漏洞信息的关键词。进一步地,可以利用预设的关键词提取算法,在被测代码对应的描述信息中提取描述关键词。当然,也可以对被测代码对应的描述信息进行分词处理,在得到的分词中去掉基础停用词,得到描述关键词。
方式三,将所述漏洞信息输入分词模型,获取所述分词模型输出的所述漏洞信息的关键词。其中,所述分词模型是通过预先训练得到的;所述分词模型用于:对所述漏洞信息进行分词处理,并且在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词。
在本实施例中,如果不限制被测代码的类型,获取多个被测代码的漏洞信息,那么在过滤关键词时,可以在每个被测代码的描述信息中提取描述关键词,由于这些描述关键词与被测代码的相关性较高,所以为了确定多个被测代码的共性特征,需要在多个漏洞信息的分词中去掉这些描述关键词,以体现关键词的共性。
在本实施例中,如果获取预设类型的被测代码的漏洞信息,可以设置关键词白名单,在过滤漏洞信息中的关键词时,在漏洞信息的分词中保留关键词白名单中的分词,作为漏洞信息的关键词。关键词白名单用于记录被测代码的类型对应的保留分词。例如:由于在快照类被测代码中“快照”属于重要词语,所以在快照类被测代码的漏洞信息的分词中可以保留“快照”这一分词,将“快照”作为一个关键词,以便确保过滤出的关键词能够覆盖被测代码的方方面面。
步骤S130,根据所述关键词在所述漏洞信息中的出现词频以及出现位置,生成测试用例优化信息。
出现词频,是指关键词在漏洞信息中的出现次数。
出现位置,是指关键词在漏洞信息中所在的关键词链。漏洞信息包括至少一个漏洞描述。漏洞信息再被分词处理之后,每个漏洞描述中的分词组成一个关键词链。
漏洞信息中的关键词的数量为多个。按照出现词频从大到小的顺序,对多个所述关键词进行排序,获取排序结果中的前N个所述关键词,N为大于1的正整数;根据前N个所述关键词分别在所述漏洞信息中的出现位置,确定前N个所述关键词中的任意两个所述关键词的关联程度;根据前N个所述关键词中每个所述关键词的出现词频以及任意两个所述关键词的关联程度,生成前N个所述关键词对应的关系网图,将所述关系网图作为测试用例优化信息。
两个所述关键词的关联程度用于反映两个关键词同时出现在一个关键词链的频率。
在本实施例中,在生成测试用例优化信息之后,在预设的显示器中显示该测试用例优化信息,以便测试人员可以直观地看到该测试用例优化信息,对测试用例进行优化。
在本实施例中,在生成测试用例优化信息之后,还可以根据所述关键词本次的出现词频和前次的出现词频,确定所述关键词的词频变化量;在所述关键词的词频变化量大于预设的变化量阈值时,为所述关键词对应生成优化告警信息。如果同一个关键词的词频变化量较大,说明该关键词的bug突然增多,需要针对该bug调整测试用例。
在本实施例中,从被测代码的漏洞信息开始着手,过滤出漏洞信息中的关键词,根据关键词在漏洞信息中的出现词频和出现位置,确定关键词的重要性,生成测试用例优化信息。在生成测试用例之后,可以参考测试用例优化信息来对测试用例进行优化,使得测试用例的优化过程更加客观,更加科学,有利于发现测试盲点,避免在测试用例中遗漏测试关注点,使得测试用例的优化过程更加全面。
在本实施例中,通过测试用例优化信息可以确定最近一段时间(如一年)内经常提及的问题区域是哪里,即词频最高的关键词,针对该关键词调整测试用例,以便在之后的测试过程中重点关注该关键词的内容,而且收集的漏洞信息越多,测试用例优化信息越准确。
在本实施例中,可以将测试用例优化信息可视化为关系网图,用户通过关系网图可以看出测试模块之间的联系,根据关系网图中出现的关键词之间的关系,补充多测试模块之间的关联测试。
在本实施例中,可以关注关系网图中最近突然词频增高的关键词,因此这部分关键词是出错频率较高区域,针对这部分关键词可以优化测试用例,以便进行专项测试。
下面提供一个较为具体的实施例,来对本申请的测试用例优化信息的生成方法进行进一步地描述。图2是根据本申请一实施例的测试用例优化信息的生成方法的流程图。
步骤S210,利用抽取脚本,在开发管理工具中,获取预设时间段内提交的被测代码的漏洞信息和描述信息。
抽取脚本,用于按照预设的调用方式和路径,获取预设时间段内提交的被测代码的漏洞信息和描述信息。
在本实施例中,开发管理工具可以是JIRA工具。通过抽取脚本从JIRA工具中抽取在预设时间段内,所有测试人员在测试过程中提交的被测代码的漏洞信息和描述信息。
被测代码的漏洞信息包括至少一个漏洞描述。漏洞描述可以是bug的概要信息。
被测代码的描述信息可以是软件产品的关键信息。
预设时间段的时间终点可以为当前时间,时间起点可以根据需求而定。
具体而言,可以通过python脚本登录到JIRA工具中,基于JIRA工具的openAPI接口,使用搜索语句获取预设时间段内提交的被测代码的漏洞信息和描述信息。
由于软件产品更新速度较快,时间较早的bug价值不高,因此本实施例获取预设时间段内提交的漏洞信息。
由于软件产品的关键信息会出现在漏洞信息中,这样,描述信息中的描述关键词会出现在漏洞信息中,而且描述关键词的出现频率会较高且无意义,需要将这部分描述关键词从漏洞信息中过滤掉。
步骤S220,将所述漏洞信息输入预先训练完成的分词模型,获取所述分词模型输出的所述漏洞信息中的多个关键词。
在将漏洞信息输入分词模型之前,需要预先对分词模型进行训练,使分词模型收敛。
分词模型,可以是基于结巴分词算法构建的模型。
训练分词模型的步骤包括:获取历史测试信息;历史测试信息包括:被测代码对应的漏洞信息和描述信息;将历史测试信息输入分词模型;分词模型对漏洞信息进行分词处理,将预设的基础停用词库和历史测试信息中的描述信息作为基础信息,在分词处理后的所述漏洞信息中,过滤出漏洞信息的关键词。进一步地,漏洞信息的关键词为已知信息,利用预设的损失函数比较分词模型过滤出的关键词与已知信息中的关键词,确定分词模型的损失值,在分词模型的损失值小于预设的损失阈值的情况下,确定分词模型已经收敛,反之,获取下一个历史测试信息,再次对分词模型进行训练,直到分词模型收敛为止。
如图3所示,为根据本申请一实施例的分词模型的工作过程示意图。先将漏洞信息(本例为一个漏洞描述)“【快照商业化二期】快照链页面,在本地盘界面通过id可搜索到云硬盘的快照链,云硬盘界面可搜索到本地盘快照链”输入分词模型。分词模型将该漏洞描述进行分词处理,得到“【快照商业化二期】快照链页面,在本地盘界面通过id可搜索到云硬盘的快照链,云硬盘界面可搜索到本地盘快照链”。基本停用词包括:“链”,“在”,“本”,“可”,“到”,“云”,“的”。被测代码的描述关键词包括:“商业化”,“二期”。在分词中去掉基本停用词和描述关键词可以得到关键词链“快照”,“硬盘”,“界面”,“地盘”,“搜索”,“id”,“页面”和“通过”。
进一步地,在使用分词模型过滤漏洞信息中的关键词时,可以通过训练分词模型,使得分词模型根据被测代码的描述信息,识别被测代码的类型,并且学习该被测代码的类型对应的保留分词,以便对分词模型训练结束之后,分词模型可以在分词中保留被测代码的类型对应的保留分词。本实施例通过训练分词模型的方式,可以使分词模型学习获得关键词白名单。
步骤S230,按照出现词频从大到小的顺序,对多个所述关键词进行排序,获取排序结果中的前N个所述关键词。
确定每个关键词在漏洞信息中的出现次数(出现词频),并按照出现次数从大到小的顺序,对多个关键词进行排序,并获取前N个关键词。
步骤S240,根据前N个所述关键词分别在所述漏洞信息中的出现位置,确定前N个所述关键词中的任意两个所述关键词的关联程度;根据前N个所述关键词中每个所述关键词的出现词频以及任意两个所述关键词的关联程度,生成前N个所述关键词对应的关系网图。
在本实施例中,调用预设的关系网图生成算法,使所述关系网图算法根据前N个所述关键词分别在所述漏洞信息中的出现位置,确定前N个所述关键词中的任意两个所述关键词的关联程度,并且根据前N个所述关键词中的任意两个所述关键词的关联程度,生成前N个所述关键词对应的关系网图。
关系网图生成算法,包括但不限于:Python的network包。
关系网图可以是有向无环图(Directed acyclic graph,简称DAG)
所述根据前N个所述关键词分别在所述漏洞信息中的出现位置,确定前N个所述关键词中的任意两个所述关键词的关联程度,包括:针对任意两个所述关键词,根据两个所述关键词分别在所述漏洞信息中的出现位置,确定同时包括两个所述关键词的关键词链(或者漏洞描述)个数。所述漏洞信息包括至少一个漏洞描述;每个所述关键词链由一个漏洞描述的关键词形成;根据同时包括两个所述关键词的关键词链的个数,确定两个所述关键词的关联程度。
进一步地,可以直接将同时包括两个所述关键词的关键词链的个数,确定为两个所述关键词的关联程度。
所述根据前N个所述关键词中的任意两个所述关键词的关联程度,生成前N个所述关键词对应的关系网图,包括:在前N个所述关键词中,根据每个所述关键词的出现词频,设置所述关键词的显示样式;在前N个所述关键词中,连接关联程度大于预设值的两个所述关键词;在建立连接的两个所述关键词中,根据两个所述关键词的关联程度,设置两个所述关键词之间的连接线的显示样式。进一步地,该预设值可以是0。
关键词的显示样式可以是用于显示该关键词的文本框的形状和大小。
关键词之间的连接线的显示样式可以是该连接线的线型和线粗。
进一步地,两个关键词的出现词频越大,用于显示关键词的文本框越大,两个关键词之间的连接线越粗。相反的,两个关键词的关联程度越小,用于显示关键词的文本框越小,两个关键词之间的连接线越细。
例如:如图4所示,是根据本申请一实施例的关系网图的示意图。在该关系网图中,“实例”的出现词频最大,所以“实例”的文本框最大,“快照”和“硬盘”之间的关联程度最大,所以“快照”和“硬盘”之间的连续最粗。
在本申请实施例中,在获得关系网图之后,可以在预设的显示器中显示该关系网图,用户可以在显示器中直观地看到该关系网图,从而激发测试人员的思路,弥补测试用例的细节。后续测试用例编写和优化时,可以根据关系网图找到与软件产品相关的关键词,从而补充测试思路,优化测试用例;根据关系网图也可用于分析bug中最常出现的场景,从而设定专项测试计划。
为了使分词模型的分词处理更加准确,本申请实施例可以对基础停用词进行更新。在更新基础停用词时,可以增加自定义词语。该自定义词语可以是分词模型容易分词错误的词语,以便降低分词模型的分词错误率。本申请实施例还可以为分词模型提供通过云计算获得的基础停用词库,提高分词模型的分词能力。
为了使分词模型输出的关键词更加准确,本申请实施例的训练过程可以持续迭代,定期运行,利用新增的测试信息进一步训练分词模型,并且可以利用新增的测试信息补充新的关键词,更新关系网图。在分词模型准确率不高的情况下,可以选择不同的算法和分词逻辑,来调整分词模型以及分词模型的分词粒度。
本申请实施例还提供了一种测试用例优化信息的生成装置。如图5所示,是根据本申请一实施例的测试用例优化信息的生成装置的结构图。
该测试用例优化信息的生成装置,包括:获取模块510,分词模块520和生成模块530。
获取模块510,用于获取测试用例对应的被测代码的漏洞信息。
分词模块520,用于对所述漏洞信息进行分词处理,并且在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词。
生成模块530,用于根据所述关键词在所述漏洞信息中的出现词频以及出现位置,生成测试用例优化信息。
本申请实施例所述的装置的功能已经在上述方法实施例中进行了描述,故本申请实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
如图6所示,本申请实施例提供了一种电子设备,包括处理器610、通信接口620、存储器630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。
存储器630,用于存放计算机程序。
在本申请一个实施例中,处理器610,用于执行存储器630上所存放的程序时,实现前述任意一个方法实施例提供的测试用例优化信息的生成方法,包括:获取测试用例对应的被测代码的漏洞信息;对所述漏洞信息进行分词处理,并且在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词;根据所述关键词在所述漏洞信息中的出现词频以及出现位置,生成测试用例优化信息。
其中,所述获取测试用例对应的被测代码的漏洞信息,包括:利用预设的抽取脚本,在开发管理工具中,获取预设时间段内提交的漏洞信息;其中,所述开发管理工具用于记录测试用例对应的被测代码的漏洞信息。
其中,所述在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词,包括:获取预设的基础停用词以及所述被测代码对应的描述信息;在所述被测代码对应的描述信息中,提取描述关键词作为干扰停用词;在分词处理后的所述漏洞信息中,过滤掉所述基础停用词以及所述干扰停用词,得到所述漏洞信息的关键词。
其中,所述对所述漏洞信息进行分词处理,并且在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词,包括:将所述漏洞信息输入分词模型,获取所述分词模型输出的所述漏洞信息的关键词;其中,所述分词模型是通过预先训练得到的;所述分词模型用于:对所述漏洞信息进行分词处理,并且在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词。
其中,所述关键词的数量为多个;所述根据所述关键词在所述漏洞信息中的出现词频以及出现位置,生成测试用例优化信息,包括:按照出现词频从大到小的顺序,对多个所述关键词进行排序,获取排序结果中的前N个所述关键词;根据前N个所述关键词分别在所述漏洞信息中的出现位置,确定前N个所述关键词中的任意两个所述关键词的关联程度;根据前N个所述关键词中每个所述关键词的出现词频以及任意两个所述关键词的关联程度,生成前N个所述关键词对应的关系网图,将所述关系网图作为测试用例优化信息。
其中,所述根据前N个所述关键词分别在所述漏洞信息中的出现位置,确定前N个所述关键词中的任意两个所述关键词的关联程度,包括:针对任意两个所述关键词,根据两个所述关键词分别在所述漏洞信息中的出现位置,确定同时包括两个所述关键词的关键词链个数;所述漏洞信息包括至少一个漏洞描述;每个所述关键词链由一个漏洞描述的关键词形成;根据同时包括两个所述关键词的关键词链的个数,确定两个所述关键词的关联程度;所述根据前N个所述关键词中每个所述关键词的出现词频以及任意两个所述关键词的关联程度,生成前N个所述关键词对应的关系网图,包括:在前N个所述关键词中,根据每个所述关键词的出现词频,设置所述关键词的显示样式;在前N个所述关键词中,连接关联程度大于预设值的两个所述关键词;在建立连接的两个所述关键词中,根据两个所述关键词的关联程度,设置两个所述关键词之间的连接线的显示样式。
其中,在所述生成测试用例优化信息之后,所述方法还包括:根据所述关键词本次的出现词频和前次的出现词频,确定所述关键词的词频变化量;在所述关键词的词频变化量大于预设的变化量阈值时,为所述关键词对应生成优化告警信息。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的测试用例优化信息的生成方法的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种测试用例优化信息的生成方法,其特征在于,包括:
获取测试用例对应的被测代码的漏洞信息;
对所述漏洞信息进行分词处理,并且在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词;
根据所述关键词在所述漏洞信息中的出现词频以及出现位置,生成测试用例优化信息。
2.根据权利要求1所述的方法,其特征在于,所述获取测试用例对应的被测代码的漏洞信息,包括:
利用预设的抽取脚本,在开发管理工具中,获取预设时间段内提交的漏洞信息;其中,所述开发管理工具用于记录测试用例对应的被测代码的漏洞信息。
3.根据权利要求1所述的方法,其特征在于,所述在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词,包括:
获取预设的基础停用词以及所述被测代码对应的描述信息;
在所述被测代码对应的描述信息中,提取描述关键词作为干扰停用词;
在分词处理后的所述漏洞信息中,过滤掉所述基础停用词以及所述干扰停用词,得到所述漏洞信息的关键词。
4.根据权利要求1所述的方法,其特征在于,所述对所述漏洞信息进行分词处理,并且在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词,包括:
将所述漏洞信息输入分词模型,获取所述分词模型输出的所述漏洞信息的关键词;其中,所述分词模型是通过预先训练得到的;所述分词模型用于:对所述漏洞信息进行分词处理,并且在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词。
5.根据权利要求1所述的方法,其特征在于,所述关键词的数量为多个;所述根据所述关键词在所述漏洞信息中的出现词频以及出现位置,生成测试用例优化信息,包括:
按照出现词频从大到小的顺序,对多个所述关键词进行排序,获取排序结果中的前N个所述关键词;
根据前N个所述关键词分别在所述漏洞信息中的出现位置,确定前N个所述关键词中的任意两个所述关键词的关联程度;
根据前N个所述关键词中每个所述关键词的出现词频以及任意两个所述关键词的关联程度,生成前N个所述关键词对应的关系网图,将所述关系网图作为测试用例优化信息。
6.根据权利要求5所述的方法,其特征在于,
所述根据前N个所述关键词分别在所述漏洞信息中的出现位置,确定前N个所述关键词中的任意两个所述关键词的关联程度,包括:
针对任意两个所述关键词,根据两个所述关键词分别在所述漏洞信息中的出现位置,确定同时包括两个所述关键词的关键词链个数;所述漏洞信息包括至少一个漏洞描述;每个所述关键词链由一个漏洞描述的关键词形成;
根据同时包括两个所述关键词的关键词链的个数,确定两个所述关键词的关联程度;
所述根据前N个所述关键词中每个所述关键词的出现词频以及任意两个所述关键词的关联程度,生成前N个所述关键词对应的关系网图,包括:
在前N个所述关键词中,根据每个所述关键词的出现词频,设置所述关键词的显示样式;
在前N个所述关键词中,连接关联程度大于预设值的两个所述关键词;
在建立连接的两个所述关键词中,根据两个所述关键词的关联程度,设置两个所述关键词之间的连接线的显示样式。
7.根据权利要求1-6中任一项所述的方法,其特征在于,在所述生成测试用例优化信息之后,所述方法还包括:
根据所述关键词本次的出现词频和前次的出现词频,确定所述关键词的词频变化量;
在所述关键词的词频变化量大于预设的变化量阈值时,为所述关键词对应生成优化告警信息。
8.一种测试用例优化信息的生成装置,其特征在于,包括:
获取模块,用于获取测试用例对应的被测代码的漏洞信息;
分词模块,用于对所述漏洞信息进行分词处理,并且在分词处理后的所述漏洞信息中过滤掉停用词,得到所述漏洞信息的关键词;
生成模块,用于根据所述关键词在所述漏洞信息中的出现词频以及出现位置,生成测试用例优化信息。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一项所述的测试用例优化信息的生成方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的测试用例优化信息的生成方法的步骤。
CN202110547643.8A 2021-05-19 2021-05-19 测试用例优化信息的生成方法、装置、设备和存储介质 Active CN113268419B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110547643.8A CN113268419B (zh) 2021-05-19 2021-05-19 测试用例优化信息的生成方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110547643.8A CN113268419B (zh) 2021-05-19 2021-05-19 测试用例优化信息的生成方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN113268419A CN113268419A (zh) 2021-08-17
CN113268419B true CN113268419B (zh) 2024-04-09

Family

ID=77231908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110547643.8A Active CN113268419B (zh) 2021-05-19 2021-05-19 测试用例优化信息的生成方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN113268419B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114490316B (zh) * 2021-12-16 2023-04-18 四川大学 一种基于损失函数的单元测试用例自动生成方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062794A (zh) * 2018-07-24 2018-12-21 北京奇艺世纪科技有限公司 一种软件测评结果的确定方法、装置及电子设备
CN109947654A (zh) * 2019-03-28 2019-06-28 上海连尚网络科技有限公司 用于测试用例库自动更新的方法与设备
WO2019214149A1 (zh) * 2018-05-11 2019-11-14 平安科技(深圳)有限公司 文本关键信息的识别方法、电子装置及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019214149A1 (zh) * 2018-05-11 2019-11-14 平安科技(深圳)有限公司 文本关键信息的识别方法、电子装置及可读存储介质
CN109062794A (zh) * 2018-07-24 2018-12-21 北京奇艺世纪科技有限公司 一种软件测评结果的确定方法、装置及电子设备
CN109947654A (zh) * 2019-03-28 2019-06-28 上海连尚网络科技有限公司 用于测试用例库自动更新的方法与设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
尤枫 ; 王维扬 ; 尚颖 ; .基于模型的Web应用二阶SQL注入测试用例集生成.计算机系统应用.2020,(第08期),全文. *

Also Published As

Publication number Publication date
CN113268419A (zh) 2021-08-17

Similar Documents

Publication Publication Date Title
CN111459700B (zh) 设备故障的诊断方法、诊断装置、诊断设备及存储介质
TWI723528B (zh) 電腦執行的事件風險評估方法及裝置、電腦可讀儲存媒體以及計算設備
CN107145445B (zh) 软件自动化测试的报错日志的自动分析方法和系统
US9536200B2 (en) Sentiment analysis of data logs
CN108182175B (zh) 一种文本质量指标获取方法及装置
CN113010389B (zh) 一种训练方法、故障预测方法、相关装置及设备
CN109063433B (zh) 虚假用户的识别方法、装置及可读存储介质
CN111796957B (zh) 基于应用日志的交易异常根因分析方法及系统
CN112685324A (zh) 一种生成测试方案的方法及系统
CN111160329A (zh) 一种根因分析的方法及装置
CN113268419B (zh) 测试用例优化信息的生成方法、装置、设备和存储介质
CN111045902A (zh) 服务器的压力测试方法及装置
CN115063035A (zh) 基于神经网络的客户评估方法、系统、设备及存储介质
CN114416573A (zh) 一种应用程序的缺陷分析方法、装置、设备及介质
CN110827049A (zh) 一种数据推送方法及装置
CN116302984A (zh) 一种测试任务的根因分析方法、装置及相关设备
Eken et al. Predicting defects with latent and semantic features from commit logs in an industrial setting
CN110808947A (zh) 一种自动化的脆弱性量化评估方法及系统
CN113065329A (zh) 数据的处理方法和装置
CN115576834A (zh) 支撑故障还原的软件测试复用方法、系统、终端及介质
CN115859191A (zh) 故障诊断方法、装置、计算机可读存储介质及计算机设备
CN113628077B (zh) 生成不重复考题的方法、终端及可读存储介质
CN111538669B (zh) 一种基于历史问题回溯分析的测试案例抽取方法及装置
CN114860617A (zh) 一种智能压力测试方法及系统
CN111008140B (zh) 一种跨平台的ui自动化测试方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant