CN113342699B - 一种软件无线电符合性测试方法及系统 - Google Patents

一种软件无线电符合性测试方法及系统 Download PDF

Info

Publication number
CN113342699B
CN113342699B CN202110844182.0A CN202110844182A CN113342699B CN 113342699 B CN113342699 B CN 113342699B CN 202110844182 A CN202110844182 A CN 202110844182A CN 113342699 B CN113342699 B CN 113342699B
Authority
CN
China
Prior art keywords
test
node
sequence
test task
pagerank value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110844182.0A
Other languages
English (en)
Other versions
CN113342699A (zh
Inventor
张伟
张健
伍旭东
贺建飙
李芳芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central South University
Original Assignee
Central South University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Central South University filed Critical Central South University
Priority to CN202110844182.0A priority Critical patent/CN113342699B/zh
Publication of CN113342699A publication Critical patent/CN113342699A/zh
Application granted granted Critical
Publication of CN113342699B publication Critical patent/CN113342699B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及了一种软件无线电符合性测试方法及系统,所述测试方法采用动态更新复杂网络模型,及根据每个测试任务节点的PageRank值动态输出复杂网络模型的的测试序列的动态方式,实现测试序列的自动生成,即,本发明基于黑盒测试的理念,提供一种软件无线电符合性测试的自动规划方法,能够根据需求自动生成可行性的测试用例执行序列,保证测试过程能够正常的进行。

Description

一种软件无线电符合性测试方法及系统
技术领域
本发明涉及软件无线电测试技术领域,特别是涉及一种软件无线电符合性测试方法及系统。
背景技术
SDR(Software Define Radio,软件定义无线电)最初源于E-Systems公司,该公司在一份电报中创造了这个术语。当时它所指代的是一个原型数字基带接收机,并为其配置了一组处理器,可根据接收到的信息类型,执行相应的滤波操作,获取所需的信息。随后在1992年的通信系统会议上,SDR的概念首次被提出,并迅速引起世界各国的注意。
传统的基于硬件的无线电通信技术,由于其通信功能均由硬件实现,功能参数基本固定,这使得不同制式的通信设备之间难以实现互联互通,这很大程度上限制了无线电技术的发展。而SDR概念的出现改变了这一状况,它的核心思想是构造准变化、模块化的通用硬件平台,依托于这样一个平台,将原本由硬件设备实现的各项通信功能采用软件编程的方式来实现,这一想法使得通信功能的实现不在依托于固定的设备,能让波形应用屏蔽底层硬件设备的差异,提升了SDR软件平台的硬件无关性。
SDR的概念出现之后,世界各国与社会各方都在积极研发自己的SDR系统,由于使用的技术各不相同,这使得由不同厂家制造的SDR设备之间难以实现互操作,SDR应用缺乏跨平台性。为了保证SDR系统更加规范化、标准化,软件通信体系结构(SoftwareCommunications Architecture ,SCA)标准应运而生,是目前被认可的关于软件无线电体系结构的唯一标准。最初由美国开发和出版,后由联合战术网络中心和该行业中各大组织共同维护并且不断更新。
SCA标准是一个开放式的、独立于系统现实的软件架构标准,它主要简要的概述了SDR系统中软件平台与硬件设备交互工作的过程,其目的是实现无线通信设备硬件模块化,确保各个设备之间能够相互联通。该标准并不是一个严格的系统实现标准,就其本质而言,它是一个SDR系统的设计规则的集合。它制定了SDR系统的软硬件体系架构,并给出了各种应用组件的API要求以及一系列行为规范,由于对系统的具体实现并没有提出明确的要求,而不同厂家所研发的SDR产品由于其软硬件环境存在差异,可能导致并不兼容的情况,因此必须依照SCA标准对这些产品进行符合性测试,以保证这些产品的通用性。
SCA标准中存在的测试需求数量较多,需要依据具体的需求内容确定合适的测试方法,其测试方法主要分为4种,分别是检查、分析、演示和测试。检查和分析主要是从系统完整性的方面考虑,对组件的层次结构、聚合要求进行验证,保证各种必须接口的存在,并保证配置文件的格式正确以及文件中的各项数据符合规范。测试的方法,用于保证各个组件的基础功能实现,多是用于检查和分析之后,对组件的实际功能进行测试,最后通过演示表现组件状态以及测试结果的可靠性。
目前,国际上对于SCA符合性测试领域的研究已有了初步的成果,并且已经出现了一些可行的测试工具,但这些工具大多是基于白盒测试的理念,采用静态分析的方法对SDR产品进行测试,验证其标准符合性,或者采用基于组件开发的概念,从开发端去解决产品符合性的问题,但这些测试工具的使用都需要人工的参与。中国国内目前所采取的测试方法,是对任意测试需求,构造单独的测试用例,在面对具体测试时,将这些测试用例进行选择并按照一定顺序进行拼接,执行测试。现阶段主要面临的问题如下:
(1)SCA标准是一个随着时间推移而不断发展的标准,其中的测试需求会随着技术的发而不断增加、改变。采用传统的方法进行测试,在根据标准变化而进行扩展时,可能会消耗大量的成本。
(2)符合性测试是一个以组件为单位的测试,在测试过程中,不同的需求测试可能会造成组件的状态属性的改变,进而对测试的过程造成影响。采用静态分析的测试方法,难以很好的把握需求测试与组件状态之间的相互关系,可能带来不正确的测试结果;采用测试用例拼接执行测试,需要保证测试用例的执行有一定的顺序关系,才能保证各项测试能够正常的进行,因而存在一定的难度。
(3)在对任意组件进行符合性测试时,都包含大量的测试需求,而目前的测试工具均需要人工参与测试,容易造成错漏。
发明内容
本发明的目的是提供一种软件无线电符合性测试方法及系统,以提供一种软件无线电符合性测试的自动规划方法,能够根据需求自动生成可行的测试用例执行序列,保证测试过程能够正常的进行。
为实现上述目的,本发明提供了如下方案:
本发明提供一种软件无线电符合性测试方法,所述测试方法包括如下步骤:
根据软件无线电符合性测试的测试需求集,构建用于表示测试任务之间的关联关系的复杂网络模型;
计算所述复杂网络模型中每个测试任务节点的PageRank值;
根据每个测试任务节点的PageRank值,采用轮盘赌选择法生成测试序列;
对所述测试序列进行覆盖性验证,判断所述测试序列是否满足测试需求集中的每个测试任务的全覆盖要求,获得第一判断结果;
若所述第一判断结果表示否,则对所述复杂网络模型进行更新,返回步骤“计算所述复杂网络模型中每个测试任务节点的PageRank值”;
若所述第一判断结果表示是,则输出所述测试序列。
可选的,所述输出所述测试序列,之后还包括:
将所述测试序列划分成多个测试子序列,构建测试子序列集合;
采用模拟退火算法对所述测试子序列集合进行优化。
可选的,所述计算所述复杂网络模型中每个测试任务节点的PageRank值,具体包括:
利用公式,计算所述复杂网络模型中每个测试任务节点的PageRank值;
其中,PR(v i )表示为测试任务结点v i 的PageRank值,α为阻尼系数,N为测试任务结点的总数,a表示具体的测试操作,C(a)表示前置条件中包含a的测试任务结点的集合,β表示a的完成状态系数,B(a)表示测试任务结点操作中包含a的测试任务结点的集合,A(v i )表示测试任务结点v i 所包含的操作集合。
可选的,所述利用公式,计算所述复杂网络模型中每个测试任务节点的PageRank值,之后还包括:
构建包含每个测试任务节点的PageRank值的节点PageRank值序列;
利用公式 ,对节点PageRank值序列进行优化,直到节点PageRank值序列中的每个测试任务节点的PageRank值均收敛;
其中,和/>分别表示第n+1次迭代后和第n次迭代后的节点PageRank值序列,/>和/>分别表示第n+1次迭代后和第n次迭代后的迭代矩阵,E为单位矩阵。
可选的,所述根据每个测试任务节点的PageRank值,采用轮盘赌选择法生成测试序列,具体包括:
在复杂网络模型中选取初始的测试任务节点作为当前结点;
根据每个测试任务节点的PageRank值,利用公式,计算当前结点的可达节点集合中每个测试任务节点的被选中概率;当前结点的可达节点集合为当前未加入所述测试序列中的所有测试任务结点中当前结点的后续可达测试任务结点的集合;
其中,P i 表示为第i个测试任务节点的被选中概率,B(u)表示为当前未加入所述测试序列中的所有测试任务结点中当前结点u的后续可达测试任务结点的集合,n表示为B(u)包含的测试任务节点的个数,v j 表示为B(u)中的第j个测试任务结点,PR(v i )和PR(v j )分别表示为测试任务结点v i v j 的PageRank值;
根据当前结点的可达节点集合中每个测试任务节点的被选中概率,采用轮盘赌选择法从当前结点的可达节点集合中选取测试任务节点加入所述测试序列中,并将选取的所述测试任务节点作为当前结点,返回步骤“根据每个测试任务节点的PageRank值,利用公式,计算当前结点的可达节点集合中每个测试任务节点的被选中概率”,直到当前结点的可达节点集合为空集,输出所述测试序列。
可选的,所述采用模拟退火算法对所述测试子序列集合进行优化,具体包括:
为模拟退火算法设置初始温度T s 、目标温度T e 和降温函数H(t);
将所述测试子序列集合作为更新前的测试子序列集合;
在更新前的测试子序列集合中随机选取两个测试子序列,分别标记为测试子序列A和测试子序列B;
对测试子序列A和测试子序列B进行扰动更新,获得两个更新后的测试子序列,并利用两个更新后的测试子序列替换所述测试子序列集合中的测试子序列A和测试子序列B,获得一次更新后的测试子序列集合;
将一次更新后的测试子序列集合中每个元素均被其他测试子序列包含的测试子序列删除,获得二次更新后的测试子序列集合;
计算更新前的测试子序列集合和二次更新后的测试子序列集合的测试用时差;
判断所述测试用时差是否大于0,获得第二判断结果;
若所述第二判断结果表示是,则将二次更新后的测试子序列集合作为更新前的测试子序列集合;
若所述第二判断结果表示否,则根据所述测试用时差,利用公式P =exp(ΔE/t)计算接受概率,并判断所述接受概率是否大于概率阈值,获得第三判断结果;其中,P 表示接受概率,ΔE表示测试用时差,t表示当前温度;
若所述第三判断结果表示是,则将二次更新后的测试子序列集合作为更新前的测试子序列集合;
利用公式t=H(t)更新当前温度,并返回步骤“在更新前的测试子序列集合中随机选取两个测试子序列,分别标记为测试子序列A和测试子序列B”,直到当前温度t满足t≤ Te,输出当前测试序列子集合,其中,H(t)表示模拟退火算法中的温度更新函数。
一种软件无线电符合性测试系统,所述测试系统包括:
复杂网络模型构建模块,用于根据软件无线电符合性测试的测试需求集,构建用于表示测试任务之间的关联关系的复杂网络模型;
PageRank值计算模块,用于计算所述复杂网络模型中每个测试任务节点的PageRank值;
测试序列生成模块,用于根据每个测试任务节点的PageRank值,采用轮盘赌选择法生成测试序列;
第一判断模块,用于对所述测试序列进行覆盖性验证,判断所述测试序列是否满足测试需求集中的每个测试任务的全覆盖要求,获得第一判断结果;
复杂网络模型更新模块,用于若所述第一判断结果表示否,则对所述复杂网络模型进行更新,返回步骤“计算所述复杂网络模型中每个测试任务节点的PageRank值”;
测试序列输出模块,用于若所述第一判断结果表示是,则输出所述测试序列。
可选的,所述测试系统还包括:
测试序列划分模块,用于将所述测试序列划分成多个测试子序列,构建测试子序列集合;
测试子序列集合优化子模块,用于采用模拟退火算法对所述测试子序列集合进行优化。
可选的,所述PageRank值计算模块,具体包括:
PageRank值计算子模块,用于利用公式,计算所述复杂网络模型中每个测试任务节点的PageRank值;
其中,PR(v i )表示为测试任务结点v i 的PageRank值,α为阻尼系数,N为测试任务结点的总数,a表示具体的测试操作,C(a)表示前置条件中包含a的测试任务结点的集合,β表示a的完成状态系数,B(a)表示测试任务结点操作中包含a的测试任务结点的集合,A(v i )表示测试任务结点v i 所包含的操作集合。
可选的,所述PageRank值计算模块还包括:
节点PageRank值序列构建子模块,用于构建包含每个测试任务节点的PageRank值的节点PageRank值序列;
节点PageRank值序列优化子模块,用于利用公式,对节点PageRank值序列进行优化,直到节点PageRank值序列中的每个测试任务节点的PageRank值均收敛;
其中,和/>分别表示第n+1次迭代后和第n次迭代后的节点PageRank值序列,,/>和/>分别表示第n+1次迭代后和第n次迭代后的迭代矩阵,E为单位矩阵。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开了一种软件无线电符合性测试方法,所述测试方法包括如下步骤:根据软件无线电符合性测试的测试需求集,构建用于表示测试任务之间的关联关系的复杂网络模型;计算所述复杂网络模型中每个测试任务节点的PageRank值;根据每个测试任务节点的PageRank值,采用轮盘赌选择法生成测试序列;对所述测试序列进行覆盖性验证,判断所述测试序列是否满足测试需求集中的每个测试任务的全覆盖要求,获得第一判断结果;若所述第一判断结果表示否,则对所述复杂网络模型进行更新,返回步骤“计算所述复杂网络模型中每个测试任务节点的PageRank值”;若所述第一判断结果表示是,则输出所述测试序列。本发明采用动态更新复杂网络模型,及根据每个测试任务节点的PageRank值动态输出复杂网络模型的的测试序列的动态方式,实现测试序列的自动生成,即,本发明基于黑盒测试的理念,提供一种软件无线电符合性测试的自动规划方法,能够根据需求自动生成可行性的测试用例执行序列,保证测试过程能够正常的进行。
本发明还采用模拟退火算法对测试序列进行优化,减少测试序列中存在的冗余测试。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种软件无线电符合性测试方法的流程图;
图2为本发明实施例1提供的复杂网络模型的实例图;
图3为本发明实施例1提供的图2所示的复杂网络模型转化后的的测试需求网络示意图;
图4为本发明实施例1提供的采用模拟退火算法对所述测试子序列集合进行优化的流程图;
图5为本发明实施例1提供的对随机选取的测试子序列进行扰动更新的原理图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种软件无线电符合性测试方法及系统,以提供一种软件无线电符合性测试的自动规划方法,能够根据需求自动生成可行的测试用例执行序列,保证测试过程能够正常的进行。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例1
如图1所示,本发明提供一种软件无线电符合性测试方法,所述测试方法包括如下步骤:
步骤101,根据软件无线电符合性测试的测试需求集,构建用于表示测试任务之间的关联关系的复杂网络模型。
根据SCA标准的测试需求集,构建用于表示测试需求之间相互关系的基于复杂网络的符合性测试模型,并采用四元组进行表示。所述四元组表示为“C=<S,V,E,R>”,其中S为测试需求集合,在复杂网络模型中作为结点集合,用于记录测试需求,可以标记为执行条件(C)和执行操作(A)的形式,即C/A,可以根据具体功能、执行条件、执行动作进行描述,即Function(Condition)/Action;V表示为模型的状态变量集合,用于记录组件运行过程中存在的变量,展示组件的具体状态;E为复杂网络模型中的有向边集合,用于表示测试任务结点之间的可行性转移关系;R为复杂网络模型的更新规则,用于对模型进行阶段性重构,以保证每次选择的测试任务结点都是在当前状态下可用的,在本发明中,更新规则主要表现为测试任务结点的删除规则和结点间有向边的新增和删除规则。具体实例测试需求集如表1所示,根据表1所述的测试需求集构造基于复杂网络的符合行测试模型,即复杂网络模型,其结构如图2所示。在复杂网络模型中,变量集合V采用变量记录表的形式进行展示。变量记录表主要用于记录组件在测试过程中存在的各种状态如初始化、连接等,均采用布尔类型的值进行表示,值得注意的是,组件间的连接和组件载荷等,由于存在复数并且指向具体单位,因此采用需列表进行表述。根据测试任务需求和变量记录表,可以动态的对模型进行更新,再根据当前结点找到后续可执行的需求测试,加入到测试序列中,并根据需求测试的具体执行改变变量记录表的内容,反复这个过程,直到测试序列满足覆盖要求。
表 1 测试需求集的描述列表
Req Function(动作) Condition(条件) Action(动作)
17 Release initialize==true All=false
33 Start initialize==true&& start==false start=true
53 GetProvidesPorts initialize==true&& start==true Null
388 Create initialize==true&& start==true create=true
432 Initialize initialize==false initialize=true
步骤101具体包括步骤一到步骤四。
步骤一、确定模型的结点集合S。对SCA标准的所有测试需求进行过程分析,确定每个需求测试所涉及的具体功能、测试执行的前置条件、测试的具体操作,以确定其Function(Condition)/Action的表现形式,根据具体输入的测试需求集,挑选对应的测试需求,加入到结点集合S中。
步骤二、确定变量集合V所包含的元素。将结点集合S中的所有测试任务所涉及到的具体操作的元素加入到变量集合V中,在初始状态下,这些元素所对应的变量值均为false。
步骤三、构建模型的初始有向边集合E。定义二元操作符“*”,“S 1 *S 2 ”表示S1与S2的并集,并将此并集中重复的元素采用S 2 中的元素替代。采用公式“”即可获得测试任务i执行后的变量集合result i 。若任务结点i的最终变量集合result i 能够满足某一测试节点j的前置条件集合,即“/>”,则添加任务结点i指向任务结点j的有向边,并将其加入有向边集合E:
步骤四、根据当前的变量集合V,选择任意当前状态下可执行的测试任务结点,将其设置为初始结点,加入到测试序列当中。
步骤102,计算所述复杂网络模型中每个测试任务节点的PageRank值。
PageRank算法是当前Google网页排序算法的关键技术。该算法的核心思想是在一个网络结构中,一个结点的重要性取决于所有与这个结点存在相互链接关系的结点,一个有较多链入的结点,其在网络中的重要性往往会比较高,反之,若一个结点处于较为边缘的位置,只有较少的链入甚至没有链入,那么这个结点可能并不重要甚至没有作用。本发明根据符合性测试的具体情况,对PageRank算法进行了一定的调整,通过状态变量的需求情况来反映结点之间的关系,其核心公式为“”。
具体包括步骤五至七。
步骤五、构造初始的迭代矩阵M。若测试任务i的前置条件condition i 中的某一元素与测试任务j的执行动作action j 中的某一元素相同,可认为测试任务i需求于测试任务j,可将表1和图2所示的复杂网络模型转化为如图3所示的复杂网络模型。根据结点间的供需关系,对结点的PageRank值进行分配。在初始条件下,每个结点的PageRank值都是相同的,在此设为1,结点的前置条件condition中每一项元素均分结点的PageRank值,而具体元素所分配的PageRank值将均匀的流向执行动作action中提供对应元素的结点。根据表1和图2可得到初始的转换矩阵M
步骤六、结合矩阵M对结点的PageRank值进行迭代处理。根据公式“”可得到迭代辅助矩阵M 0 ,式中,α为阻尼系数,一般取值为0.85,N为任务结点的总数,E为单位矩阵。在根据公式“/>”进行迭代计算,直到各个结点的PageRank值逐渐收敛,式中P n 表示为第n次迭代后的结点PageRank值数列。图2所述模型的PageRank值的迭代计算如表2所示。
表2测试任务结点PageRank值列表
Times PR(17) PR(33) PR(53) PR(388) PR(432)
1 0.2850 0.2000 0.0300 0.0300 0.4550
2 0.5018 0.0550 0.0300 0.0300 0.3827
3 0.3789 0.0550 0.0300 0.0300 0.5055
4 0.4833 0.0550 0.0300 0.0300 0.4011
0.4349 0.0550 0.0300 0.0300 0.4496
步骤七、输出各个结点的PageRank值。
步骤102所述计算所述复杂网络模型中每个测试任务节点的PageRank值,具体包括:利用公式,计算所述复杂网络模型中每个测试任务节点的PageRank值;其中,PR(v i )表示为测试任务结点v i 的PageRank值,α为阻尼系数,N为测试任务结点的总数,a表示具体的测试操作,C(a)表示前置条件中包含a的测试任务结点的集合,β表示a的完成状态系数,B(a)表示测试任务结点操作中包含a的测试任务结点的集合,A(v i )表示测试任务结点v i 所包含的操作集合。
作为一种优选的实施方式,但是不限于该实施方式,所述利用公式,计算所述复杂网络模型中每个测试任务节点的PageRank值,之后还包括:构建包含每个测试任务节点的PageRank值的节点PageRank值序列;利用公式/>,对节点PageRank值序列进行优化,直到节点PageRank值序列中的每个测试任务节点的PageRank值均收敛;其中,/>和/>分别表示第n+1次迭代后和第n次迭代后的节点PageRank值序列,/>,/>和/>分别表示第n+1次迭代后和第n次迭代后的迭代矩阵,E为单位矩阵。
步骤103,根据每个测试任务节点的PageRank值,采用轮盘赌选择法生成测试序列。
步骤103所述根据每个测试任务节点的PageRank值,采用轮盘赌选择法生成测试序列,具体包括:在复杂网络模型中选取初始的测试任务节点作为当前结点;
根据每个测试任务节点的PageRank值,利用公式,计算当前结点的可达节点集合中每个测试任务节点的被选中概率;当前结点的可达节点集合为当前未加入所述测试序列中的所有测试任务结点中当前结点的后续可达测试任务结点的集合;其中,P i 表示为第i个测试任务节点的被选中概率,B(u)表示为当前未加入所述测试序列中的所有测试任务结点中当前结点u的后续可达测试任务结点的集合,n表示为B(u)包含的测试任务节点的个数,v j 表示为B(u)中的第j个测试任务结点,PR(v i )和PR(v j )分别表示为测试任务结点v i v j 的PageRank值。
根据当前结点的可达节点集合中每个测试任务节点的被选中概率,采用轮盘赌选择法从当前结点的可达节点集合中选取测试任务节点加入所述测试序列中,并将选取的所述测试任务节点作为当前结点,返回步骤“根据每个测试任务节点的PageRank值,利用公式,计算当前结点的可达节点集合中每个测试任务节点的被选中概率”,直到当前结点的可达节点集合为空集,输出所述测试序列。轮盘赌选择法根据各个结点的被选中概率,按照相同比例为结点分配选择区域,采用随机指针进行旋转,选取结点。
作为一种优选的实施方式,但是不限于该实施方式,若后续可达结点中不存在未被加入到测试序列中的结点,当前结点的可达节点集合为空集时,采用随机选择法,随机选择后续可达结点,将其加入到测试序列当中,并将其设置为当前结点,返回步骤“根据每个测试任务节点的PageRank值,利用公式,计算当前结点的可达节点集合中每个测试任务节点的被选中概率”,直到所述测试序列中包含所有的测试任务节点。
步骤104,对所述测试序列进行覆盖性验证,判断所述测试序列是否满足测试需求集中的每个测试任务的全覆盖要求,获得第一判断结果。
步骤105,若所述第一判断结果表示否,则对所述复杂网络模型进行更新,返回步骤“计算所述复杂网络模型中每个测试任务节点的PageRank值”。
步骤105复杂网络模型更新的规则具体包括:
(1)模型生长规则:测试任务的执行,会造成系统状态的变更,使得一些原本不可执行的测试变为可执行,需要为当前结点添加有向边。根据公式“”为当前结点添加有向边,式中V(t)表示当前t时刻的变量集合,若存在原不可执行的测试任务结点j在当前变量条件下可执行,则添加当前结点指向节点j的临时有向边。
(2)模型裁剪规则:模型的裁剪分为三种情况,一是由于变量的变化,造成原本可以执行的后续测试任务变为不可执行,即公式“”不成立,则删除这些有向边;二是在当前测试任务执行通过的情况下,对当前结点进行判断,若删除当前结点以及与其有相连的向边后,不会使得任意结点的入度为0,则在测试任务成功转移后,删除该节点及其有向边。
若所述第一判断结果表示是,则输出所述测试序列。
作为一种优选的实施方式,但是不限于该实施方式,所述输出所述测试序列,之后还包括:
步骤106,将所述测试序列划分成多个测试子序列,构建测试子序列集合;
步骤107,采用模拟退火算法对所述测试子序列集合进行优化。
模拟退火算法是将热力学的理论套用到统计学上,模拟材料加热后冷却过程而形成的一种算法。模拟退火算法大致可以分成三个部分
解空间、目标函数以及初始解,通过不断的扰动,对解空间进行搜索,产生新解,根据目标函数对新解进行评估,若新解优于初始解,则接受新解,若不然则也有一定的概率接受较差解,对这个过程进行迭代,最终得到较好的解。在这个过程中,由于模拟退火算法会以一定的概率接受一个比当前解较差的解,从而能够跳出局部最优解得到全局最优解。本发明将SA算法与SCA符合性测试的基本情况相结合,设计的测试序列优化方法整体流程如图4所示。
步骤107,所述采用模拟退火算法对所述测试子序列集合进行优化,具体包括:
将所述测试子序列集合作为更新前的测试子序列集合;即,将测试序列划分为多个可独立执行的测试子序列,形成测试子序列集。在符合性测试过程中,初始化操作为任意组件测试的起始操作,组件释放操作会将变量集中的所有变量进行重置,是得除初始化操作意外的任意操作均不可用,因此将测试序列中由包含组件初始化操作的测试任务至包含组件释放的测试任务的序列视作一条子序列,以此进行划分,即可将一条测试序列转化为由若干子测试序列组成的测试子序列集。设置模拟退火算法的初始温度t 0
在更新前的测试子序列集合中随机选取两个测试子序列,分别标记为测试子序列A和测试子序列B。
对测试子序列A和测试子序列B进行扰动更新,获得两个更新后的测试子序列,并利用两个更新后的测试子序列替换所述测试子序列集合中的测试子序列A和测试子序列B,获得一次更新后的测试子序列集合。即,具体如图5所示,在所选的子序列A中,找出所有可被移动的测试任务结点,按均等概率选择当中的一测试任务结点,将其删除,然后进行随机插入子序列B中,必要时可对执行条件进行构造。
将一次更新后的测试子序列集合中每个元素均被其他测试子序列包含的测试子序列删除,获得二次更新后的测试子序列集合。即,对一次更新后的测试子序列集中的测试序列进行冗余判断,若单条测试序列中的元素已被其他序列集中全覆盖,则将其删除。
计算更新前的测试子序列集合和二次更新后的测试子序列集合的测试用时差。即,计算二次更新后的测试子序列集合的测试用时T’,与更新前的测试子序列集合的测试用时T相比较,并计算二者的差值作为测试用时差ΔE=T-T’
判断所述测试用时差是否大于0,获得第二判断结果;若所述第二判断结果表示是,则将二次更新后的测试子序列集合作为更新前的测试子序列集合;若所述第二判断结果表示否,则根据所述测试用时差,利用公式P =exp(ΔE/t)计算接受概率,并判断所述接受概率是否大于概率阈值,获得第三判断结果;其中,P 表示接受概率,ΔE表示测试用时差,t表示当前的退火温度;若所述第三判断结果表示是,则将二次更新后的测试子序列集合作为更新前的测试子序列集合;利用公式t=H(t)更新当前温度,并返回步骤“在更新前的测试子序列集合中随机选取两个测试子序列,分别标记为测试子序列A和测试子序列B”,直到当前温度t满足t≤Te,输出当前测试序列子集合,其中,H(t)表示模拟退火算法中的温度更新函数。即,若ΔE>0,则接受二次更新后的测试子序列集合,若ΔE<0则根据公式exp(Δ E/t)计算接受新解的概率,其中exp表示为以自然常数e为底的指数函数,t表示当前的退火温度,若概率判断为是,则接受新解(二次更新后的测试子序列集合),反之则不接受新解,继续迭代。
一种软件无线电符合性测试系统,所述测试系统包括:
复杂网络模型构建模块,用于根据软件无线电符合性测试的测试需求集,构建用于表示测试任务之间的关联关系的复杂网络模型;
PageRank值计算模块,用于计算所述复杂网络模型中每个测试任务节点的PageRank值;
测试序列生成模块,用于根据每个测试任务节点的PageRank值,采用轮盘赌选择法生成测试序列;
第一判断模块,用于对所述测试序列进行覆盖性验证,判断所述测试序列是否满足测试需求集中的每个测试任务的全覆盖要求,获得第一判断结果;
复杂网络模型更新模块,用于若所述第一判断结果表示否,则对所述复杂网络模型进行更新,返回步骤“计算所述复杂网络模型中每个测试任务节点的PageRank值”;
测试序列输出模块,用于若所述第一判断结果表示是,则输出所述测试序列。
可选的,所述测试系统还包括:
测试序列划分模块,用于将所述测试序列划分成多个测试子序列,构建测试子序列集合;
测试子序列集合优化子模块,用于采用模拟退火算法对所述测试子序列集合进行优化。
可选的,所述PageRank值计算模块,具体包括:
PageRank值计算子模块,用于利用公式,计算所述复杂网络模型中每个测试任务节点的PageRank值;
其中,PR(v i )表示为测试任务结点v i 的PageRank值,α为阻尼系数,N为测试任务结点的总数,a表示具体的测试操作,C(a)表示前置条件中包含a的测试任务结点的集合,β表示a的完成状态系数,B(a)表示测试任务结点操作中包含a的测试任务结点的集合,A(v i )表示测试任务结点v i 所包含的操作集合。
可选的,所述PageRank值计算模块还包括:
节点PageRank值序列构建子模块,用于构建包含每个测试任务节点的PageRank值的节点PageRank值序列;
节点PageRank值序列优化子模块,用于利用公式,对节点PageRank值序列进行优化,直到节点PageRank值序列中的每个测试任务节点的PageRank值均收敛;
其中,和/>分别表示第n+1次迭代后和第n次迭代后的节点PageRank值序列,,/>和/>分别表示第n+1次迭代后和第n次迭代后的迭代矩阵,E为单位矩阵。
本发明根据具体需求集,动态的构建基于复杂网络的符合性测试模型,采用该模型表示测试任务之间的复杂依赖关系,并基于SCA符合性测试的基本情况,结合PageRank原理计算结点PageRank值,以此为指导,选择结点,构造测试序列,能够保证生成可正常运行的测试序列。后续将所述测试序列划分为可独立执行的测试子序列集,并采用模拟退火算法对该子序列集进行优化,较少测试序列中存在的冗余测试,提高测试效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种软件无线电符合性测试方法,其特征在于,所述测试方法包括如下步骤:
根据软件无线电符合性测试的测试需求集,构建用于表示测试任务之间的关联关系的复杂网络模型;
计算所述复杂网络模型中每个测试任务节点的PageRank值,具体包括:利用公式计算所述复杂网络模型中每个测试任务节点的PageRank值;其中,PR(vi)表示为测试任务结点vi的PageRank值,α为阻尼系数,N为测试任务结点的总数,a表示具体的测试操作,C(a)表示前置条件中包含a的测试任务结点的集合,β表示a的完成状态系数,B(a)表示测试任务结点操作中包含a的测试任务结点的集合,A(vi)表示测试任务结点vi所包含的操作集合;
根据每个测试任务节点的PageRank值,采用轮盘赌选择法生成测试序列;
对所述测试序列进行覆盖性验证,判断所述测试序列是否满足测试需求集中的每个测试任务的全覆盖要求,获得第一判断结果;
若所述第一判断结果表示否,则对所述复杂网络模型进行更新,返回步骤“计算所述复杂网络模型中每个测试任务节点的PageRank值”;复杂网络模型更新的规则具体包括:(1)模型生长规则:测试任务的执行,会造成系统状态的变更,使得一些原本不可执行的测试变为可执行,需要为当前结点添加有向边,根据公式为当前结点添加有向边,式中V(t)表示当前t时刻的变量集合,若存在原不可执行的测试任务结点j在当前变量条件下可执行,则添加当前结点指向节点j的临时有向边;(2)模型裁剪规则:模型的裁剪分为三种情况,一是由于变量的变化,造成原本可以执行的后续测试任务变为不可执行,即公式/>不成立,则删除这些有向边;二是在当前测试任务执行通过的情况下,对当前结点进行判断,若删除当前结点以及与其有相连的向边后,不会使得任意结点的入度为0,则在测试任务成功转移后,删除该节点及其有向边;
若所述第一判断结果表示是,则输出所述测试序列。
2.根据权利要求1所述的软件无线电符合性测试方法,其特征在于,所述输出所述测试序列,之后还包括:
将所述测试序列划分成多个测试子序列,构建测试子序列集合;
采用模拟退火算法对所述测试子序列集合进行优化。
3.根据权利要求1所述的软件无线电符合性测试方法,其特征在于,所述利用公式计算所述复杂网络模型中每个测试任务节点的PageRank值,之后还包括:
构建包含每个测试任务节点的PageRank值的节点PageRank值序列;
利用公式Pn+1=Mn+1Pn,对节点PageRank值序列进行优化,直到节点PageRank值序列中的每个测试任务节点的PageRank值均收敛;
其中,Pn+1和Pn分别表示第n+1次迭代后和第n次迭代后的节点PageRank值序列,Mn+1和Mn分别表示第n+1次迭代后和第n次迭代后的迭代矩阵,E为单位矩阵。
4.根据权利要求1所述的软件无线电符合性测试方法,其特征在于,所述根据每个测试任务节点的PageRank值,采用轮盘赌选择法生成测试序列,具体包括:
在复杂网络模型中选取初始的测试任务节点作为当前结点;
根据每个测试任务节点的PageRank值,利用公式计算当前结点的可达节点集合中每个测试任务节点的被选中概率;当前结点的可达节点集合为当前未加入所述测试序列中的所有测试任务结点中当前结点的后续可达测试任务结点的集合;
其中,Pi表示为第i个测试任务节点的被选中概率,B(u)表示为当前未加入所述测试序列中的所有测试任务结点中当前结点u的后续可达测试任务结点的集合,n表示为B(u)包含的测试任务节点的个数,vj表示为B(u)中的第j个测试任务结点,PR(vi)和PR(vj)分别表示为测试任务结点vi和vj的PageRank值;
根据当前结点的可达节点集合中每个测试任务节点的被选中概率,采用轮盘赌选择法从当前结点的可达节点集合中选取测试任务节点加入所述测试序列中,并将选取的所述测试任务节点作为当前结点,返回步骤“根据每个测试任务节点的PageRank值,利用公式计算当前结点的可达节点集合中每个测试任务节点的被选中概率”,直到当前结点的可达节点集合为空集,输出所述测试序列。
5.根据权利要求2所述的软件无线电符合性测试方法,其特征在于,所述采用模拟退火算法对所述测试子序列集合进行优化,具体包括:
为模拟退火算法设置初始温度Ts、目标温度Te和降温函数H(t);
将所述测试子序列集合作为更新前的测试子序列集合;
在更新前的测试子序列集合中随机选取两个测试子序列,分别标记为测试子序列A和测试子序列B;
对测试子序列A和测试子序列B进行扰动更新,获得两个更新后的测试子序列,并利用两个更新后的测试子序列替换所述测试子序列集合中的测试子序列A和测试子序列B,获得一次更新后的测试子序列集合;
将一次更新后的测试子序列集合中每个元素均被其他测试子序列包含的测试子序列删除,获得二次更新后的测试子序列集合;
计算更新前的测试子序列集合和二次更新后的测试子序列集合的测试用时差;
判断所述测试用时差是否大于0,获得第二判断结果;
若所述第二判断结果表示是,则将二次更新后的测试子序列集合作为更新前的测试子序列集合;
若所述第二判断结果表示否,则根据所述测试用时差,利用公式P=exp(ΔE/t),计算接受概率,并判断所述接受概率是否大于概率阈值,获得第三判断结果;其中,P表示接受概率,ΔE表示测试用时差,t表示当前的退火温度;
若所述第三判断结果表示是,则将二次更新后的测试子序列集合作为更新前的测试子序列集合;
利用公式t=H(t)更新当前温度,并返回步骤“在更新前的测试子序列集合中随机选取两个测试子序列,分别标记为测试子序列A和测试子序列B”,直到当前温度t满足t≤Te,输出当前测试序列子集合,其中,H(t)表示模拟退火算法中的温度更新函数。
6.一种软件无线电符合性测试系统,其特征在于,所述测试系统包括:
复杂网络模型构建模块,用于根据软件无线电符合性测试的测试需求集,构建用于表示测试任务之间的关联关系的复杂网络模型;
PageRank值计算模块,用于计算所述复杂网络模型中每个测试任务节点的PageRank值;
测试序列生成模块,用于根据每个测试任务节点的PageRank值,采用轮盘赌选择法生成测试序列;
第一判断模块,用于对所述测试序列进行覆盖性验证,判断所述测试序列是否满足测试需求集中的每个测试任务的全覆盖要求,获得第一判断结果;
复杂网络模型更新模块,用于若所述第一判断结果表示否,则对所述复杂网络模型进行更新,返回步骤“计算所述复杂网络模型中每个测试任务节点的PageRank值”;
测试序列输出模块,用于若所述第一判断结果表示是,则输出所述测试序列;
所述PageRank值计算模块,具体包括:
PageRank值计算子模块,用于利用公式计算所述复杂网络模型中每个测试任务节点的PageRank值;
其中,PR(vi)表示为测试任务结点vi的PageRank值,α为阻尼系数,N为测试任务结点的总数,a表示具体的测试操作,C(a)表示前置条件中包含a的测试任务结点的集合,β表示a的完成状态系数,B(a)表示测试任务结点操作中包含a的测试任务结点的集合,A(vi)表示测试任务结点vi所包含的操作集合;
复杂网络模型更新的规则具体包括:(1)模型生长规则:测试任务的执行,会造成系统状态的变更,使得一些原本不可执行的测试变为可执行,需要为当前结点添加有向边,根据公式为当前结点添加有向边,式中V(t)表示当前t时刻的变量集合,若存在原不可执行的测试任务结点j在当前变量条件下可执行,则添加当前结点指向节点j的临时有向边;(2)模型裁剪规则:模型的裁剪分为三种情况,一是由于变量的变化,造成原本可以执行的后续测试任务变为不可执行,即公式/>不成立,则删除这些有向边;二是在当前测试任务执行通过的情况下,对当前结点进行判断,若删除当前结点以及与其有相连的向边后,不会使得任意结点的入度为0,则在测试任务成功转移后,删除该节点及其有向边。
7.根据权利要求6所述的软件无线电符合性测试系统,其特征在于,所述测试系统还包括:
测试序列划分模块,用于将所述测试序列划分成多个测试子序列,构建测试子序列集合;
测试子序列集合优化子模块,用于采用模拟退火算法对所述测试子序列集合进行优化。
8.根据权利要求6所述的软件无线电符合性测试系统,其特征在于,所述PageRank值计算模块还包括:
节点PageRank值序列构建子模块,用于构建包含每个测试任务节点的PageRank值的节点PageRank值序列;
节点PageRank值序列优化子模块,用于利用公式Pn+1=Mn+1Pn,对节点PageRank值序列进行优化,直到节点PageRank值序列中的每个测试任务节点的PageRank值均收敛;
其中,Pn+1和Pn分别表示第n+1次迭代后和第n次迭代后的节点PageRank值序列,Mn+1和Mn分别表示第n+1次迭代后和第n次迭代后的迭代矩阵,E为单位矩阵。
CN202110844182.0A 2021-07-26 2021-07-26 一种软件无线电符合性测试方法及系统 Active CN113342699B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110844182.0A CN113342699B (zh) 2021-07-26 2021-07-26 一种软件无线电符合性测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110844182.0A CN113342699B (zh) 2021-07-26 2021-07-26 一种软件无线电符合性测试方法及系统

Publications (2)

Publication Number Publication Date
CN113342699A CN113342699A (zh) 2021-09-03
CN113342699B true CN113342699B (zh) 2023-08-04

Family

ID=77480214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110844182.0A Active CN113342699B (zh) 2021-07-26 2021-07-26 一种软件无线电符合性测试方法及系统

Country Status (1)

Country Link
CN (1) CN113342699B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117171055B (zh) * 2023-11-02 2024-01-09 成都谐盈科技有限公司 基于深度优先的软件无线电符合性测试方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107590073A (zh) * 2017-08-30 2018-01-16 华南理工大学 基于路径覆盖软件测试的测试用例自动生成方法
CN108170613A (zh) * 2018-03-08 2018-06-15 国家计算机网络与信息安全管理中心 一种软件测试用例自动生成方法
US10560364B1 (en) * 2017-03-15 2020-02-11 Pivotal Software, Inc. Detecting network anomalies using node scoring
CN111274142A (zh) * 2020-01-20 2020-06-12 中国人民解放军国防科技大学 一种基于扩展有限状态机的软件通信体系架构符合性测试建模方法
CN111782544A (zh) * 2020-07-22 2020-10-16 中国人民解放军国防科技大学 一种基于多种群遗传算法的软件无线电符合性测试方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10560364B1 (en) * 2017-03-15 2020-02-11 Pivotal Software, Inc. Detecting network anomalies using node scoring
CN107590073A (zh) * 2017-08-30 2018-01-16 华南理工大学 基于路径覆盖软件测试的测试用例自动生成方法
CN108170613A (zh) * 2018-03-08 2018-06-15 国家计算机网络与信息安全管理中心 一种软件测试用例自动生成方法
CN111274142A (zh) * 2020-01-20 2020-06-12 中国人民解放军国防科技大学 一种基于扩展有限状态机的软件通信体系架构符合性测试建模方法
CN111782544A (zh) * 2020-07-22 2020-10-16 中国人民解放军国防科技大学 一种基于多种群遗传算法的软件无线电符合性测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于PageRank和基准测试的异构集群节点性能评价算法研究";胡亚红 等;《计算机工程与科学》;第391-396页 *

Also Published As

Publication number Publication date
CN113342699A (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
CN110263938B (zh) 用于生成信息的方法和装置
US10248550B2 (en) Selecting a set of test configurations associated with a particular coverage strength using a constraint solver
CN109522228B (zh) 接口自动化测试数据构造方法、装置、平台及存储介质
US10789149B2 (en) Duplicate bug report detection using machine learning algorithms and automated feedback incorporation
CN112052172B (zh) 第三方通道的快速测试方法、装置和电子设备
Lee et al. PageRank on inhomogeneous random digraphs
CN109359149A (zh) 一种模拟测试方法及相关装置
US20210318947A1 (en) Methods and apparatuses for generating smart contract test case
CN112087313A (zh) 用于生成网络模拟场景的技术
Ntentos et al. Assessing architecture conformance to coupling-related patterns and practices in microservices
CN113342699B (zh) 一种软件无线电符合性测试方法及系统
US20220067101A1 (en) Concept prediction to create new intents and assign examples automatically in dialog systems
Hasan et al. Graphettes: Constant-time determination of graphlet and orbit identity including (possibly disconnected) graphlets up to size 8
CN105446952A (zh) 用于处理语义片段的方法和系统
CN115048254A (zh) 数据分配策略的仿真测试方法、系统、设备和可读介质
CN105703964A (zh) 一种在线应用系统测试方法与设备
Bures et al. Software engineering for smart cyber-physical systems (SEsCPS 2018)-workshop report
Wells et al. TDCOSMO-XIV. Practical techniques for estimating external convergence of strong gravitational lens systems and applications to the SDSS J0924+ 0219 system
Shimada et al. Goal Model Construction Based on User Review Classification.
Austin et al. Using Bayesian networks to validate technology readiness assessments of systems
CN112699994A (zh) 一种深度学习模型的自动化训练与测试系统
CN113806327A (zh) 一种数据库设计方法、装置及相关设备
US20240020561A1 (en) Quantum simulator network for simulating a quantum service
CN113139105B (zh) 一种数据处理方法、装置、设备以及可读存储介质
CN109993313A (zh) 样本标签处理方法及装置、社群划分方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant