掌桥专利:专业的专利平台
掌桥专利
首页

基于机器学习算法的系统单元测试方法、电子设备及介质

文献发布时间:2024-04-18 19:58:30


基于机器学习算法的系统单元测试方法、电子设备及介质

技术领域

本发明涉及代码优化领域,更具体地,涉及一种基于机器学习算法的系统单元测试方法、电子设备及介质。

背景技术

系统单元测试是一种软件测试方法,传统的单元测试需要开发人员手动编写测试用例。这需要花费很多人工及工时,并且可能存在遗漏或错误的测试用例、无法捕获所有错误、随着软件的演化和变化,单元测试也需要人工进行维护和更新等问题。

因此,有必要开发一种基于机器学习算法的系统单元测试方法、电子设备及介质。

公开于本发明背景技术部分的信息仅仅旨在加深对本发明的一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。

发明内容

本发明提出了一种基于机器学习算法的系统单元测试方法、电子设备及介质,从多角度进行覆盖测试,减少系统错误率,能够更早的发现系统中存在的问题。

第一方面,本公开实施例提供了一种基于机器学习算法的系统单元测试方法,包括:

建立机器学习Neuroph工具库,通过多层组装神经网络进行初始数据的训练及测试,建立初始模型;

分析代码的逻辑和结构,根据所述初始模型生成新的测试用例;

执行新的测试用例并记录实际输出,将实际输出与对应的预期输出进行比较,调整所述初始模型;

根据比较的结果对新的测试用例进行分类整理,生成测试报告。

优选地,所述初始数据包括已知测试用例的输入和预期输出。

优选地,将所述已知测试用例的输入代入所述多层组装神经网络中,进行输出预测并与所述预期输出进行对比,进行针对所述多层组装神经网络的训练及测试,训练后的神经网络即为所述初始模型。

优选地,还包括:

根据代码的复杂性、重要性和历史缺陷数据因素,为测试用例分配优先级,确保重要的测试用例得到更高的测试覆盖率。

优选地,还包括:

通过学习正常的代码行为,检测异常或错误的行为,分析代码执行时的模式和行为,识别出潜在的错误或异常情况。

优选地,还包括:

分析测试结果和代码覆盖率数据,识别容易出错的区域。

优选地,所述分类整理包括:

对重复调用的模块进行分析处理,采用加权方式标注,对异常数据测试用例按模块分类存储入库,以便进行统计及分析。

优选地,通过ECharts图表方式展现所述测试报告。

第二方面,本公开实施例还提供了一种电子设备,该电子设备包括:

存储器,存储有可执行指令;

处理器,所述处理器运行所述存储器中的所述可执行指令,以实现所述的基于机器学习算法的系统单元测试方法。

第三方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现所述的基于机器学习算法的系统单元测试方法。

本发明的方法和装置具有其它的特性和优点,这些特性和优点从并入本文中的附图和随后的具体实施方式中将是显而易见的,或者将在并入本文中的附图和随后的具体实施方式中进行详细陈述,这些附图和具体实施方式共同用于解释本发明的特定原理。

附图说明

通过结合附图对本发明示例性实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施例中,相同的参考标号通常代表相同部件。

图1示出了根据本发明的一个实施例的基于机器学习算法的系统单元测试方法的步骤的流程图。

具体实施方式

下面将更详细地描述本发明的优选实施方式。虽然以下描述了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。

为便于理解本发明实施例的方案及其效果,以下给出三个具体应用示例。本领域技术人员应理解,该示例仅为了便于理解本发明,其任何具体细节并非意在以任何方式限制本发明。

实施例1

图1示出了根据本发明的一个实施例的基于机器学习算法的系统单元测试方法的步骤的流程图。

如图1所示,该基于机器学习算法的系统单元测试方法包括:步骤101,建立机器学习Neuroph工具库,通过多层组装神经网络进行初始数据的训练及测试,建立初始模型;步骤102,分析代码的逻辑和结构,根据初始模型生成新的测试用例;步骤103,执行新的测试用例并记录实际输出,将实际输出与对应的预期输出进行比较,调整初始模型;步骤104,根据比较的结果对新的测试用例进行分类整理,生成测试报告。

在一个示例中,初始数据包括已知测试用例的输入和预期输出。

在一个示例中,将已知测试用例的输入代入多层组装神经网络中,进行输出预测并与预期输出进行对比,进行针对多层组装神经网络的训练及测试,训练后的神经网络即为初始模型。

在一个示例中,还包括:

根据代码的复杂性、重要性和历史缺陷数据因素,为测试用例分配优先级,确保重要的测试用例得到更高的测试覆盖率。

在一个示例中,还包括:

通过学习正常的代码行为,检测异常或错误的行为,分析代码执行时的模式和行为,识别出潜在的错误或异常情况。

在一个示例中,还包括:

分析测试结果和代码覆盖率数据,识别容易出错的区域。

在一个示例中,分类整理包括:

对重复调用的模块进行分析处理,采用加权方式标注,对异常数据测试用例按模块分类存储入库,以便进行统计及分析。

在一个示例中,通过ECharts图表方式展现测试报告。

具体地,搭建开发框架,引入机器学习Neuroph工具库,采用多层组装神经网络,进行数据训练及测试,获得初始模型。

准备某项目的独立模块源码,编写测试用例,包括输入和预期输出。确保数据的质量和准确性,并进行必要的预处理和特征提取;选择合适的特征表示,以便机器学习算法能够理解和处理;使用收集和准备好的测试数据,对选择的机器学习模型进行训练。通过学习输入特征和预期输出之间的关系,建立模型的预测能力;使用独立的测试数据对训练好的初始模型进行评估,并根据评估结果进行调优。

根据学习现有的代码和测试用例,通过初始模型自动生成新的测试用例。根据模型的预测能力和测试需求,生成具有不同输入和边界条件的测试用例,以增加测试覆盖率。当测试无误后,提供接口支持随着新的测试数据和代码变更的出现,持续学习和更新机器学习模型。

因此,本方法可以基本覆盖所有代码路径,通过生成大量的单元测试用例,覆盖到代码的每个路径和边界情况。

引用mock框架对测试用例执行测试,并记录实际输出。将实际输出与预期输出进行比较,分析测试结果并提供反馈、调整初始模型。

在这个过程中,可以根据代码的复杂性、重要性和历史缺陷数据等因素,为测试用例分配优先级。这有助于测试团队更好地分配资源,并确保重要的测试用例得到更高的测试覆盖率。

也可以学习正常的代码行为,检测出异常或错误的行为,通过分析代码执行时的模式和行为,识别出潜在的错误或异常情况,帮助发现隐藏的问题。传统单元测试可以捕获一些错误和异常情况,但并不能保证捕获所有可能的错误,有些错误可能只在特定的环境或特定的输入条件下发生。本方法可以使用机器算法发现更多的错误信息。

还可以分析测试结果和代码覆盖率数据,提供哪些部分需要更多的测试和调试的建议,识别容易出错的区域,并提供相关的改进建议。按功能模块进行归类、分析、识别重点功能,对外提供消息接口,对异常情况进行提醒。

对重复调用的模块进行分析处理,生成测试报告,采用加权方式标注,对异常数据测试用例按模块分类存储入库,方便后期进行统计及分析,用ECharts图表方式展现相关数据。本方法可以自动执行测试用例,并生成测试报告。它可以监视测试执行的进度和结果,并提供实时的反馈和报告。

实施例2

本公开提供一种电子设备包括,该电子设备包括:存储器,存储有可执行指令;处理器,处理器运行存储器中的可执行指令,以实现上述基于机器学习算法的系统单元测试方法。

根据本公开实施例的电子设备包括存储器和处理器。

该存储器用于存储非暂时性计算机可读指令。具体地,存储器可以包括一个或多个计算机程序产品,该计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。该易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。该非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。

该处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制电子设备中的其它组件以执行期望的功能。在本公开的一个实施例中,该处理器用于运行该存储器中存储的该计算机可读指令。

本领域技术人员应能理解,为了解决如何获得良好用户体验效果的技术问题,本实施例中也可以包括诸如通信总线、接口等公知的结构,这些公知的结构也应包含在本公开的保护范围之内。

有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。

实施例3

本公开实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现所述的基于机器学习算法的系统单元测试方法。

根据本公开实施例的计算机可读存储介质,其上存储有非暂时性计算机可读指令。当该非暂时性计算机可读指令由处理器运行时,执行前述的本公开各实施例方法的全部或部分步骤。

上述计算机可读存储介质包括但不限于:光存储介质(例如:CD-ROM和DVD)、磁光存储介质(例如:MO)、磁存储介质(例如:磁带或移动硬盘)、具有内置的可重写非易失性存储器的媒体(例如:存储卡)和具有内置ROM的媒体(例如:ROM盒)。

本领域技术人员应理解,上面对本发明的实施例的描述的目的仅为了示例性地说明本发明的实施例的有益效果,并不意在将本发明的实施例限制于所给出的任何示例。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。

相关技术
  • 应用的测试方法、系统、电子设备和存储介质
  • 闪存器件可靠性测试方法、存储介质及电子设备
  • Monkey测试方法、装置、电子设备及计算机可读存储介质
  • 保险产品的测试方法及装置、存储介质及电子设备
  • 接口测试方法、接口测试装置、电子设备及存储介质
  • 一种单元测试方法、系统、电子设备及存储介质
  • 电子控制单元升级测试方法、系统、电子设备及存储介质
技术分类

06120116504578