基于SPEA2的无人机PX4中RESTfulAPI测试套件最小化方法技术

技术编号:34367571 阅读:22 留言:0更新日期:2022-07-31 09:32
本发明专利技术公开了一种基于SPEA2的无人机PX4中RESTfulAPI测试套件最小化方法,包括如下步骤:(1)确定无人机PX4中RESTfulAPI的测试用例的特性并设计生成测试用例;(2)针对无人机PX4的测试套件制定三个优化目标,即适应度函数;(3)给每个测试用例中的三个优化目标的数据来源打上标签,将数据自动收集汇总;(4)根据步骤(2)中的优化目标使用SPEA2算法对无人机PX4的测试套件进行最小化处理,得到最小化后的测试套件。本发明专利技术用以解决无人机PX4中RESTfulAPI的测试套件最小化问题,能够使设计出的测试套件适用于无人机PX4,通过SPEA2算法最小化后的测试套件具有更好的检测效果。测试套件具有更好的检测效果。测试套件具有更好的检测效果。

SPEA2 based method for minimizing restfulapi test suite in UAV Px4

【技术实现步骤摘要】
基于SPEA2的无人机PX4中RESTful API测试套件最小化方法


[0001]本专利技术属于软件测试领域,具体涉及一种基于SPEA2的无人机PX4中RESTful API测试套件最小化方法。

技术介绍

[0002]PX4是平台无关的自动驾驶仪软件(或称为固件),可以驱动无人机或无人车。它可以被烧写在某些硬件(如Pixhawk v2),并与地面控制站在一起组成一个完全独立的自动驾驶系统。
[0003]PX4地面控制站被称为QGroundControl,是PX4自驾系统不可分割的一部分,可以运行在Windows,OS X或Linux等多个平台。采用RESTful风格定义无人机PX4中的接口,可以轻松实现跨平台的调用,让使用不同编程语言的用户都能够访问调用操控无人机PX4。
[0004]对于无人机PX4中RESTful API的测试,通常会开发出一个测试套件来进行测试。但是,随着无人机PX4中RESTful API的数量的增加,测试用例的数量也会随之增加。考虑到时间和资源成本,实际上不可能执行所有的测试用例。因此,有必要寻找一种解决方案,在执行测试用例之前有效地最小化测试套件,以降低测试成本。
[0005]测试套件最小化(Test Suite Minimization,TSM)存在两个潜在的问题:一是最小化的测试套件可能不能够覆盖所有测试功能(即测试需求);二是最小化的测试套件可能比原始测试套件具有更低的故障检测能力。因此,在实际的测试工作中,需要基于各种成本(例如,测试用例的执行时间)和有效性标准(例如,故障检测能力)来筛选测试用例。测试用例选择的总体目标是选择能够在有限时间预算内执行的测试用例,同时最佳地满足各种成本和效率目标。因此,我们在测试信息物理系统中的RESTful API时也面临着挑战,即需要最小化用于测试产品的测试套件,同时能够实现高故障检测能力。

技术实现思路

[0006]专利技术目的:为了测试无人机PX4中RESTful API以及降低测试成本,本专利技术的目的是提供一种无人机PX4中RESTful API测试用例的设计方法和基于SPEA2算法的测试套件最小化方法。
[0007]技术方案:本专利技术所述的一种基于SPEA2的无人机PX4中RESTful API测试套件最小化方法,包括以下步骤:
[0008](1)根据无人机功能实现逻辑分析被测无人机PX4中各RESTful API的特性;
[0009](2)根据无人机PX4中各RESTful API的属性设计测试用例;
[0010](3)定义无人机PX4中RESTful API的测试套件的优化目标,确定优化目标的参数设置;
[0011](4)根据优化目标使用SPEA2算法对无人机PX4中RESTful API的测试套件最小化方法。
[0012]进一步地,所述步骤(1)包括以下步骤:
[0013](11)根据被测无人机PX4中RESTful API的特性确定各RESTful API的优先层级;在将确定各RESTful API的优先层级的时候,需要将各RESTful API根据功能依次分为以下层级:将基础控制功能API定义为基础控制层;将复杂操控功能API定义为复杂操控层;将逻辑策略功能API定义为逻辑策略层;
[0014](12)根据逻辑实现顺序分析各RESTful API之间的先后调用关系;
[0015](13)根据调用关系绘制调用图。
[0016]进一步地,所述步骤(2)包括以下步骤:
[0017](21)设计测试用例时需设置RESTful API的取值范围,根据提供的RESTful API设计说明确定测试输入值;
[0018](22)设计测试用例时根据步骤(1)的调用关系图顺序调用所需API。
[0019]进一步地,所述步骤(3)包括以下步骤:
[0020](31)在测试无人机PX4中的RESTful API时,执行测试用例后得到测试结构与预期结果不一致时,将从测试用例结果中检测到故障;根据PX4的物理特性及对无人机PX4系统运行的影响,对故障进行分类,确定发生故障的严重性,选取故障严重等级作为优化目标之一;
[0021](32)故障检测能力是用来评判测试用例的优劣的重要参数,故障检测能力越高的测试用例被视为性能更好的测试用例,选取故障检测能力作为优化目标之一;测试用例的故障检测能力用下面的方法来衡量:
[0022][0023]其中,FDC是故障检测能力;SucR
tci
是在给定执行次数内测试用例i的执行成功的百分比;NumSuc
tci
是在给定执行次数内测试用例i的执行成功的次数;NumFail
tci
是在给定执行次数内测试用例i的执行失败的次数;测试用例执行时间以实际执行时间为基准;
[0024](33)测试用例执行时间可以用来评估一个测试用例的优劣,选取测试用例执行时间作为优化目标之一。
[0025]进一步地,所述步骤(4)包括以下步骤:
[0026](41)使用SPEA2算法对测试用例的三个优化目标进行筛选优化,初始化种群,根据支配关系构造非支配解集:
[0027]对群体P进行分类排序的目的是为了将其划分成若干个互不相交的子群体,对个体分类排序的依据为Pareto支配关系;N为进化群体P的规模,M为归档集Q的大小,T为预定的进化代数;
[0028]初始化:产生一个初始种群P0,同时使归档集Q0为空,t=0;
[0029]适应度分配:计算P
t
和Q
t
中所有个体的适应度;
[0030]环境选择:将P
t
和Q
t
中所有的非支配个体保存到Q
t+1
中,若Q
t+1
的大小超过M,则利用修剪过程降低其大小;若Q
t+1
的大小比M小,则从P
t
和Q
t
中选取支配个体填满Q
t+1

[0031]结束条件:若t≥T,或其他终止条件满足,则将Q
t+1
中的所有非支配个体作为返回结果,保存到NDSet中;
[0032]配对选择:对Q
t+1
执行锦标赛选择;
[0033]进化操作:对Q
t+1
执行交叉、变异操作,并将结果保存到Q
t+1
中,t=t+1;
[0034](42)根据三个优化目标设置选择算子、交叉算子和变异算子的参数;选择测试套件作为输入,在仿真模拟器中进行测试模拟;运行算子,输出结果;
[0035](43)将精简后的测试用例合并为最小化后的测试套件。
[0036]有益效果:与现有技术相比,本专利技术的有益效果:测试用例的设计充分考虑了信息物理系统的特性,更加适用于信息物理系统的测试。与原始测试套件相比,该方法定义了三个优化目标,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SPEA2的无人机PX4中RESTful API测试套件最小化方法,其特征在于,包括以下步骤:(1)根据无人机功能实现逻辑分析被测无人机PX4中各RESTful API的特性;(2)根据无人机PX4中各RESTful API的属性设计测试用例;(3)定义无人机PX4中RESTful API的测试套件的优化目标,确定优化目标的参数设置;(4)根据优化目标使用SPEA2算法对无人机PX4中RESTful API的测试套件最小化方法。2.根据权利要求1所述的基于SPEA2算法的无人机PX4中RESTful API测试套件最小化方法,其特征在于,所述步骤(1)包括以下步骤:(11)根据被测无人机PX4中RESTful API的特性确定各RESTful API的优先层级;在将确定各RESTful API的优先层级的时候,需要将各RESTful API根据功能依次分为以下层级:将基础控制功能API定义为基础控制层;将复杂操控功能API定义为复杂操控层;将逻辑策略功能API定义为逻辑策略层;(12)根据逻辑实现顺序分析各RESTful API之间的先后调用关系;(13)根据调用关系绘制调用图。3.根据权利要求1所述的基于SPEA2算法的无人机PX4中RESTful API测试用套件最小化方法,其特征在于,所述步骤(2)包括以下步骤:(21)设计测试用例时需设置RESTful API的取值范围,根据提供的RESTfulAPI设计说明确定测试输入值;(22)设计测试用例时根据步骤(1)的调用关系图顺序调用所需API。4.根据权利要求1所述的基于SPEA2算法的无人机PX4中RESTful API测试用套件最小化方法,其特征在于,所述步骤(3)包括以下步骤:(31)在测试无人机PX4中的RESTful API时,执行测试用例后得到测试结构与预期结果不一致时,将从测试用例结果中检测到故障;根据PX4的物理特性及对无人机PX4系统运行的影响,对故障进行分类,确定发生故障的严重性,选取故障严重等级作为优化目标之一;(32)故障检测能力是用来评判测试用例的优劣的重要参数,故障检测能力越高的测试用例被视为性能更好的测试用例,选取故障检测能力作为优化目标之一;测试用例的故障检测能力用下面的方法来衡量:其中,FDC是故障检测...

【专利技术属性】
技术研发人员:王铁鑫燕嘉诚
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1