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

一种基于对抗仿真平台的自动化测试方法及系统

文献发布时间:2023-06-19 10:24:22


一种基于对抗仿真平台的自动化测试方法及系统

技术领域

本申请属于仿真系统设计技术领域,特别涉及一种基于对抗仿真平台的自动化测试方法及系统。

背景技术

随着空战对抗仿真平台功能的逐步完善,对抗仿真平台的逻辑也越来越复杂,原有的手工测试方法在效率和质量方面显得越发低下。调研发现,使用传统的手工测试方式主要存在以下问题:

重复性高。对抗仿真平台在项目迭代的测试过程中,大部分的工作是机械重复的去验证不同条件下功能的正确性和数据的准确性。

测试执行过程效率低。测试执行过程在整个测试过程中是最耗时的环节,传统的手工测试,测试执行过程主要是手工一个一个去执行测试用例,然后一个一个去比对测试结果,最后去做整体的测试结果统计,效率非常低。

存在人为误差。测试过程中人工操作的流程及步骤,无法保证在多次相同场景下操作流程及步骤的一致性;一些特殊场景或对精度要求比较高的实时数据,因为手工测试的原因,无法准确获取到测试过程中的中间结果及数据。

特殊测试需求无法得到满足。测试过程中经常要求频繁持续的执行测试,或在非工作时间去执行测试,比如仿真平台综合场景的7×24小时持续运行,这对人力的要求非常高,同时也很不人性化。

测试结果分析繁复且容易出错。传统的手工测试,测试过程执行完成后,需要人工分析测试数据、用例执行情况、缺陷分布情况等,不但工作量大,分析过程中也很容易出错。

综合以上,如何把测试人员从上述繁复、低效的测试工作中解脱出来,将更多的精力放在更全面的测试用例设计和新功能的测试上,成为实现高质高效测试的关键。

发明内容

本申请提供了一种专门用于空战对抗仿真平台的自动化测试解决方案,实现高质高效的自动化测试。

本申请第一方面提供了一种基于对抗仿真平台的自动化测试方法,包括:

步骤S1、获取测试用例数据信息;

步骤S2、获取测试用例组合方式、执行顺序及循环次数;

步骤S3、基于所述测试用例仿真飞机的功能模块,获取测试结果;

步骤S4、将测试结果与预置的预期结果进行比对,对结果不一致的测试用例记录为失败测试用例;

步骤S5、对测试结果进行数据统计,包括测试用例的通过率、测试用例的测试结果分布及失败测试用例的分布。

优选的是,步骤S1中,所述测试用例的属性信息记载在配置文件中,每个测试用例对应所述配置文件内的一个父节点,所述父节点关联一存储在文件中的子节点,所述子节点包括对应用例的编号、描述、等级、标签及预期结果。

优选的是,步骤S2中,所述测试用例组合方式、执行顺序及循环次数记载在配置文件中。

优选的是,所述配置文件中还包括线程设置配置,根据对抗系统的模块执行独立性,所述线程设置配置中设定了测试用例的多线程执行方式。

本申请第二方面提供了一种基于对抗仿真平台的自动化测试系统,包括:

测试用例获取模块,用于获取测试用例数据信息;

运行配置获取模块,用于获取测试用例组合方式、执行顺序及循环次数;

测试执行模块,用于基于所述测试用例仿真飞机的功能模块,获取测试结果;

结果比对模块,用于将测试结果与预置的预期结果进行比对,对结果不一致的测试用例记录为失败测试用例;

报告生成模块,用于对测试结果进行数据统计,包括测试用例的通过率、测试用例的测试结果分布及失败测试用例的分布。

优选的是,所述测试用例获取模块自配置文件中获取测试用例的属性信息,每个测试用例对应所述配置文件内的一个父节点,所述父节点关联一存储在文件中的子节点,所述子节点包括对应用例的编号、描述、等级、标签及预期结果。

优选的是,所述运行配置获取模块自配置文件中获取测试用例的配置信息,所述配置信息包括测试用例组合方式、执行顺序及循环次数。

优选的是,所述配置文件中还包括线程设置配置,根据对抗系统的模块执行独立性,所述线程设置配置中设定了测试用例的多线程执行方式。

本申请可批量运行测试用例,提高测试效率,可以处理场景复杂多样的模型测试任务,并进行结果统计分析并生成测试报告。

附图说明

图1是本申请基于对抗仿真平台的自动化测试方法的一优选实施例的流程图。

图2是本申请基于对抗仿真平台的自动化测试系统的一优选实施例的整体架构示意图。

具体实施方式

为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。下面通过参考附图描述的实施方式是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。下面结合附图对本申请的实施方式进行详细说明。

本解决方案的主要目的是为了解决上述问题,提供一种专门用于空战对抗仿真平台的自动化测试解决方案,实现高质高效的自动化测试过程。本解决方案主要解决如下技术问题:

通过自动化测试解决人工测试对抗仿真平台的测试执行过程重复性高的问题,机械重复的工作让程序来完成;通过自动化测试解决因测试用例多使得测试过程效率低的问题,让程序一个接一个的去执行测试用例;通过自动化测试解决测试过程及测试结果验证时容易出错的问题,把规则写到程序中让程序去执行去比对去统计。

本申请第一方面提供了一种基于对抗仿真平台的自动化测试方法,如图1所示,主要包括:

步骤S1、获取测试用例数据信息;

步骤S2、获取测试用例组合方式、执行顺序及循环次数;

步骤S3、基于所述测试用例仿真飞机的功能模块,获取测试结果;

步骤S4、将测试结果与预置的预期结果进行比对,对结果不一致的测试用例记录为失败测试用例;

步骤S5、对测试结果进行数据统计,包括测试用例的通过率、测试用例的测试结果分布及失败测试用例的分布。

本发明关键技术方案是:

1)将测试执行过程自动化。把测试执行过程进行抽象,将需要人工重复执行的部分独立出来,测试人员开发完自动化测试程序后,仿真平台在日常迭代过程中,测试执行过程由自动化测试程序自动来完成,测试人员只需要维护测试数据信息、维护少量测试代码即可。执行哪些测试用例,跑多少遍测试用例,跑多长时间的测试用例,均可以进行设置。

2)将测试数据与测试执行过程分离。测试数据独立成配置文件,测试代码独立为软件项目代码。将测试数据与测试执行过程分离来实现测试数据与测试代码的低耦合、高复用、易扩展。

3)自动生成测试报告。执行自动化测试程序时,程序自动将实际结果与预期结果进行比对,比对结果一致,则该测试用例通过,比对结果不一致,则该测试用例不通过。全部用例执行完成后,自动化测试程序自动把测试结果统计好并以邮件的形式发送给项目相关人员。

具体步骤如下:

1)以测试用例为最小粒度。把测试任务进行分解,将被测试系统拆分成不同的模块,再将模块按功能拆分成不同的功能点,再将功能点按测试要点拆分成不同的测试用例。自动化测试执行过程中,自动化测试程序可依次执行不同的测试用例。测试用例在自动化测试程序的代码实现过程中主要包括属性和方法。

2)测试用例的属性信息撰写在配置文件中。每个测试用例对应配置文件的一个父节点,子节点主要包括用例编号、描述、等级、标签、预期结果等信息。不同的迭代版本在测试过程中,只需要维护测试用例的配置文件即可。自动化测试过程中自动化测试程序自动到配置文件中读取测试用例的属性信息。

3)将测试用例的常用方法抽象成公共方法。测试用例的方法主要包括读取测试用例想定信息、仿真飞机常用功能、测试结果比对等各种方法,将这些常用的方法抽象为公共方法,个别不常用的方法定义成测试用例自己的私有方法。

4)自动执行单一测试用例组合成的综合测试场景。测试用例可按不同的需求进行组合,形成综合测试场景,如测试用例组合、执行顺序、循环次数等。综合测试场景可按照需求在测试用例的配置文件中进行定义,也可修改和删除综合测试场景。

5)自动执行定时任务。对于测试用例的执行时间、执行顺序、循环次数,形成不同的定时任务,定时任务可以立即执行也可以定时执行;在一些可选实施方式中,所述配置文件中还包括线程设置配置,根据对抗系统的模块执行独立性,所述线程设置配置中设定了测试用例的多线程执行方式,本申请的测试用例可以单线程顺序执行,也可以多线程执行或分布式执行。

6)自动生成执行测试过程的全量日志。定义指定格式的测试日志,测试过程执行完成后,无论执行失败还是执行成功的用例,均有测试过程数据存留,方便日后对测试结果进行分析,尤其是执行失败的测试用例。

7)自动bug登记。在自动化测试执行过程中,对于执行失败的测试用例,如果失败原因是结果值与预期值不一致,则系统判定该问题为bug,则自动将bug信息登记到bug跟踪系统。

9)自动生成测试报告。当测试执行完成后,自动化测试程序将自动发送测试报告,报告内容主要包括测试用例的通过情况统计、测试用例具体测试结果值、bug分布统计等。

本申请第二方面提供了一种与上述方法对应的基于对抗仿真平台的自动化测试系统,主要包括:

测试用例获取模块,用于获取测试用例数据信息;

运行配置获取模块,用于获取测试用例组合方式、执行顺序及循环次数;

测试执行模块,用于基于所述测试用例仿真飞机的功能模块,获取测试结果;

结果比对模块,用于将测试结果与预置的预期结果进行比对,对结果不一致的测试用例记录为失败测试用例;

报告生成模块,用于对测试结果进行数据统计,包括测试用例的通过率、测试用例的测试结果分布及失败测试用例的分布。

本实施例中,如图2所示,自动化测试平台主要包括测试用例管理、运行配置管理、测试执行管理及测试报告管理四个部分。

在测试用例管理方面,主要包括测试用例信息模块、测试用例代码模块及测试用例数据模块,测试用例信息模块主要是指对配置文件的管理,配置文件中记录了测试用例的属性信息,每个测试用例对应所述配置文件内的一个父节点,所述父节点关联一存储在文件中的子节点,所述子节点包括对应用例的编号、描述、等级、标签及预期结果;测试用例代码模块主要是指程序中的抽象的多个类及方法;测试用例数据模块是一个与配置文件关联的文件,记载了进行对抗仿真的想定信息、用例结果判断的限制条件以及预期结果。

在运行配置管理方面,主要包括环境配置模块及用例组织模块,这些信息同样记载在配置文件中,环境配置模块包括进行测试的软件或程序的地址,以及测试数据信息;用例组织模块包括用例等级、关键词、suite、执行顺序、时间、线程等等。

在测试执行管理方面,主要包括测试控制模块及测试日志模块,测试控制模块主要根据配置信息中规定的时间、线程数等启动对应的被测仿真软件,测试日志模块用于进行数据记录,包括用例编号及该用例对应的输出结果,是否存在bug等。

在测试报告管理方面,主要包括测试报告模块,其用来生成测试报告,根据预置的规则(包括报告样式、模板),将测试结果进行统计,并将统计结果形成报告输出。

在一些可选实施方式中,所述测试用例获取模块自配置文件中获取测试用例的属性信息。

在一些可选实施方式中,所述运行配置获取模块自配置文件中获取测试用例的配置信息,所述配置信息包括测试用例组合方式、执行顺序及循环次数。

在一些可选实施方式中,所述配置文件中还包括线程设置配置,根据对抗系统的模块执行独立性,所述线程设置配置中设定了测试用例的多线程执行方式。

本申请可批量运行测试用例,提高测试效率,可以处理场景复杂多样的模型测试任务,并进行结果统计分析并生成测试报告。

至此,已经结合附图所示的优选实施方式描述了本申请的技术方案,领域内技术人员应该理解的是,本申请的保护范围显然不局限于这些具体实施方式,在不偏离本申请的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本申请的保护范围之内。

相关技术
  • 一种基于对抗仿真平台的自动化测试方法及系统
  • 一种基于通信网络的配电自动化系统仿真测试方法
技术分类

06120112532535