软件分析方法及装置与流程

专利2022-06-29  83


本发明涉及软件测试技术领域,尤其涉及一种软件分析方法及装置。



背景技术:

在软件的研发生产过程中,因开发工程人员的代码能力的不同,写出来的代码质量不同,会导致软件在发布完成供用户下载使用后出现异常情况,这种异常情况在软件行业称作为bug。这种bug不可避免,因此在软件持续研发的过程中,对软件问题的修补漏洞和优化代码质量很重要。

现有的技术是,由操作系统提供接口,当软件出现异常无法继续工作时软件自身只能闪退,此时系统提供该软件出现异常的模块、时间等简单的一些日志文件,供开发者根据日志文件自查问题原因。

软件闪退仅仅是当软件遇到致命问题才会发生,而且并不是每一次闪退都会可能记录日志文件。因此,查找软件问题和管理软件质量过程没有很好很快的办法,靠查看操作系统提供的日志或监测用户使用后的反馈内容去发现软件问题及改进软件质量,均不具备时效性。



技术实现要素:

针对现有技术存在的问题,本发明实施例提供一种软件分析方法及装置。

第一方面,本发明实施例提供一种软件分析方法,包括:

确定预设条件下目标软件中新增功能项被加载时的各参数项对应的分析值;

使所述各参数项对应的分析值与各参数项对应的基准值进行比较,确定各参数项对应的分析值中存在参数项的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。

进一步地,所述确定预设条件下目标软件中新增功能项被加载的各参数项对应的分析值,包括:

采集预设条件下目标软件中新增功能项被加载时的记录信息,所述记录信息包含各参数项对应的数值;

根据所述记录信息包含的各参数项对应的数值确定各参数项对应的数值均值,使所述数值均值配置为所述分析值。

进一步地,还包括:

确定预设条件下目标软件被加载时的各参数项对应的分析值;

相应地,确定新增功能项被加载时的各参数项对应的分析值均小于或等于对应的基准值,且确定目标软件被加载时的各参数项对应的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。

进一步地,所述基准值的获取包括:确定所述新增功能项对应的代码行数;根据所述代码行数确定各参数项对应的基准值。

进一步地,所述预设条件包括预设时间段或预设采集数。

进一步地,所述运行参数中的参数项均包括:加载时间、内存使用率、cpu频率、磁盘输入/输出读写值和每秒传输帧数。

第二方面,本发明实施例提供一种软件分析装置,包括:

获取模块,用于确定预设条件下目标软件中新增功能项被加载时的各参数项对应的分析值;

分析模块,用于使所述各参数项对应的分析值与各参数项对应的基准值进行比较,确定各参数项对应的分析值中存在参数项的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。

进一步地,所述获取模块具体用于:

采集预设条件下目标软件中新增功能项被加载时的记录信息,所述记录信息包含各参数项对应的数值;

根据所述记录信息包含的各参数项对应的数值确定各参数项对应的数值均值,使所述数值均值配置为所述分析值。

进一步地,所述获取模块还用于确定预设条件下目标软件被加载时的各参数项对应的分析值;

相应地,所述分析模块还用于:确定新增功能项被加载时的各参数项对应的分析值均小于或等于对应的基准值,且确定目标软件被加载时的各参数项对应的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。

进一步地,还包括确定模块,用于确定所述新增功能项对应的代码行数;根据所述代码行数确定各参数项对应的基准值。

进一步地,所述预设条件包括预设时间段或预设采集数。

进一步地,所述自身运行参数和新增功能项运行参数中的参数项均包括:加载时间、内存使用率、cpu频率、磁盘输入/输出读写值和每秒传输帧数。

第三方面,本发明实施例一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述软件分析方法的步骤。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述软件分析方法的步骤。

本发明实施例提供的一种软件分析方法及装置,通过将预设条件下软件中新增功能项被加载时的各参数项对应的分析值与各参数项对应的基准值进行比较,当存有参数项的分析值大于对应的基准值时发出预警信息,从而实现自动对新增功能项的软件代码进行检测,代替人工自检,提高代码质量检测效率,使得开发人员尽早对新增功能项进行重点关注,判断其是否需要软件完善。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明软件分析方法实施例流程图;

图2为本发明软件分析方法另一实施例流程图;

图3为本发明软件分析装置实施例结构图;

图4为本发明电子设备实施例结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在软件的研发生产过程中,因开发工程人员的代码能力的不同,写出来的代码质量不同,会导致软件在发布完成供用户下载使用后出现异常情况,这种异常情况在软件行业称作为bug。这种bug不可避免,因此在软件持续研发的过程中,对软件问题的修补漏洞和优化代码质量很重要。

现有的技术是,由操作系统提供接口,当软件出现异常无法继续工作时软件自身只能闪退,此时系统提供该软件出现异常的模块、时间等简单的一些日志文件,供开发者根据日志文件自查问题原因。

软件闪退仅仅是当软件遇到致命问题才会发生,而且并不是每一次闪退都会可能记录日志文件。因此,查找软件问题和管理软件质量过程没有很好很快的办法,靠查看操作系统提供的日志或监测用户使用后的反馈内容去发现软件问题及改进软件质量,均不具备时效性。

为此,图1示出了本发明一实施例提供的一种软件分析方法的流程示意图,从图1中可以看出,包括:

s11、确定预设条件下目标软件中新增功能项被加载时的各参数项对应的分析值;

s12、使所述各参数项对应的分析值与各参数项对应的基准值进行比较,确定各参数项对应的分析值中存在参数项的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。

针对步骤s11和步骤s12,需要说明的是,在本发明实施例中,应用软件新增功能项后,会发布更新包,以供用户终端安装更新应用软件继续使用。此时,需要对应用软件的使用状况进行监测,尤其是对新增功能项进行监测,以确定是否需要对新增功能项对应的软件代码质量进行完善。

例如一个游戏软件中增加了某个节日的游戏副本。在这里,需要对增加的节日游戏副本对应的软件代码质量进行监测,做出初步判断,在预估可能存在软件代码质量完善时给出预警信息,使开发人员对该节日游戏副本更多的关注。

为此,本发明实施例中,新增功能项的应用软件投入使用,每个更新有该应用软件的用户终端在使用具有新增功能项的应用软件时,都会被云服务端收集使用记录,即记录信息。因此,在本实施例中,需要在预设条件下(如预设时间段内或预设采集数)收集目标软件中新增功能项被加载时的记录信息,该记录信息包含软件中新增功能项被加载时的各参数项的数值。在本实施例中,各参数项可包括:加载时间、内存使用率、cpu频率、磁盘输入/输出读写值和每秒传输帧数,但不局限于此。

云服务端会根据记录信息包含的各参数项对应的数值确定各参数项对应的分析值。例如根据记录信息包含的各参数项对应的数值确定各参数项的数值均值,使数值均值配置为分析值。

例如收集了100条记录信息,则存在对应于“加载时间”的100个数值,取“加载时间”的100个数值的均值,即:数值均值。将得到的数值均值作为“加载时间”的分析值。

例如收集了200条记录信息,则存在对应于“内存使用率”的200个数值,取“内存使用率”的200个数值的均值,即:数值均值。将得到的数值均值作为“内存使用率”的分析值。

在本发明实施例中,各个参数项对应的分析值得到后,需要对分析值进行比较判断才能初步判断新增功能项是否存在进一步完善的可能。为了对分析值进行比较,会将其与各参数项对应的基准值进行比较。该基准值为针对新增功能项后对应于每个参数项所预先配置用于后续数值比较的数值。该基准值可根据经验去设置,也可根据新增功能项对应的代码行数确定各参数项对应的基准值。也就是说,各参数项分别存在一个对应关系,该对应关系为代码行数范围与基准值的对应关系。

例如参数项“每秒传输帧数”存有的对应关系中,5000-6000代码行数对应“基准值”为0.02秒。若新增功能项对应的代码行数为5200行,则基准值为0.02秒。

云服务端使各参数项对应的分析值与各参数项对应的基准值进行比较,确定各参数项对应的分析值中存在参数项的分析值大于对应的基准值,发出对应于新增功能项的预警信息。也就是说,只有各参数项对应的分析值中存在至少一项参数项的分析值大于对应的基准值,则会发出对应于新增功能项的预警信息,以提示开发人员对该新增功能项更多的关注,以最终判断其是否需要软件完善。

本发明实施例提供的软件分析方法,通过将预设条件下软件中新增功能项被加载时的各参数项对应的分析值与各参数项对应的基准值进行比较,当存有参数项的分析值大于对应的基准值时发出预警信息,从而实现自动对新增功能项的软件代码进行检测,代替人工自检,提高代码质量检测效率,使得开发人员尽早对新增功能项进行重点关注,判断其是否需要软件完善。

图2示出了本发明一实施例提供的软件分析方法的流程示意图,从图2中可以看出,该方法包括:

s21、确定预设条件下目标软件中新增功能项被加载时的各参数项对应的分析值,以及确定预设条件下目标软件被加载时的各参数项对应的分析值;

s22、使所述各参数项对应的分析值与各参数项对应的基准值进行比较,确定新增功能项被加载时的各参数项对应的分析值均小于或等于对应的基准值,且确定目标软件被加载时的各参数项对应的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。

针对步骤s21和步骤s22,需要说明的是,在本发明实施例中,应用软件新增功能项后,会发布更新包,以供用户终端安装更新应用软件继续使用。此时,需要对应用软件的使用状况进行监测,尤其是对新增功能项进行监测,以确定是否需要对新增功能项对应的软件代码质量进行完善。

例如一个游戏软件中增加了某个节日的游戏副本。在这里,需要对增加的节日游戏副本对应的软件代码质量进行监测,做出初步判断,在预估可能存在软件代码质量完善时给出预警信息,使开发人员对该节日游戏副本更多的关注。

为此,本发明实施例中,新增功能项的应用软件投入使用,每个更新有该应用软件的用户终端在使用具有新增功能项的应用软件时,都会被云服务端收集使用记录,即记录信息。因此,在本实施例中,需要在预设条件下(如预设时间段内或预设采集数)收集目标软件中新增功能项被加载时的记录信息,该记录信息包含软件中新增功能项被加载时的各参数项的数值。在本实施例中,各参数项可包括:加载时间、内存使用率、cpu频率、磁盘输入/输出读写值和每秒传输帧数,但不局限于此。

另外,在本发明实施例中,应用软件增加新增功能项后,也会对整个应用软件造成改变。为此,每个更新有该应用软件的用户终端在使用具有新增功能项的应用软件时,都会被云服务端收集使用记录,即记录信息。故也需收集预设条件下目标软件被加载时的的记录信息,该记录信息包含软件中新增功能项被加载时的各参数项的数值。在本实施例中,各参数项可包括:加载时间、内存使用率、cpu频率、磁盘输入/输出读写值和每秒传输帧数,但不局限于此。

云服务端会根据记录信息包含的各参数项对应的数值确定各参数项对应的分析值。例如根据记录信息包含的各参数项对应的数值确定各参数项的数值均值,使数值均值配置为分析值。

例如收集了100条记录信息,则存在对应于“加载时间”的100个数值,取“加载时间”的100个数值的均值,即:数值均值。将得到的数值均值作为“加载时间”的分析值。

例如收集了200条记录信息,则存在对应于“内存使用率”的200个数值,取“内存使用率”的200个数值的均值,即:数值均值。将得到的数值均值作为“内存使用率”的分析值。

在本发明实施例中,各个参数项对应的分析值得到后,需要对分析值进行比较判断才能初步判断新增功能项是否存在进一步完善的可能。为了对分析值进行比较,会将其与各参数项对应的基准值进行比较。该基准值为针对新增功能项后对应于每个参数项所预先配置用于后续数值比较的数值。该基准值可根据经验去设置,也可根据新增功能项对应的代码行数确定各参数项对应的基准值。也就是说,各参数项分别存在一个对应关系,该对应关系为代码行数范围与基准值的对应关系。

例如参数项“每秒传输帧数”存有的对应关系中,5000-6000代码行数对应“基准值”为0.02秒。若新增功能项对应的代码行数为5200行,则基准值为0.02秒。

云服务端使各参数项对应的分析值与各参数项对应的基准值进行比较,确定各参数项对应的分析值中存在参数项的分析值均小于或等于对应的基准值,此时,因为不满足发生预警信息的条件,则不发出对应于新增功能项的预警信息。但不发预警信息,不代表新增功能项对应的代码质量较好。

为此,可进一步的对新增功能项对应的代码质量进行监测。可使目标软件被加载时的各参数项对应的分析值与各参数项对应的基准值进行比较,确定目标软件被加载时的各参数项对应的分析值大于对应的基准值,发出对应于新增功能项的预警信息。

由此可知,使用整体软件被加载时的各参数项对应的数值作为辅助判断,实现对新增功能项的软件质量进一步判断,避免漏判出现。

本发明实施例提供的软件分析方法,通过将预设条件下软件自身被加载以及新增功能项被加载时的各参数项对应的分析值与各参数项对应的基准值进行比较,当存有参数项的分析值大于对应的基准值时发出预警信息,从而实现自动对新增功能项的软件代码进行检测,代替人工自检,提高代码质量检测效率,使得开发人员尽早对新增功能项进行重点关注,判断其是否需要软件完善。

图3示出了本发明一实施例提供的软件分析装置的结构示意图,从图3中可以看出,该装置包括获取模块31和分析模块32,其中:

获取模块31,用于确定预设条件下目标软件中新增功能项被加载时的各参数项对应的分析值;

分析模块32,用于使所述各参数项对应的分析值与各参数项对应的基准值进行比较,确定各参数项对应的分析值中存在参数项的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。

另外,还包括确定模块,用于确定所述新增功能项对应的代码行数;根据所述代码行数确定各参数项对应的基准值。

由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。

需要说明的是,本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

本发明实施例提供的软件分析装置,通过将预设条件下软件中新增功能项被加载时的各参数项对应的分析值与各参数项对应的基准值进行比较,当存有参数项的分析值大于对应的基准值时发出预警信息,从而实现自动对新增功能项的软件代码进行检测,代替人工自检,提高代码质量检测效率,使得开发人员尽早对新增功能项进行重点关注,判断其是否需要软件完善。

本发明一实施例提供的软件分析装置,该装置包括获取模块和分析模块,其中:

获取模块,用于确定预设条件下目标软件中新增功能项被加载时的各参数项对应的分析值,以及确定预设条件下目标软件被加载时的各参数项对应的分析值;

分析模块,用于使所述各参数项对应的分析值与各参数项对应的基准值进行比较,确定新增功能项被加载时的各参数项对应的分析值均小于或等于对应的基准值,且确定目标软件被加载时的各参数项对应的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。

另外,还包括确定模块,用于确定所述新增功能项对应的代码行数;根据所述代码行数确定各参数项对应的基准值。

由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。

需要说明的是,本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

本发明实施例提供的软件分析方法,通过将预设条件下软件自身被加载以及新增功能项被加载时的各参数项对应的分析值与各参数项对应的基准值进行比较,当存有参数项的分析值大于对应的基准值时发出预警信息,从而实现自动对新增功能项的软件代码进行检测,代替人工自检,提高代码质量检测效率,使得开发人员尽早对新增功能项进行重点关注,判断其是否需要软件完善。

图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)41、通信接口(communicationsinterface)42、存储器(memory)43和通信总线44,其中,处理器41,通信接口42,存储器43通过通信总线44完成相互间的通信。处理器41可以调用存储器43中的逻辑指令,以执行如下方法:确定预设条件下目标软件中新增功能项被加载时的各参数项对应的分析值;使所述各参数项对应的分析值与各参数项对应的基准值进行比较,确定各参数项对应的分析值中存在参数项的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。

此外,上述的存储器43中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:确定预设条件下目标软件中新增功能项被加载时的各参数项对应的分析值;使所述各参数项对应的分析值与各参数项对应的基准值进行比较,确定各参数项对应的分析值中存在参数项的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。


技术特征:

1.一种软件分析方法,其特征在于,包括:

确定预设条件下目标软件中新增功能项被加载时的各参数项对应的分析值;

使所述各参数项对应的分析值与各参数项对应的基准值进行比较,确定各参数项对应的分析值中存在参数项的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。

2.根据权利要求1所述的软件分析方法,其特征在于,所述确定预设条件下目标软件中新增功能项被加载的各参数项对应的分析值,包括:

采集预设条件下目标软件中新增功能项被加载时的记录信息,所述记录信息包含各参数项对应的数值;

根据所述记录信息包含的各参数项对应的数值确定各参数项对应的数值均值,使所述数值均值配置为所述分析值。

3.根据权利要求1所述的软件分析方法,其特征在于,还包括:

确定预设条件下目标软件被加载时的各参数项对应的分析值;

相应地,确定新增功能项被加载时的各参数项对应的分析值均小于或等于对应的基准值,且确定目标软件被加载时的各参数项对应的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。

4.根据权利要求1或3所述的软件分析方法,其特征在于,所述基准值的获取包括:确定所述新增功能项对应的代码行数;根据所述代码行数确定各参数项对应的基准值。

5.一种软件分析装置,其特征在于,包括:

获取模块,用于确定预设条件下目标软件中新增功能项被加载时的各参数项对应的分析值;

分析模块,用于使所述各参数项对应的分析值与各参数项对应的基准值进行比较,确定各参数项对应的分析值中存在参数项的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。

6.根据权利要求5所述的软件分析装置,其特征在于,所述获取模块具体用于:

采集预设条件下目标软件中新增功能项被加载时的记录信息,所述记录信息包含各参数项对应的数值;

根据所述记录信息包含的各参数项对应的数值确定各参数项对应的数值均值,使所述数值均值配置为所述分析值。

7.根据权利要求5所述的软件分析装置,其特征在于,所述获取模块还用于确定预设条件下目标软件被加载时的各参数项对应的分析值;

相应地,所述分析模块还用于:确定新增功能项被加载时的各参数项对应的分析值均小于或等于对应的基准值,且确定目标软件被加载时的各参数项对应的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。

8.根据权利要求5或7所述的软件分析装置,其特征在于,还包括确定模块,用于确定所述新增功能项对应的代码行数;根据所述代码行数确定各参数项对应的基准值。

9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述软件分析方法的步骤。

10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项权利要求所述软件分析方法的步骤。

技术总结
本发明实施例提供一种软件分析方法及装置,该方法包括:确定预设条件下目标软件中新增功能项被加载时的各参数项对应的分析值;使各参数项对应的分析值与各参数项对应的基准值进行比较,确定各参数项对应的分析值中存在参数项的分析值大于对应的基准值,发出对应于所述新增功能项的预警信息。本发明实施例提供的软件分析方法,通过将预设条件下软件中新增功能项被加载时的各参数项对应的分析值与各参数项对应的基准值进行比较,当存有参数项的分析值大于对应的基准值时发出预警信息,从而实现自动对新增功能项的软件代码进行检测,代替人工自检,提高代码质量检测效率,使得开发人员尽早对新增功能项进行重点关注,判断其是否需要软件完善。

技术研发人员:王务志
受保护的技术使用者:奇安信科技集团股份有限公司;网神信息技术(北京)股份有限公司
技术研发日:2020.01.23
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-26374.html

最新回复(0)