一种物理层软件自动化测试方法和装置与流程

文档序号:12824637阅读:238来源:国知局
一种物理层软件自动化测试方法和装置与流程

本发明涉及自动化测试技术领域,特别是涉及一种物理层软件自动化测试方法和装置。



背景技术:

物理层(physicallayer,简称phy)软件一般承载在数字信号处理器(digitalsignalprocessor,简称dsp)之上,物理层软件主要完成物理层数字信号的调制解调功能。

长期演进(longtermevolution,简称lte)的物理层较为复杂,下行需要处理tm1~tm9各种传输模式,上行需要处理普通、mimo、超级小区、高铁、协作等各种场景;而且随着dsp芯片的更新,系统需求的完善,物理层软件需要不停地优化,代码变更尤其频繁,物理层软件的开发维护工作量巨大;而敏捷开发又需要尽量做到敏捷交付,因此自动化测试是保证变更能够尽快收敛的唯一途径,这种情况下开发一种可靠的并且易于定位和解决问题的自动化测试方法显得尤为重要。

目前的物理层软件自动化测试有两种。1、pc机ut测试,这种测试操作简单,定位问题速度快,但是单测试用例限于各模块,测试不够全面;2、上板测试,这种测试硬件测试,能测试到整套软件代码,但是定位解决问题手段有限,测试周期长,而且同样具有测试不够全面的问题。



技术实现要素:

本发明提供一种物理层软件自动化测试方法和装置,用以解决现有物理层 软件自动化测试不够全面的问题。

针对上述技术问题,本发明是通过以下技术方案来解决的。

本发明提供了一种物理层软件自动化测试方法,包括:参数生成器批量生成多组用例参数;算法仿真器分别生成每组用例参数对应的测试用例;测试代理器基于所述测试用例对待测物理层软件进行测试;测试客户端公布测试结果。

其中,在测试代理器基于所述测试用例对待测物理层软件进行测试之前,还包括:参数转换器根据物理层和上层之间的接口格式,对每个测试用例中的接口用例参数进行格式转换。

其中,所述参数生成器批量生成多组用例参数,包括:所述参数生成器根据遍历到的物理层各信道在各应用场景下的参数,分别生成每个信道的每个应用场景对应的用例参数。

其中,所述测试用例包括:输入数据、一组用例参数和输出参考;所述算法仿真器分别生成每组用例参数对应的测试用例,包括:所述算法仿真器基于所述一组用例参数运行,并在运行过程中生成所述一组用例参数对应的输入数据和输出参考。

其中,所述测试代理器基于所述测试用例对待测的物理层软件进行测试,包括:测试代理器基于所述测试用例对运行在物理层或模拟物理层上的待测物理层软件进行测试,并输出测试结果。

其中,所述测试代理器基于测试用例对待测的物理层软件进行测试,包括:所述测试代理器读入所述测试用例中的输入数据和用例参数;所述测试代理器调用待测物理层软件,执行测试,并生成输出结果;所述测试代理器将所述输出结果和所述测试用例中的输出参考进行比较,如果所述输出结果和所述输出参考相同,则测试结果为测试通过,反之测试结果为测试不通过。

本发明还提供了一种物理层软件自动化测试装置,包括:参数生成器,用于批量生成多组用例参数;算法仿真器,用于分别生成每组用例参数对应的测试用例;测试代理器,用于基于所述测试用例对待测物理层软件进行测试;测 试客户端,用于公布测试结果。

其中,所述装置还包括参数转换器;所述参数转换器,用于在测试代理器基于所述测试用例对待测物理层软件进行测试之前,根据物理层和上层之间的接口格式,对每个测试用例中的接口用例参数进行格式转换。

其中,所述参数生成器,用于根据遍历到的物理层各信道在各应用场景下的参数,分别生成每个信道的每个应用场景对应的用例参数。

其中,所述测试用例包括:输入数据、一组用例参数和输出参考;所述算法仿真器,用于基于所述一组用例参数运行,并在运行过程中生成所述一组用例参数对应的输入数据和输出参考。

其中,所述测试代理器,用于调用基于测试用例对运行在物理层或模拟物理层上的待测物理层软件进行测试,并输出测试结果。

其中,所述测试代理器,用于读入所述测试用例中的输入数据和用例参数,调用待测物理层软件,执行测试,并生成输出结果;将所述输出结果和所述测试用例中的输出参考进行比较,如果所述输出结果和所述输出参考相同,则测试结果为测试通过,反之测试结果为测试不通过。本发明有益效果如下:

本发明批量生成用于测试物理层软件全部功能的测试用例,在物理层软件开发阶段能够在pc机上发现并解决所有软件相关的问题;在物理层软件维护阶段可以对每日构建进行测试,并生成测试日志,实现对物理层软件持续集成,可靠性高。

附图说明

图1是根据本发明一实施例的物理层软件自动化测试方法的流程图;

图2是根据本发明一实施例的物理层软件自动化测试方法的具体流程图;

图3是根据本发明一实施例的物理层软件自动化测试装置的结构图。

具体实施方式

本发明用于测试物理层软件的全部功能,在物理层软件开发阶段能够在pc机上发现并解决所有软件相关的问题;在物理层软件维护阶段可以对每日构建进行测试,并生成测试日志,实现对物理层软件持续集成,可靠性高。本发明可以直接测试物理层软件,并且可以完全剥离或部分剥离底层硬件,是持续集成的基本保证,可以显著缩短物理层软件的交付周期。

以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

本发明实施例提供了一种物理层软件自动化测试方法。图1是根据本发明一实施例的物理层软件自动化测试方法的流程图。本实施例可以在pc机侧执行,使物理层软件的全功能测试无需上板测试。

步骤s110,参数生成器批量生成多组用例参数。

参数生成器批量生成用于测试物理层软件全部功能的多组用例参数。

每组用例参数是用于生成测试用例的关键参数。关键参数包括:接口用例参数等。每组用例参数都可以生成用于测试物理层软件的测试用例。

步骤s120,算法仿真器分别生成每组用例参数对应的测试用例。

每组用例参数可以对应生成一个测试用例。

算法仿真器可以根据多组用例参数批量生成测试用例,或者根据多组用例参数顺序为每组用例参数对应生成测试用例。

算法仿真器生成的多个测试用例用于测试物理层软件的全部功能。

步骤s130,测试代理器基于测试用例对待测物理层软件进行测试。

测试代理器基于算法仿真器生成的多个测试用例对待测物理层软件进行测试,并输出测试结果。

步骤s140,测试客户端公布测试结果。

测试客户端获取测试代理器输出的测试结果,并予以公布,使用户看到该测试结果,并根据该测试结果对待测物理层软件进行调试。

本发明的测试类型为软件测试,软件测试在定位、解决问题的效率上相较 于硬件测试提高了至少3倍,因此,本发明的测试效率高。本发明可以生成测试物理层软件全部功能的测试用例,在物理层软件开发阶段能够在pc机上发现并解决所有软件相关的问题,在物理层软件维护阶段可以对每日构建进行测试,可靠性高。

图2是根据本发明一实施例的物理层软件自动化测试方法的具体流程图。

步骤s210,初始化自动化测试系统。

自动化测试系统用于测试物理层软件的全部功能。

自动化测试系统包括:参数生成器、算法仿真器、参数转换器、测试代理、被测试代码(待测物理层软件)、测试客户端。

步骤s220,参数生成器批量生成多组用例参数。

在每组用例参数中,包括:接口用例参数、场景用例参数等关键参数。

参数生成器根据各信道的各应用场景,遍历各信道在各应用场景下的参数,分别生成每个信道的每个应用场景对应的一组用例参数;分别将每组用例参数输入到对应的用例参数文件中进行存储。有多少组用例参数即有多少组用户参数文件。

具体而言,参数生成器离线生成多组用例参数。参数生成器预先针对各信道的各应用场景分别定制需要遍历的参数及该参数的遍历值,并为定制的每个信道的每个应用场景下的参数及其遍历值,生成对应的.txt格式的文件;参数生成器分别遍历每个.txt格式的文件,并将遍历到的参数及其遍历值写入对应的用例参数文件中。

进一步地,参数生成器制定用例参数生成配置文件,该用例参数生成配置文件对各信道的各应用场景分别设计参数及其遍历值,并分别存储在.txt格式的文件中,参数生成器遍历.txt格式的文件,批量生成各信道在各应用场景下的用例参数文件。

以业务信道的普通应用场景为例,参数生成器批量生成 atp_params_fdd_pusch_normal_00000x.dat文件,该文件包含算法仿真器生成测试用例所需要的参数。其中,实现所需要的部分参数可选。该atp_params_fdd_pusch_normal_00000x.dat文件是参数生成器和算法仿真器的接口,每个用例参数文件可以对应生成一个测试用例,用例参数文件的命名和存放路径遵循预定规则。

用例生成器可以是在pc机上使用可编程语言编写的用例生成应用程序。

步骤s230,算法仿真器分别生成每组用例参数对应的测试用例。

测试用例包括:输入数据、用例参数和输出参考。

测试用例中的输入数据包括:接收天线数据。

测试用例中的一组用例参数可以是包含该组用例参数的用例参数文件。

测试用例中输出参考是指:算法仿真器获取一组用例参数,并基于该一组用例参数运行,在运行过程中,算法仿真器生成该一组用例参数对应的输入数据和输出数据。该输出数据即是输出参考。该输出参考可以作为判定物理层软件是否通过测试的标准。

具体而言,将批量生成的多组用例参数输入算法仿真器,算法仿真器根据每组用例参数,分别生成测试用例,基于生成的多个测试用例形成测试包。

每组用例参数可以生成一个静态的测试用例。将批量生成的用例参数文件输入到算法仿真器,其中,每个用例参数文件都可以作为算法仿真器的一个完整输入。算法仿真器在输入的用例参数文件的过程中,可以顺序的根据单个用例参数文件生成测试用例、或者根据多个用例参数文件批量生成测试用例。

进一步地,算法仿真器从用例参数文件的存放路径下逐个读取用例参数文件并逐个生成测试用例,测试用例包括一个输入数据文件,一个输出参考文件以及一个用例参数文件。其中,输入数据文件和输出参考文件均为.bin格式,输出用例参数文件为.txt格式。

算法仿真器还可以对用例参数进行加工处理或者透传。

加工处理是指:模拟高层,根据测试用例中的高层协议参数计算生成phy 层需要的参数等。

透传是指将一些算法仿真器不关心的参数按照输入格式输出,为了方便后续的参数格式转换。

算法仿真器能够和应用代码达到bittrue。参数生成器采用matlab编写,算法仿真器可以是matlab仿真器,因此参数生成器和算法仿真器都承载在matlab上。

步骤s240,参数转换器根据物理层和上层之间的接口格式,对每个测试用例中的接口用例参数进行格式转换。

物理层的上层为数据链路层和用户面。

参数转换器将用例参数文件中的参数进行处理,将每个测试用例的接口用例参数转换为物理层和上层之间的接口格式。参数转换器读入测试用例中的用例参数文件,识别用例参数文件中的接口用例参数,将接口用例参数转换成phy与上层之间的接口格式。参数转换器可以根据不同的接口灵活处理。

该参数转换器可以是可编程语言编写的程序。本实施例中的参数转换器承载在编译器vc上,编译器vc逐个读取用例参数文件中的各个参数,根据phy侧接口需要加工生成高层和phy的接口,保存成.bin格式。转换后的接口与上层和phy的接口完全相同。

经格式转换后的测试用例构成可以对物理层软件进行测试的完整用例。

步骤250,测试代理器基于测试用例对待测物理层软件进行测试。

测试代理器基于测试用例对运行在物理层或仿真物理层上的待测物理层软件进行测试,并输出测试结果。

进一步地,测试代理器读入测试用例中的输入数据和用例参数,调用待测物理层软件,执行测试,并生成输出结果;测试代理器将输出结果和该测试用例中的输出参考进行比较,如果输出结果和输出参考相同,则测试结果为测试通过,反之测试结果为测试不通过。

具体的,测试代理器承载在dsp芯片软仿器上或者承载在pc机上。dsp 芯片软仿器可以模拟dsp芯片的运行。

.bin格式的输入数据文件和输出参考文件、以及经格式转换的.bin格式的用例参数文件构成了测试用例的完整集。将测试用例放到测试代理器的指定目录,调用测试代理器进行测试,该测试代理器调用应用调度主函数进行测试。

如果该测试代理器运行在dsp芯片软仿器上,则将需要测试的底层函数桩去掉进行片上仿真测试。

如果该测试代理器运行在pc机上,则需要将所有底层加桩,该桩函数也是测试代理器的一部分。

测试代理器在pc机上搭建自动化测试系统,将底层加桩,并编写用例读入和比对代码。桩函数设置好需要测试的测试包,每个测试包可以包含若干个测试集。通过测试客户端启动测试代理器执行测试,测试需要对测试包中的所有测试用例都需要调用钩子函数执行以下步骤:

步骤1,读入测试用例中的用例参数文件和输入数据文件;

步骤2,调用物理层的被测试代码(物理层软件)的应用调度主函数,并进行处理,收集所有的输出结果。

步骤3,读入输出参考文件,将收集的测试和参考输出进行比对,并输出比对结果。该对比结果即是测试结果。进一步地,将测试结果和输出参考进行比较,如果测试结果和输出参考相同,则测试结果为测试通过,如果测试结果和输出参考不同,测试不通过。

步骤s260,测试客户端发布测试结果。

该测试客户端可以jenkins测试客户端。

测试客户端可以实现分布式测试,并将测试结果以邮件的形式发布出去。发布结果可以直接显示在邮件中,也可以在邮件中设置获取测试结果的途径。

当所有测试用例执行完毕之后,测试客户端收集测试结果,并向测试人员发布测试结果。

本发明实施例具有以下优点:

本发明通过用例生成器,分信道、分应用场景地遍历物理层参数所有组合,批量生成测试用例,基于本发明甚至可以构造比实际环境中更复杂的测试用例,通过测试用例全覆盖,显著提高了测试的可靠性。

本发明通过部分和全部剥离硬件,克服了以往全功能测试必须基于dsp板上测试的弊端,达到在pc机和dsp芯片软仿器测试解决所有软件问题的效果,有效提高了测试效率高,降低了问题定位和解决代价,缩短版本收敛周期。

本发明通过测试客户端,根据需要进行实时自动测试并发布测试结果,便于第一时间针对变更进行测试和结果发布,降低了测试维护成本的同时,尽快发现问题,提高持续集成有效性。

本发明实施例还提供了一种物理层软件自动化测试装置。图3是根据本发明一实施例的物理层软件自动化测试装置的结构图。

参数生成器310,用于批量生成多组用例参数。

算法仿真器320,用于分别生成每组用例参数对应的测试用例。

测试代理器330,用于基于测试用例对待测物理层软件进行测试。

测试客户端340,用于公布测试结果。

在一个实施例中,所述装置还包括参数转换器(未示出);参数转换器,用于在测试代理器基于测试用例对待测的物理层软件进行测试之前,根据物理层和上层之间的接口格式,对每个测试用例中的接口用例参数进行格式转换。

参数生成器310,用于根据遍历到的物理层各信道在各应用场景下的参数,分别生成每个信道的每个应用场景对应的一组用例参数。

所述测试用例包括:输入数据、一组用例参数和输出参考,所述测试用例是将用例参数输入算法仿真器之后得到的;所述算法仿真器320,用于基于所述一组用例参数运行,并在运行过程中生成所述一组用例参数对应的输入数据和输出参考。这样,就形成了该组用例参数对应的测试用例。

测试代理器330,用于基于测试用例对运行在物理层或模拟物理层上的待 测物理层软件进行测试,并输出测试结果。

测试代理器330,用于读入测试用例中的输入数据和用例参数,调用待测物理层软件,执行测试,并生成输出结果;将所述输出结果和所述测试用例中的输出参考进行比较,如果所述输出结果和所述输出参考相同,则测试结果为测试通过,反之测试结果为测试不通过。

本实施例所述的装置的功能已经在图1-图2所示的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

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