CN114416573A - 一种应用程序的缺陷分析方法、装置、设备及介质 - Google Patents
一种应用程序的缺陷分析方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114416573A CN114416573A CN202210073094.XA CN202210073094A CN114416573A CN 114416573 A CN114416573 A CN 114416573A CN 202210073094 A CN202210073094 A CN 202210073094A CN 114416573 A CN114416573 A CN 114416573A
- Authority
- CN
- China
- Prior art keywords
- defect
- application program
- target application
- log
- training set
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种应用程序的缺陷分析方法、装置、设备及介质。该方法包括:当平台即服务系统中存在发生缺陷的目标应用程序时,获取平台即服务系统对应的缺陷日志及目标应用程序编号及目标应用程序发生缺陷的时间戳信息;利用目标应用程序编号及目标应用程序发生缺陷的时间戳信息在缺陷日志中进行关键字匹配,得到缺陷日志中目标应用程序的缺陷特征,并将缺陷特征进行组合生成目标应用程序的缺陷特征向量;将目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中,输出目标应用程序对应的缺陷解决方案。通过本发明实施例的技术方案,能够实现自动定位应用程序的缺陷并输出对应的缺陷解决方案,减小了工作量,提高了测试效率。
Description
技术领域
本发明实施例涉及缺陷分析技术,尤其涉及一种应用程序的缺陷分析方法、装置、设备及介质。
背景技术
在基于平台即服务(Platform as a Service,PaaS)系统的终端设备测试应用程序的过程中,通常会出现应用程序存在缺陷,导致运行中断的情况发生。
现有技术中,测试人员或者开发人员一般采用人工查阅错误日志的方法来定位缺陷来源,并提出解决方案。然而,采用人工查阅错误日志的方法对测试人员或开发人员的专业性要求较高,并且增加了测试人员或开发人员的工作量,降低了测试的效率。因此,如何快速且准确地对应用程序中的缺陷进行定位及分析,降低测试人员或开发人员的工作量,并提高测试的效率是目前亟待解决的问题。
发明内容
本发明实施例提供一种应用程序的缺陷分析方法、装置、设备及介质,可以实现快速且准确地对应用程序中的缺陷进行定位及分析。
第一方面,本发明实施例提供了一种应用程序的缺陷分析方法,包括:
当平台即服务系统中存在发生缺陷的目标应用程序时,获取所述平台即服务系统对应的缺陷日志,并获取目标应用程序编号以及目标应用程序发生缺陷的时间戳信息;
利用所述目标应用程序编号以及目标应用程序发生缺陷的时间戳信息在所述缺陷日志中进行关键字匹配,得到缺陷日志中所述目标应用程序的缺陷特征,并将所述缺陷特征进行组合生成目标应用程序的缺陷特征向量;
将所述目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中,输出所述目标应用程序对应的缺陷解决方案。
第二方面,本发明实施例还提供了一种应用程序缺陷分析装置,该装置包括:
数据获取模块,用于当平台即服务系统中存在发生缺陷的目标应用程序时,获取所述平台即服务系统对应的缺陷日志,并获取目标应用程序编号以及目标应用程序发生缺陷的时间戳信息;
关键字匹配模块,用于利用所述目标应用程序编号以及目标应用程序发生缺陷的时间戳信息在所述缺陷日志中进行关键字匹配,得到缺陷日志中所述目标应用程序的缺陷特征,并将所述缺陷特征进行组合生成目标应用程序的缺陷特征向量;
缺陷分析模块,将所述目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中,输出所述目标应用程序对应的缺陷解决方案。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的应用程序的缺陷分析方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的应用程序的缺陷分析方法。
本发明实施例的技术方案通过利用目标应用程序编号以及目标应用程序发生缺陷的时间戳信息在缺陷日志中进行关键字匹配,得到缺陷日志中目标应用程序的缺陷特征,进而生成目标应用程序的缺陷特征向量,最后,将目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中,输出目标应用程序对应的缺陷解决方案,解决了现有技术中无法自动对应用程序的缺陷进行准确定位并提出对应缺陷解决方案的问题,实现了降低测试人员或开发人员的工作量,并提高测试效率的效果。
附图说明
图1是本发明实施例提供的一种应用程序的缺陷分析方法的流程图;
图2a是本发明实施例提供的一种应用程序的缺陷分析方法的流程图;
图2b是本发明实施例提供的一种优选的应用程序的缺陷分析方法流程的结构示意图;
图2c是本发明实施例提供的一种优选的应用程序的缺陷分析方法的流程图;
图3是本发明实施例提供的一种应用程序缺陷分析装置的结构示意图;
图4是本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
为保障应用程序的质量,在应用程序上线投入使用之前,需要测试和开发等人员配合对应用程序的各种使用场景进行测试,来发现客户在使用应用程序的过程中可能出现的一些缺陷,并分析缺陷原因提出缺陷解决方案,改进完善应用程序。
目前,在基于网点智能终端PaaS系统的终端设备上测试应用程序的过程中,测试或开发人员主要采用人工查阅错误日志的方法定位缺陷来源并提出对应的权限解决方案。常见的进行日志分析缺陷定位的方法主要有两种:关键词匹配法和机器学习方法。关键词匹配法需要将提取的缺陷日志关键字与规则数据库中的归类规则进行匹配,再通过关键词提取模块将缺陷日志中的关键词与通过问答信息获取模块得到的问题-答案信息进行匹配得到解决措施。机器学习方法分为监督类的方法和无监督类的方法,监督类的方法通过对被打上标签的日志数据集进行训练,从而实现对异常日志的自动识别检测;而无监督类的方法通过分析日志数据间的关联性,构建正常数据集范围,偏离这个范围的日志数据将被视为异常,即通过随机森林算法判断日志中是否存在异常。
然而,关键词匹配法未进一步探索缺陷与缺陷解决方案之间的潜在映射关系,得到的缺陷解决方案准确率不高。机器学习方法通常直接使用冗余且未加处理的日志数据集进行机器学习训练以构建数据模型,未提取日志中的有效信息,训练出的模型不一定可靠,且训练时间较长,不符合项目敏捷化的趋势。除此之外,现有方技术通常只判断缺陷所在的日志是否存在异常,为简单的二分类问题,无法自动输出缺陷对应的缺陷解决方案。因此,为解决现有技术无法自动对应用程序的缺陷进行准确定位并提出对应缺陷解决方案的问题,本发明实施例提出了一种应用程序的缺陷分析方法。
图1为本发明实施例提供的一种应用程序的缺陷分析方法的流程图,本实施例可适用于自动对应用程序的缺陷进行定位并提出对应缺陷解决方案的情况,该方法可以由应用程序缺陷分析装置来执行,该装置可采用硬件和/或软件的方式实现,并一般可以集成在计算机设备中。
如图1所示,本发明实施例提供的一种应用程序的缺陷分析方法包括以下具体步骤:
S110:当平台即服务系统中存在发生缺陷的目标应用程序时,获取所述平台即服务系统对应的缺陷日志,并获取目标应用程序编号以及目标应用程序发生缺陷的时间戳信息。
其中,目标应用程序可以指基于网点智能终端PaaS系统的终端设备上测试的超级柜台应用程序,超级柜台是软硬件集成的协同服务系统,是网点的运营基础设施之一,可以同时具有柜面和自助渠道的优势,运用智能化的客户识别、触摸技术以及视频传输等现代科技,构建起“客户自主办理、后台专业审核、自动触发账务”的新型业务处理模式,为客户提供多场景、智能化及移动化服务,以适应不同形势下的业务处理需求。发生缺陷的目标应用程序可以指在运行过程中出现中断现象的应用程序。缺陷日志可以指包含平台即服务系统中各个目标应用程序测试过程的日志文件。在一个可选的实施方式中,所述缺陷日志包括:缺陷发生时间点、缺陷发生时运行的应用程序编号、设备省市代码、设备号、应用程序名称、交易名称、交易码、错误信息或错误码。目标应用程序编号可以指目标应用程序的唯一编码(Identity Document,ID)。目标应用程序发生缺陷的时间戳信息可以指目标应用程序发生缺陷的起止时间点信息。
S120:利用所述目标应用程序编号以及目标应用程序发生缺陷的时间戳信息在所述缺陷日志中进行关键字匹配,得到缺陷日志中所述目标应用程序的缺陷特征,并将所述缺陷特征进行组合生成目标应用程序的缺陷特征向量。
其中,关键字匹配可以指将预设报错关键字如ERROR、目标应用程序编号以及目标应用程序发生缺陷的时间戳信息作为关键字,利用模式匹配算法在缺陷日志中匹配各关键字,以根据该关键字在缺陷日志中定位得到目标应用程序的缺陷位置。缺陷特征可以指缺陷日志中根据关键字所在位置定位得到的对应的特征,例如,交易码、错误信息和错误码。缺陷特征向量可以指由目标应用程序的各个缺陷特征组合生成的向量组。
S130:将所述目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中,输出所述目标应用程序对应的缺陷解决方案。
其中,预先设定的缺陷分析模型可以指根据预存的缺陷日志中的缺陷特征以及对应的缺陷解决方案经监督学习构建得到的决策树模型。
具体的,将目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中,即可在预先设定的缺陷分析模型中筛选出与目标应用程序的缺陷特征向量最匹配的预存缺陷特征向量,进而,将该预存缺陷特征向量对应的缺陷解决方案作为目标应用程序对应的缺陷解决方案,并进行输出以供测试或开发人员参考。
本发明实施例的技术方案通过利用目标应用程序编号以及目标应用程序发生缺陷的时间戳信息在缺陷日志中进行关键字匹配,得到缺陷日志中目标应用程序的缺陷特征,进而生成目标应用程序的缺陷特征向量,最后,将目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中,输出目标应用程序对应的缺陷解决方案,解决了现有技术中无法自动对应用程序的缺陷进行准确定位并提出对应缺陷解决方案的问题,实现了降低测试人员或开发人员的工作量,并提高测试效率的效果。
图2a为本发明实施例提供的一种应用程序的缺陷分析方法的流程图。在本实施例中,可选的,所述利用所述目标应用程序编号以及目标应用程序发生缺陷的时间戳信息在所述缺陷日志中进行关键字匹配,获取缺陷日志中所述目标应用程序的缺陷特征,并将所述缺陷特征进行组合生成目标应用程序的缺陷特征向量包括:基于目标应用程序发生缺陷的时间戳信息确定目标应用程序发生缺陷的起止时间位置,得到缩小范围后的目标缺陷日志;在所述目标缺陷日志中定位出预设报错关键字的位置;在所述目标缺陷日志中获取所述预设报错关键字的位置对应的存储内容,若所述存储内容中包含目标应用程序编号,提取存储内容中与所述目标应用程序编号对应的缺陷特征,生成所述目标应用程序的缺陷特征向量。
可选的,所述输出所述目标应用程序对应的缺陷解决方案包括:若目标应用程序的缺陷特征向量与目标子节点匹配,计算所述目标子节点对应的各缺陷解决方案在目标子节点对应的训练集的缺陷解决方案中的占比,将所述占比符合设定条件的缺陷解决方案作为所述目标应用程序对应的缺陷解决方案,并进行输出。
如图2a所示,本发明实施例提供的一种应用程序的缺陷分析方法包括以下具体步骤:
S210:当平台即服务系统中存在发生缺陷的目标应用程序时,获取所述平台即服务系统对应的缺陷日志,并获取目标应用程序编号以及目标应用程序发生缺陷的时间戳信息。
S220:基于目标应用程序发生缺陷的时间戳信息确定目标应用程序发生缺陷的起止时间位置,得到缩小范围后的目标缺陷日志。
其中,目标缺陷日志可以指利用目标应用程序发生缺陷的时间戳信息在缺陷日志中进行筛选,得到的仅包含目标应用程序发生缺陷的时间戳信息的缺陷日志。
示例性的,以目标应用程序发生缺陷的时间戳信息作为关键字模板,通过模式匹配算法在缺陷日志中定位该目标应用程序发生缺陷的起止时间位置,进而得到缩小范围后的目标缺陷日志。其中,模式匹配算法可以为KMP(Knuth-Morris-Pratt)算法、BM(Boyer-Moore)算法或Sunday算法;KMP算法是一个线性时间复杂度字符串匹配算法,在实际应用中,BM算法的效率可以达到KMP算法的四五倍,而Sunday算法的效率在BM算法之上,并且Sunday算法相比其它两种模式匹配算法更易于理解,更容易实现,对于大幅的程序运行缺陷日志,通过Sunday算法定位缺陷范围,提取缺陷特征可以具有更高的效率。因此,在本发明实施例中,优选使用Sunday算法作为模式配算法,以提高测试效率。
S230:在所述目标缺陷日志中定位出预设报错关键字的位置。
其中,预设报错关键字可以指预先设定的用以对报错位置进行定位的报错关键字,例如:ERROR关键字。
示例性的,以预设报错关键字作为关键字,通过模式匹配算法在目标缺陷日志中定位出预设报错关键字的位置,进而得到准确的缺陷特征存储位置。
由此,通过将缺陷日志进行两次的关键词提取再进行缺陷特征提取,可以去除缺陷特征中的冗余信息,提高了测试的效率。
S240:在所述目标缺陷日志中获取所述预设报错关键字的位置对应的存储内容,若所述存储内容中包含目标应用程序编号,提取存储内容中与所述目标应用程序编号对应的缺陷特征,生成所述目标应用程序的缺陷特征向量。
示例性的,首先获取第一个预设报错关键字的位置对应的存储内容,若存储内容中的应用程序编号与目标应用程序编号一致,则提取该存储内容中的交易码、错误信息或错误码作为目标应用程序的缺陷特征,进而将目标应用程序的各个缺陷特征组合,生成目标应用程序的缺陷特征向量;若存储内容中的应用程序编号与目标应用程序编号不一致,则跳转至下一个预设报错关键字的位置,重复执行获取预设报错关键字的位置对应的存储内容,并判断存储内容中的应用程序编号与目标应用程序编号是否一致的操作,直至预设报错关键字的位置对应的存储内容中的应用程序编号与目标应用程序编号一致,结束循环操作。
S250:将所述目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中,若目标应用程序的缺陷特征向量与预先设定的缺陷分析模型中的目标子节点匹配,计算所述目标子节点对应的各缺陷解决方案在目标子节点对应的训练集的缺陷解决方案中的占比,将所述占比符合设定条件的缺陷解决方案作为所述目标应用程序对应的缺陷解决方案,并进行输出。
其中,目标子节点可以指使用预先设定的缺陷分析模型做预测时,与目标应用程序的缺陷特征向量匹配的子节点。符合设定条件的缺陷解决方案可以指在占比中排名较前的缺陷解决方案,示例性的,在本发明实施例中将排名前三的缺陷解决方案作为目标应用程序对应的缺陷解决方案,使得开发或测试人员可以获取可能性最高的多个缺陷解决方案,为开发或测试人员提供了更多的参考依据。
在一个可选的实施方式中,本发明实施例的技术方案还包括:预先获取包含各类缺陷的预存缺陷日志以及对应的缺陷解决方案;通过模式匹配算法在所述预存缺陷日志中获取缺陷特征向量;将所述缺陷特征向量与所述缺陷解决方案结合,构建训练集;基于所述训练集构建决策树,得到预先设定的缺陷分析模型。其中,预存缺陷日志可以指预先收集存储的各个包含缺陷特征的缺陷日志。对应的缺陷解决方案可以指前期人工对预存缺陷日志进行分析得到的缺陷解决方案。训练集可以指包含预存缺陷日志以及对应的缺陷解决方案的数据集,通过利用该训练集进行监督学习可以构建决策树,得到预先设定的缺陷分析模型。
在另一个可选的实施方式中,所述基于所述训练集构建决策树,得到预先设定的缺陷分析模型包括:若当前节点对应的训练集的样本个数满足设定数量阈值,计算所述训练集的基尼系数;若所述训练集的基尼系数满足预设阈值,计算所述当前节点中各缺陷特征对应的各特征值对所述训练集的基尼系数;将基尼系数最小的特征值以及对应的缺陷特征作为最优特征值和最优特征,并依据所述最优特征值和最优特征将所述当前节点的训练集进行划分,得到各当前节点的子节点以及子节点对应的训练集;将每个所述子节点分别作为当前节点,返回执行若当前节点对应的训练集的样本个数满足设定数量阈值,计算所述训练集的基尼系数的操作,直至所述当前节点中缺陷特征对应的特征值存在一个,得到预先设定的缺陷分析模型。其中,决策树是一种常用的树形结构的机器学习方法,决策树中的每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,每个叶节点代表一种分类结果;决策树的生成主要分成两步,一是节点的分裂,一般当一个节点所代表的属性无法给出判断时,则选择将这个节点分为两个子节点(如不是二叉树的情况会分成多个子节点),二是阈值的确定,选择适当的阈值可以使得分类错误率最小;决策树的生成算法有ID3,C4.5以及分类回归树(Classification And Regression Tree,CART)等,其中ID3由增熵原理来决定哪个节点需要分裂;C4.5是对ID3进行的改进,以信息增益率选择需要分裂的节点;CART树是一棵二叉树即只能将一个父节点分为两个子节点,并且CART用基尼(Gini)指数来决定如何分裂,Gini系数越小,不纯度越低,特征越好,这和信息增益相反,使得CART树分类效果一般优于其他决策树。因此,本发明实施例优选CART树作为决策树,生成缺陷分析模型。
具体的,从根节点开始利用训练集建立决策树,首先,判断当前节点对应的训练集的样本个数是否满足设定数量阈值,若当前节点对应的训练集的样本个数不满足设定数量阈值,则当前节点结束递归操作;若当前节点对应的训练集的样本个数满足设定数量阈值,则利用公式计算所述训练集的基尼系数,其中,D为当前节点对应的训练集,训练集的个数为|D|,k为缺陷特征类别的个数,第k类别缺陷特征的数量为|Ck|,Gini(D)为当前节点对应的训练集的Gini系数;之后,对训练集的基尼系数进行判定,若训练集的基尼系数小于预设阈值,说明训练集基本属于同一缺陷特征类别,则返回决策树子节点,当前节点停止递归操作;若训练集的基尼系数大于或等于预设阈值,则利用公式计算当前节点中各缺陷特征A对应的各特征值a对训练集的基尼系数,其中,Gini(D,A)为在特征A的条件下,训练集D的Gini系数,D1和D2为根据训练集D中划分得到的训练集;进一步的,将基尼系数最小的特征值a以及对应的缺陷特征A作为最优特征值和最优特征,并依据最优特征值和最优特征将当前节点的训练集D划分为两部分D1和D2,同时建立当前节点的左右子节点,左子节点的数据集为D1,右子节点的数据集为D2,并将各子节点分别作为当前节点,返回执行若当前节点对应的训练集的样本个数满足设定数量阈值,计算训练集的基尼系数的操作,直至当前节点中缺陷特征对应的特征值存在一个,生成决策树,得到预先设定的缺陷分析模型。由此,通过采用决策树模型建立缺陷分析模型,可以深度挖掘目标应用程序的缺陷特征和缺陷解决方案之间潜在的映射关系,提高预测的准确率。
在上述实施例的基础上,本发明实施例的技术方案还包括:在设定时间段后,将所述目标应用程序的缺陷特征向量以及所述目标应用程序对应的缺陷解决方案添加至所述训练集中以更新所述训练集并基于更新的所述训练集构建决策树,得到缺陷分析模型。其中,设定时间段可以以工作日为单位进行设定,例如,将每个工作日作为设定时间段。具体的,在每个工作日之后,将新的缺陷特征以及对应的缺陷解决方案加入至训练集中,并再次离线训练决策树模型,更新缺陷分析模型,以此获得更高的准确率。
本实施例的技术方案,基于目标应用程序发生缺陷的时间戳信息确定目标应用程序发生缺陷的起止时间位置,得到缩小范围后的目标缺陷日志;再通过在目标缺陷日志中定位得到的预设报错关键字的位置,获取预设报错关键字的位置对应的存储内容,若所述存储内容中包含目标应用程序编号,提取存储内容中与目标应用程序编号对应的缺陷特征,生成目标应用程序的缺陷特征向量;最后,将目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中,若目标应用程序的缺陷特征向量与预先设定的缺陷分析模型中的目标子节点匹配,计算目标子节点对应的各缺陷解决方案在目标子节点对应的训练集的缺陷解决方案中的占比,将占比符合设定条件的缺陷解决方案作为目标应用程序对应的缺陷解决方案,并进行输出,解决了现有技术中无法自动对应用程序的缺陷进行准确定位并提出对应缺陷解决方案的问题,实现了降低测试人员或开发人员的工作量,并提高测试效率的效果。
图2b为本发明实施例提供的一种优选的应用程序的缺陷分析方法流程的结构示意图;具体的,利用APPID(即目标应用程序编号)以及目标应用程序发生缺陷的时间戳信息在缺陷日志中进行关键字匹配,得到缺陷日志中目标应用程序的缺陷特征,并将缺陷特征进行组合生成目标应用程序的缺陷特征向量;之后,将目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中进行缺陷分析,输出目标应用程序对应的缺陷解决方案。
图2c为本发明实施例提供的一种优选的应用程序的缺陷分析方法的流程图。首先,收集存量缺陷日志T(即预存缺陷日志),通过关键字匹配得到缺陷特征向量x1=(x11,x12,...,x1n),其中,每个缺陷特征x1具有n个特征维度;并人工对存量缺陷日志进行分析得到解决方案(即缺陷解决方案)y1;之后,将缺陷特征以及对应的解决方案组合形成训练数据(x1,y1),再将收集的m条训练数据组合生成训练集{(x1,y1),(x2,y2),......,(xm,ym)}。进而,再训练集上构建CART决策树,并更新参数得到预先设定的缺陷分析模型。当产生新的缺陷日志T*(即述当平台即服务系统中存在发生缺陷的目标应用程序时,平台即服务系统对应的缺陷日志)时,进行关键字匹配得到目标应用程序的缺陷特征向量并将缺陷特征向量输入至预先设定的缺陷分析模型中,即可得到解决方案y*,其中,y*包含可能性最大的三种解决方案最后,将新缺陷-解决方案加入至训练集中,更新模型参数,以此获得更高的准确率。
图3为本发明实施例提供的一种应用程序缺陷分析装置的结构示意图,该装置可以执行上述各实施例中涉及到的应用程序的缺陷分析方法。该装置可采用软件和/或硬件的方式实现,如图x所示,所述应用程序的缺陷分析装置具体包括:数据获取模块310、关键字匹配模块320、缺陷分析模块330。
其中,数据获取模块310,用于当平台即服务系统中存在发生缺陷的目标应用程序时,获取所述平台即服务系统对应的缺陷日志,并获取目标应用程序编号以及目标应用程序发生缺陷的时间戳信息;
关键字匹配模块320,用于利用所述目标应用程序编号以及目标应用程序发生缺陷的时间戳信息在所述缺陷日志中进行关键字匹配,得到缺陷日志中所述目标应用程序的缺陷特征,并将所述缺陷特征进行组合生成目标应用程序的缺陷特征向量;
缺陷分析模块330,将所述目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中,输出所述目标应用程序对应的缺陷解决方案。
本发明实施例的技术方案通过利用目标应用程序编号以及目标应用程序发生缺陷的时间戳信息在缺陷日志中进行关键字匹配,得到缺陷日志中目标应用程序的缺陷特征,进而生成目标应用程序的缺陷特征向量,最后,将目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中,输出目标应用程序对应的缺陷解决方案,解决了现有技术中无法自动对应用程序的缺陷进行准确定位并提出对应缺陷解决方案的问题,实现了降低测试人员或开发人员的工作量,并提高测试效率的效果。
可选的,关键字匹配模块320具体可以用于基于目标应用程序发生缺陷的时间戳信息确定目标应用程序发生缺陷的起止时间位置,得到缩小范围后的目标缺陷日志;在所述目标缺陷日志中定位出预设报错关键字的位置;在所述目标缺陷日志中获取所述预设报错关键字的位置对应的存储内容,若所述存储内容中包含目标应用程序编号,提取存储内容中与所述目标应用程序编号对应的缺陷特征,生成所述目标应用程序的缺陷特征向量。
可选的,应用程序缺陷分析装置还可以包括模型构建模块,模型构建模块可以包括数据获取单元、特征向量获取单元、训练集构建单元以及模型构建单元;
其中,数据获取单元,用于预先获取包含各类缺陷的预存缺陷日志以及对应的缺陷解决方案;
特征向量获取单元,用于通过模式匹配算法在所述预存缺陷日志中获取缺陷特征向量;
训练集构建单元,用于将所述缺陷特征向量与所述缺陷解决方案结合,构建训练集;
模型构建单元,用于基于所述训练集构建决策树,得到预先设定的缺陷分析模型。
可选的,模型构建单元具体可以用于若当前节点对应的训练集的样本个数满足设定数量阈值,计算所述训练集的基尼系数;若所述训练集的基尼系数满足预设阈值,计算所述当前节点中各缺陷特征对应的各特征值对所述训练集的基尼系数;将基尼系数最小的特征值以及对应的缺陷特征作为最优特征值和最优特征,并依据所述最优特征值和最优特征将所述当前节点的训练集进行划分,得到各当前节点的子节点以及子节点对应的训练集;将每个所述子节点分别作为当前节点,返回执行若当前节点对应的训练集的样本个数满足设定数量阈值,计算所述训练集的基尼系数的操作,直至所述当前节点中缺陷特征对应的特征值存在一个,得到预先设定的缺陷分析模型。
可选的,缺陷分析模块330具体可以用于若目标应用程序的缺陷特征向量与预先设定的缺陷分析模型中的目标子节点匹配,计算所述目标子节点对应的各缺陷解决方案在目标子节点对应的训练集的缺陷解决方案中的占比,将所述占比符合设定条件的缺陷解决方案作为所述目标应用程序对应的缺陷解决方案,并进行输出。
可选的,应用程序缺陷分析装置还可以包括模型更新模块,用于在设定时间段后,将所述目标应用程序的缺陷特征向量以及所述目标应用程序对应的缺陷解决方案添加至所述训练集中以更新所述训练集并基于更新的所述训练集构建决策树,得到缺陷分析模型。
可选的,所述缺陷日志包括:缺陷发生时间点、缺陷发生时运行的应用程序编号、设备省市代码、设备号、应用程序名称、交易名称、交易码、错误信息或错误码。
本发明实施例所提供的应用程序的缺陷分析装置可执行本发明任意实施例所提供的应用程序的缺陷分析方法,具备执行方法相应的功能模块和有益效果。
图4为本发明实施例提供的一种计算机设备的结构示意图,如图4所示,该计算机设备包括处理器410、存储器420、输入装置430和输出装置440;计算机设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;计算机设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的应用程序的缺陷分析方法对应的程序指令/模块(例如,应用程序的缺陷分析装置中的数据获取模块310、关键字匹配模块320和缺陷分析模块330)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的应用程序的缺陷分析方法。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种应用程序的缺陷分析方法,该方法包括:
当平台即服务系统中存在发生缺陷的目标应用程序时,获取所述平台即服务系统对应的缺陷日志,并获取目标应用程序编号以及目标应用程序发生缺陷的时间戳信息;
利用所述目标应用程序编号以及目标应用程序发生缺陷的时间戳信息在所述缺陷日志中进行关键字匹配,得到缺陷日志中所述目标应用程序的缺陷特征,并将所述缺陷特征进行组合生成目标应用程序的缺陷特征向量;
将所述目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中,输出所述目标应用程序对应的缺陷解决方案。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的应用程序的缺陷分析方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述应用程序的缺陷分析装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种应用程序的缺陷分析方法,其特征在于,包括:
当平台即服务系统中存在发生缺陷的目标应用程序时,获取所述平台即服务系统对应的缺陷日志,并获取目标应用程序编号以及目标应用程序发生缺陷的时间戳信息;
利用所述目标应用程序编号以及目标应用程序发生缺陷的时间戳信息在所述缺陷日志中进行关键字匹配,得到缺陷日志中所述目标应用程序的缺陷特征,并将所述缺陷特征进行组合生成目标应用程序的缺陷特征向量;
将所述目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中,输出所述目标应用程序对应的缺陷解决方案。
2.根据权利要求1所述的方法,其特征在于,所述利用所述目标应用程序编号以及目标应用程序发生缺陷的时间戳信息在所述缺陷日志中进行关键字匹配,获取缺陷日志中所述目标应用程序的缺陷特征,并将所述缺陷特征进行组合生成目标应用程序的缺陷特征向量包括:
基于目标应用程序发生缺陷的时间戳信息确定目标应用程序发生缺陷的起止时间位置,得到缩小范围后的目标缺陷日志;
在所述目标缺陷日志中定位出预设报错关键字的位置;
在所述目标缺陷日志中获取所述预设报错关键字的位置对应的存储内容,若所述存储内容中包含目标应用程序编号,提取存储内容中与所述目标应用程序编号对应的缺陷特征,生成所述目标应用程序的缺陷特征向量。
3.根据权利要求1所述的方法,其特征在于,还包括:
预先获取包含各类缺陷的预存缺陷日志以及对应的缺陷解决方案;
通过模式匹配算法在所述预存缺陷日志中获取缺陷特征向量;
将所述缺陷特征向量与所述缺陷解决方案结合,构建训练集;
基于所述训练集构建决策树,得到预先设定的缺陷分析模型。
4.根据权利要求3所述的方法,其特征在于,所述基于所述训练集构建决策树,得到预先设定的缺陷分析模型包括:
若当前节点对应的训练集的样本个数满足设定数量阈值,计算所述训练集的基尼系数;
若所述训练集的基尼系数满足预设阈值,计算所述当前节点中各缺陷特征对应的各特征值对所述训练集的基尼系数;
将基尼系数最小的特征值以及对应的缺陷特征作为最优特征值和最优特征,并依据所述最优特征值和最优特征将所述当前节点的训练集进行划分,得到各当前节点的子节点以及子节点对应的训练集;
将每个所述子节点分别作为当前节点,返回执行若当前节点对应的训练集的样本个数满足设定数量阈值,计算所述训练集的基尼系数的操作,直至所述当前节点中缺陷特征对应的特征值存在一个,得到预先设定的缺陷分析模型。
5.根据权利要求3所述的方法,其特征在于,所述输出所述目标应用程序对应的缺陷解决方案包括:
若目标应用程序的缺陷特征向量与预先设定的缺陷分析模型中的目标子节点匹配,计算所述目标子节点对应的各缺陷解决方案在目标子节点对应的训练集的缺陷解决方案中的占比,将所述占比符合设定条件的缺陷解决方案作为所述目标应用程序对应的缺陷解决方案,并进行输出。
6.根据权利要求3所述的方法,其特征在于,还包括:
在设定时间段后,将所述目标应用程序的缺陷特征向量以及所述目标应用程序对应的缺陷解决方案添加至所述训练集中以更新所述训练集并基于更新的所述训练集构建决策树,得到缺陷分析模型。
7.根据权利要求1所述的方法,其特征在于,所述缺陷日志包括:缺陷发生时间点、缺陷发生时运行的应用程序编号、设备省市代码、设备号、应用程序名称、交易名称、交易码、错误信息或错误码。
8.一种应用程序缺陷分析装置,其特征在于,包括:
数据获取模块,用于当平台即服务系统中存在发生缺陷的目标应用程序时,获取所述平台即服务系统对应的缺陷日志,并获取目标应用程序编号以及目标应用程序发生缺陷的时间戳信息;
关键字匹配模块,用于利用所述目标应用程序编号以及目标应用程序发生缺陷的时间戳信息在所述缺陷日志中进行关键字匹配,得到缺陷日志中所述目标应用程序的缺陷特征,并将所述缺陷特征进行组合生成目标应用程序的缺陷特征向量;
缺陷分析模块,将所述目标应用程序的缺陷特征向量输入至预先设定的缺陷分析模型中,输出所述目标应用程序对应的缺陷解决方案。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的应用程序的缺陷分析方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的应用程序的缺陷分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210073094.XA CN114416573A (zh) | 2022-01-21 | 2022-01-21 | 一种应用程序的缺陷分析方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210073094.XA CN114416573A (zh) | 2022-01-21 | 2022-01-21 | 一种应用程序的缺陷分析方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416573A true CN114416573A (zh) | 2022-04-29 |
Family
ID=81275740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210073094.XA Pending CN114416573A (zh) | 2022-01-21 | 2022-01-21 | 一种应用程序的缺陷分析方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416573A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114968813A (zh) * | 2022-06-21 | 2022-08-30 | 江苏工程职业技术学院 | 一种面向软件仓库挖掘的缺陷定位方法 |
CN116118154A (zh) * | 2023-04-14 | 2023-05-16 | 威海华福轿车内饰有限公司 | 一种汽车内饰原料挤出加工控制方法及系统 |
-
2022
- 2022-01-21 CN CN202210073094.XA patent/CN114416573A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114968813A (zh) * | 2022-06-21 | 2022-08-30 | 江苏工程职业技术学院 | 一种面向软件仓库挖掘的缺陷定位方法 |
CN116118154A (zh) * | 2023-04-14 | 2023-05-16 | 威海华福轿车内饰有限公司 | 一种汽车内饰原料挤出加工控制方法及系统 |
CN116118154B (zh) * | 2023-04-14 | 2023-08-22 | 威海华福轿车内饰有限公司 | 一种汽车内饰原料挤出加工控制方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10678669B2 (en) | Field content based pattern generation for heterogeneous logs | |
CN113282461B (zh) | 传输网的告警识别方法和装置 | |
CN114416573A (zh) | 一种应用程序的缺陷分析方法、装置、设备及介质 | |
CN106502907A (zh) | 一种基于执行轨迹追踪的分布式软件异常诊断方法 | |
Kobayashi et al. | Towards an NLP-based log template generation algorithm for system log analysis | |
CN111782460A (zh) | 大规模日志数据的异常检测方法、装置和存储介质 | |
CN113779272A (zh) | 基于知识图谱的数据处理方法、装置、设备及存储介质 | |
WO2020140624A1 (zh) | 从日志中提取数据的方法和相关设备 | |
CN111859047A (zh) | 一种故障解决方法及装置 | |
CN111045902A (zh) | 服务器的压力测试方法及装置 | |
WO2021109874A1 (zh) | 拓扑图生成方法、异常检测方法、装置、设备及存储介质 | |
KR102425525B1 (ko) | 베이지안 확률 및 폐쇄 패턴 마이닝 방식을 이용한 로그 이상 탐지 시스템 및 방법과, 이를 위한 컴퓨터 프로그램 | |
CN116996325B (zh) | 一种基于云计算的网络安全检测方法及系统 | |
CN113221960A (zh) | 一种高质量漏洞数据收集模型的构建方法及收集方法 | |
US20230037894A1 (en) | Automated learning based executable chatbot | |
WO2016188571A1 (en) | Method and apparatus for analysing performance of a network by managing network data relating to operation of the network | |
CN112416800A (zh) | 智能合约的测试方法、装置、设备及存储介质 | |
Sheluhin et al. | Monitoring anomalous states of computer systems by intellectual analysis of data of system journals | |
Tong et al. | An approach to pinpointing bug-induced failure in logs of open cloud platforms | |
Wang et al. | Measuring robustness of feature selection techniques on software engineering datasets | |
US20230306343A1 (en) | Business process management system and method thereof | |
US11444824B2 (en) | Knowledge base and mining for effective root-cause analysis | |
CN117135038A (zh) | 网络故障监测方法、装置及电子设备 | |
CN113268419A (zh) | 测试用例优化信息的生成方法、装置、设备和存储介质 | |
Fält et al. | Learning-Based Anomaly Detection Using Log Files with Sequential Relationships |
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 |