一种问题定位方法和设备与流程

文档序号:11216188阅读:463来源:国知局
一种问题定位方法和设备与流程

本申请涉及软件测试技术领域,尤其涉及一种问题定位方法和设备。



背景技术:

在软件开发过程中,通常会通过软件测试来检查软件的性能。在进行软件测试时,可以利用测试工具按照测试方案,在规定的条件下对被测试的软件进行操作,以发现软件错误,衡量软件质量,并对软件是否能满足设计要求进行评估。

现有技术中,在对软件进行测试时,可以由测试系统控制多个测试终端对被测软件进行测试,并根据多个测试终端得到的测试结果定位被测软件中存在的问题。其中,测试系统在控制多个测试终端对被测软件进行测试时,每一个测试终端可以对测试过程进行记录并生成日志,在生成日志后,可以将日志上传给测试系统,这样,测试系统可以将其中记录有错误信息的日志展示给软件测试结果审核人员,软件测试结果审核人员在查看到这些日志后,可以根据这些日志定位被测软件中存在的问题。

软件测试结果审核人员在根据日志定位被测软件中存在的问题时,需要对每一条日志进行逐一分析,进而在分析的基础上定位被测软件中存在的问题。然而,在实际应用中,测试终端生成的日志通常可达到上万条,这样,在日志的数量较多的情况下,很难保证软件测试结果审核人员对日志分析结果的准确性,导致定位被测软件中存在的问题时准确性较低。



技术实现要素:

本申请实施例提供一种问题定位方法和设备,用于解决软件测试结果审核人员对多条日志进行逐条分析时,由于很难保证日志分析结果的准确性,导致定位被测软件中存在的问题时准确性较低的问题。

本申请实施例提供一种问题定位方法,包括:

获取对所述被测软件进行测试得到的多条日志;

按照预先设定的错误类型,将所述多条日志进行分组,得到至少一组日志,每一组所述日志的错误类型相同;

将所述至少一组日志按照每一组所述日志的错误类型进行推送,以便于根据所述至少一组日志定位得到所述被测软件中存在的问题。

本申请实施例提供一种问题定位设备,包括:

获取单元,获取对所述被测软件进行测试得到的多条日志;

分组单元,按照预先设定的错误类型,将所述多条日志进行分组,得到至少一组日志,每一组所述日志的错误类型相同;

推送单元,将所述至少一组日志按照每一组所述日志的错误类型进行推送,以便于根据所述至少一组日志定位得到所述被测软件中存在的问题。

本申请实施例提供一种问题定位装置,包括:存储器和处理器,其中:

存储器,用于存放程序;

处理器,用于执行所述存储器存储的程序,并具体执行:

获取对所述被测软件进行测试得到的多条日志;

按照预先设定的错误类型,将所述多条日志进行分组,得到至少一组日志,每一组所述日志的错误类型相同;

将所述至少一组日志按照每一组所述日志的错误类型进行推送,以便于根据所述至少一组日志定位得到所述被测软件中存在的问题。

本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:

获取对所述被测软件进行测试得到的多条日志;

按照预先设定的错误类型,将所述多条日志进行分组,得到至少一组日志,每一组所述日志的错误类型相同;

将所述至少一组日志按照每一组所述日志的错误类型进行推送,以便于根据所述至少一组日志定位得到所述被测软件中存在的问题。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:

本申请实施例提供的技术方案,在对被测软件进行测试得到多条日志后,可以由测试系统按照预先设定的错误类型,将多条日志进行分组,得到至少一组日志,并将分组后的至少一组日志按照每一组日志对应的错误类型进行推送,这样,软件测试结果审核人员可以根据每一组日志定位得到被测软件中存在的问题。由于测试系统可以按照日志的错误类型将多条日志进行分组,因此,可以避免软件测试结果审核人员对日志进行分析并确定日志的错误类型,保证日志分析结果的准确性,进而保证软件测试结果审核人员定位得到的被测软件中存在的问题的准确性。

除此之外,由于避免了软件测试结果审核人员对日志进行分析并确定日志的错误类型的步骤,因此,可以减少软件测试结果审核人员对日志进行分析的时间,提高分析效率。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的一种问题定位方法的流程示意图;

图2为本申请实施例提供的一种电子设备的结构示意图;

图3为本申请实施例提供的一种问题定位设备的结构示意图;

图4为本申请实施例提供的一种问题定位装置的结构示意图。

具体实施方式

为了实现本申请的目的,本申请实施例提供了一种问题定位方法和设备,该方法包括:获取对所述被测软件进行测试得到的多条日志;按照预先设定的错误类型,将所述多条日志进行分组,得到至少一组日志,每一组所述日志的错误类型相同;将所述至少一组日志按照每一组所述日志的错误类型进行推送,以便于根据所述至少一组日志定位得到所述被测软件中存在的问题。

由于测试系统可以按照日志的错误类型将多条日志进行分组,因此,可以避免软件测试结果审核人员对日志进行分析并确定日志的错误类型,保证日志分析结果的准确性,进而保证软件测试结果审核人员定位得到的被测软件中存在的问题的准确性。除此之外,由于避免了软件测试结果审核人员对日志进行分析并确定日志的错误类型的步骤,因此,可以减少软件测试结果审核人员对日志进行分析的时间,提高分析效率。

下面结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例提供的问题定位方法的应用场景可以是:在对被测软件进行测试时,测试系统可以控制多个测试终端对所述被测软件进行测试,所述被测终端在对被测软件进行测试的过程中,可以对测试过程进行记录并生成日志,在得到日志后,可以使用本申请实施例提供的问题定位方法定位被测软件中存在的问题。这样,一方面可以提高软件测试结果审核人员定位被测软件中存在问题的准确性,另一方面还可以提高软件测试结果审核人员对所述日志的分析效率。

在本申请实施例中,所述被测软件可以是能够安装在所述测试终端中的应用程序,所述测试终端包括但不限于智能手机。所述日志可以是多条日志,在对所述日志进行分组时,可以以其中一条日志的分组为例进行说明。

以下结合附图,详细说明本申请各实施例提供的技术方案。

实施例1

图1为本申请实施例提供的一种问题定位方法的流程示意图。所述方法如下所述,本申请实施例的执行主体可以是测试系统。

步骤101:获取对所述被测软件进行测试得到的多条日志。

在步骤101中,在对被测软件进行测试的过程中,或对所述被测软件进行测试后,在需要由软件测试结果审核人员定位所述被测软件中存在的问题时,所述测试系统可以获取对所述被测软件进行测试时得到的多条日志。

本申请实施例中,所述多条日志可以由至少一个测试终端在对所述被测软件进行测试时生成,所述多条日志可以包含:所述至少一个测试终端对所述被测软件进行测试时,所述被测软件对测试脚本的执行结果。其中,所述测试脚本用于对所述被测软件进行测试。

具体地,在需要对所述被测软件进行测试时,所述测试系统可以控制至少一个测试终端对所述被测软件进行测试,所述至少一个测试终端在对所述被测软件进行测试时,可以对测试过程进行记录并生成日志。

针对其中一个所述测试终端而言,所述测试终端可以按照设定的日志格式(即生成的日志包含哪些内容)生成所述日志,其中,所述设定的日志格式可以根据用于对所述被测软件进行测试的测试用例得到。

本申请实施例中,每一条所述日志中可以至少包含以下内容:日志的级别(例如,信息、错误、警告等),日志的时间(即生成该条日志的时间),日志对应的进程id,用户空间,日志标识(用于区分不同的日志),被测软件的测试信息(可以包含所述被测软件的测试结果信息)等。

每一个所述测试终端可以生成若干条所述日志,所述测试终端在生成若干条所述日志后,可以将若干条所述日志上传至所述测试系统,并由所述测试系统将所述至少一个测试终端上传的日志进行存储,具体可以以日志文件的方式进行存储,存储的位置可以是所述测试系统对应的存储器。

在需要由软件测试结果审核人员定位所述被测软件中存在的问题时,所述测试系统可以从所述测试系统对应的存储器中获取所述日志文件,进而获取得到所述日志文件中包含的多条日志。

步骤102:按照预先设定的错误类型,将所述多条日志进行分组,得到至少一组日志。

在步骤102中,所述测试系统在获取到所述多条日志后,可以根据预先设定的错误类型,将所述多条日志进行分组,以便于将分组后的日志推送给软件测试结果审核人员进行分析。

本申请实施例中,所述预先设定的错误类型可以是所述测试系统在对所述多条日志进行分组之前,预先根据用于对所述被测软件进行测试的测试用例确定得到。所述预先设定的错误类型可以包含日志的级别,日志的错误类型以及日志的描述中的至少一个。具体地:

所述日志的级别可以包括:信息、警告、错误以及不可恢复的错误;

所述日志的错误类型可以包括:安装失败、启动失败、网络问题、闪退、无响应、意外终止、卡死、功能异常、ui问题;

所述日志的描述可以包括:在安装被测软件时出现安装失败、在启动被测软件时启动资源加载失败、在启动被测软件时更新失败、在启动被测软件时提交失败、在启动被测软件时闪退、在启动被测软件时无响应、在启动被测软件时意外终止、在启动被测软件时卡死、在启动被测软件时黑屏或白屏、由于网络问题导致内容加载异常、由于网络问题导致服务端异常、在运行过程中闪退、在运行过程中无响应、在运行过程中意外终止、在运行过程中卡死、运行结果与预期结果不相符、操作无响应、出现错误提示、出现界面卡顿、注册登录异常、显示的文字出现错误、图标图片错误、内容展示错误、界面背景显示错误、动画问题等。

所述测试系统在预先设定所述错误类型后,并在获取到所述多条日志时,按照预先设定的错误类型,将所述多条日志进行分组,得到至少一组日志,具体包括:

对所述多条日志进行分析,确定记录有错误信息的至少一条日志;

按照预先设定的错误类型,对所述记录有错误信息的至少一条日志进行分组,得到至少一组日志。

也就是说,所述测试系统在对所述多条日志进行分组之前,可以使用日志分析工具对所述多条日志进行分析,并确定记录有错误信息的至少一条日志。其中,所述记录有错误信息的日志可以是所述至少一个测试终端在对所述被测软件进行测试的过程中,出现问题时对应生成的日志。

这样,在按照所述预先设定的错误类型对所述多条日志进行分组时,可以仅对记录有错误信息的日志进行分组,以减少需要分组的日志的数量,进而减少推送给所述软件测试结果分析人员的日志的数量,提高所述软件测试结果审核人员的分析效率。

所述测试系统在确定记录有错误信息的日志后,对所述记录有错误信息的至少一条日志进行分组,得到至少一组日志,包括:

对所述记录有错误信息的至少一条日志进行分析,确定每一条所述日志对应的所述错误类型;

按照所述预先设定的错误类型,将具有相同所述预先设定的错误类型的日志划分为一组,得到至少一组所述日志。

所述测试系统在所述记录有错误信息的至少一条日志进行分组之前,可以使用日志分析工具对所述记录有错误信息的至少一条日志进行分析,以确定每一条所述日志的错误类型。

具体地,所述测试系统可以基于上述步骤101中记载的每一条所述日志包含的内容,使用日志分析工具对所述日志包含的上述内容进行分析,这样,所述测试系统可以确定每一条记录有错误信息的日志的错误类型。其中,确定的每一条所述日志的错误类型可以包括:所述日志的级别、所述日志的错误类型以及所述日志的描述中的至少一个。

所述测试系统在确定每一条记录有错误信息的日志的错误类型后,可以按照所述预先设定的错误类型,将具有相同所述预先设定的错误类型的日志分为一组。

需要说明的是,由于所述预先设定的错误类型可以包含所述日志的级别、所述日志的错误类型以及所述日志的描述中的至少一个,因此,所述测试系统在确定每一条记录有错误信息的日志的错误类型后,并在对这些日志进行分组时,可以按照所述日志的级别、所述日志的错误类型以及所述日志的描述中的至少一个进行分组,本申请实施例不做具体限定。

例如,可以按照所述日志的级别进行分组,也可以按照所述日志的级别以及所述日志的错误类型进行分组,还可以按照所述日志的错误类型以及所述日志的描述进行分组。

所述测试系统在对所述至少一条记录有错误信息的日志进行分组后,可以得到至少一组日志。针对每一组所述日志而言,其具有相同的错误类型。

步骤103:将所述至少一组日志按照每一组所述日志的错误类型进行推送,以便于根据所述至少一组日志定位得到所述被测软件中存在的问题。

在步骤103中,所述测试系统在对所述多条日志进行分组后,可以将每一组所述日志按照每一组所述日志的错误类型推送给所述软件测试结果审核人员。

这样,所述软件测试结果审核人员可以清楚地查看到日志的错误类型以及具有该错误类型的所有日志。此时,所述软件测试结果审核人员可以简要确认每一组所述日志的问题描述是否准确,无需对每一组所述日志中包含的每一条日志进行逐一分析确定其错误类型,并在对每一组所述日志进行简要分析的基础上,定位得到所述被测软件中存在的问题。

由于所述测试系统可以将所述至少一个测试终端生成的所述多条日志进行分组,并将分组后的日志展示给所述软件测试结果审核人员,因此,所述软件测试结果审核人员可以直接根据查看到分组后的日志进行分析,并定位所述被测软件中存在的问题,相较于现有技术中,所述软件测试结果审核人员需要对每一条日志进行逐一分析,确定日志的描述是否准确并确定日志的错误类型,进而定位得到所述被测软件中存在的问题而言,本申请实施例可以提高对所述日志的分析结果的准确性,进而保证定位得到的所述被测软件中存在的问题的准确性。

本申请实施例提供的技术方案,由于测试系统可以按照日志的错误类型将多条日志进行分组,因此,可以避免软件测试结果审核人员对日志进行分析并确定日志的错误类型,保证日志分析结果的准确性,进而保证软件测试结果审核人员定位得到的被测软件中存在的问题的准确性。

除此之外,由于避免了软件测试结果审核人员对日志进行分析并确定日志的错误类型的步骤,因此,可以减少软件测试结果审核人员对日志进行分析的时间,提高分析效率。

实施例2

图2为本申请实施例提供的一种电子设备的结构示意图。如图2所示,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成问题定位设备。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

图3为本申请实施例提供的一种问题定位设备的结构示意图。所述问题定位设备包括:获取单元31、分组单元32以及推送单元33,其中:

获取单元31,获取对所述被测软件进行测试得到的多条日志;

分组单元32,按照预先设定的错误类型,将所述多条日志进行分组,得到至少一组日志,每一组所述日志的错误类型相同;

推送单元33,将所述至少一组日志按照每一组所述日志的错误类型进行推,以便于根据所述至少一组日志定位得到所述被测软件中存在的问题。

本申请实施例中,所述获取单元31获取到的所述多条日志由至少一个测试终端对所述被测软件进行测试时生成。

所述预先设定的错误类型包括:日志的级别、日志的错误类型以及日志的描述中的至少一种。

所述分组单元32按照预先设定的错误类型,将所述多条日志进行分组,得到至少一组日志,包括:

对所述多条日志进行分析,确定记录有错误信息的至少一条日志;

按照预先设定的错误类型,对所述记录有错误信息的至少一条日志进行分组,得到至少一组日志。

所述分组单元32对所述记录有错误信息的至少一条日志进行分组,得到至少一组日志,包括:

对所述记录有错误信息的至少一条日志进行分析,确定每一条所述日志对应的所述错误类型;

按照所述预先设定的错误类型,将具有相同所述预先设定的错误类型的日志划分为一组,得到至少一组所述日志。

需要说明的是,本申请实施例提供的问题定位设备,可以通过软件的方式实现,也可以通过硬件的方式实现,不做具体限定。

本申请实施例提供的问题定位设备,获取单元获取到对被测软件进行测试得到多条日志;分组单元可以按照预先设定的错误类型,将多条日志进行分组,得到至少一组日志;推送单元将分组后的至少一组日志按照每一组日志对应的错误类型进行推送,这样,软件测试结果审核人员可以根据分组后的日志定位得到被测软件中存在的问题。由于可以按照日志的错误类型将多条日志进行分组,因此,可以避免软件测试结果审核人员对日志进行分析并确定日志的错误类型,保证日志分析结果的准确性,进而保证软件测试结果审核人员定位得到的被测软件中存在的问题的准确性。

除此之外,由于避免了软件测试结果审核人员对日志进行分析并确定日志的错误类型的步骤,因此,可以减少软件测试结果审核人员对日志进行分析的时间,提高分析效率。

图4为本申请实施例提供的一种问题定位装置的结构示意图。装置400可包括:通道接口401和处理器402,可选地,包括存储器403。

通道接口401、处理器402和存储器403可以通过总线404系统相互连接。总线404可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

可选地,包括存储器403,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器403可以包括只读存储器和随机存取存储器,并向处理器402提供指令和数据。存储器403可能包含高速随机存取存储器(random-accessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器。

处理器402,用于执行以下操作,可选地,执行存储器403所存放的程序,并具体用于执行以下操作:

获取对所述被测软件进行测试得到的多条日志;

按照预先设定的错误类型,将所述多条日志进行分组,得到至少一组日志,每一组所述日志的错误类型相同;

将所述至少一组日志按照每一组所述日志的错误类型进行推送,以便于根据所述至少一组日志定位得到所述被测软件中存在的问题。

上述如本申请图1所示实施例揭示的问题定位设备或管理者(master)节点执行的方法可以应用于处理器402中,或者由处理器402实现。处理器402可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器402中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器402可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器403,处理器402读取存储器403中的信息,结合其硬件完成上述方法的步骤。

问题定位装置400还可执行图1的方法,并实现管理者节点执行的方法。

本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所记载的方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1