一种面向对象协议的测试方法及系统与流程

文档序号:26139412发布日期:2021-08-03 14:22阅读:72来源:国知局
一种面向对象协议的测试方法及系统与流程

本申请涉及测试技术领域,特别是涉及一种面向对象协议的测试方法及系统。



背景技术:

随着科学技术的进步和能源发展格局的变化,经济社会发展对电能的依赖程度日益增强,依靠现代信息、通信和控制技术积极发展能源互联网,实现电网发展方式转变,已成为国际电力行业积极应对未来挑战的共同选择。能源互联网具有万物互联、全面感知、信息高效传输和智能处理等特点,智能量测技术在体系建设、运作模式上和底层技术上采用互联网思维,并同时具有“大云物移智”信息通信新技术和兼容传统电网的能力。用电信息采集系统(简称“采集系统”)的全面建设,有力促进了智能量测技术的发展,提升了电网智能化水平。采集系统是智能量测技术的集中展现,采集的各类数据已经在营销、安质、运检、运监、发策、信息等多个专业的电力交易、电费回收、用电检查、市场需求侧管理、线损精益分析、配电网运行监测、供电质量监测以及故障抢修等专业业务应用中发挥了重要的支撑作用,采集系统已成为电网公司经营决策分析的重要基础数据来源。

采集系统是建设能源互联网的重要内容,也是保证未来电网坚强、稳定运行的核心基础数据系统和控制平台。采集系统利用面向对象的建模方法和技术,抽象通用业务模型,统一远程及本地通信的数据交换协议,形成面向对象协议(dl/t698.45),极大地提升了数据交换的高效性、灵活扩展性和数据可溯源性,在采集系统的建设发展中发挥了重要作用。

面向对象协议自动化测试也是采集系统建设的一个重要环节,自动化测试可以把人对软件的测试行为转化为由机器执行测试行为的一种实践。但是,相对于手动测试来说它的缺点也是存在的:对软件的依赖较大;自动化测试脚本的维护较高;自动化测试工具本身并无想象力,需要有想象力的人使用。

针对上述的现有技术中存在的如何通过使用全路径覆盖的改进型遗传算法实现自动化测试用例自动生成和自动优化更新,降低人工维护成本和提升测试效率的技术问题,目前尚未提出有效的解决方案。



技术实现要素:

本公开的实施例提供了一种面向对象协议的测试方法及系统,以至少解决现有技术中存在的如何通过使用全路径覆盖的改进型遗传算法实现自动化测试用例自动生成和自动优化更新,降低人工维护成本和提升测试效率的技术问题。

根据本公开实施例的一个方面,提供了一种面向对象协议的测试方法,包括:将用例集分割为多个用例组,并将每个用例组实例化为单独可执行的xml测试用例组,其中每个xml测试用例组中包含不同属性的xml测试用例;根据每一属性的多个xml测试用例,利用averagelinkage聚类算法确定每一属性的聚类中心点;确定每一属性的每个xml测试用例到每一属性的聚类中心点的加权欧式距离;根据多个不同属性的加权距离,组成新的xml测试用例组;根据所述新的xml测试用例组,面向对象协议对待测设备进行测试。

根据本公开实施例的另一方面,还提供了一种面向对象协议的测试系统,包括:分割用例组模块,用于将用例集分割为多个用例组,并将每个用例组实例化为单独可执行的xml测试用例组,其中每个xml测试用例组中包含不同属性的xml测试用例;确定聚类中心点模块,用于根据每一属性的多个xml测试用例,利用averagelinkage聚类算法确定每一属性的聚类中心点;确定加权欧式距离模块,用于确定每一属性的每个xml测试用例到每一属性的聚类中心点的加权欧式距离;组成新测试用例组模块,用于根据多个不同属性的加权距离,组成新的xml测试用例组;测试设备模块,用于根据所述新的xml测试用例组,面向对象协议对待测设备进行测试。

在本发明中,通过提供的面向对象协议测试方法,使用了xml对测试用例进行了重构,使测试单元模型化,便于算法学习,继承了原来自动化的高效率、精准可靠、测试全面、可复用的特点以外,还具备了原来自动化测试不具备的性质,包括:测试用例和测试参数的自动生成,测试结果自动比对,以及使用全路径覆盖的改进型遗传算法,根据测试结果重新生成新的测试用例。不再需要人工维护测试脚本,把一种固定的测试脚本变成了可变的测试程序,降低了人工维护的成本的同时,兼具了人工测试的开创性和发现问题的能力。

本发明使用的全路径覆盖的改进型遗传算法,测试用例更新覆盖度广,可以将面向对象协议测试细分为各个测试单元,按照目标函数进行参数优化计算;使用适应度函数进行启发,过程简单;具有可扩展性,容易与其他算法结合使用。

附图说明

此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:

图1是根据本公开实施例所述的一种面向对象协议的测试方法的流程示意图;

图2是根据本公开实施例所述的一种面向对象协议的测试方法的流程示意图;

图3是根据本公开实施例所述的一种面向对象协议的测试系统的示意图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

根据本实施例的第一个方面,提供了一种面向对象协议的测试方法100。

参考图1所示,该方法100包括:

s102:将用例集分割为多个用例组,并将每个用例组实例化为单独可执行的xml测试用例组,其中每个xml测试用例组中包含不同属性的xml测试用例;

s104:根据每一属性的多个xml测试用例,利用averagelinkage聚类算法确定每一属性的聚类中心点;

s106:确定每一属性的每个xml测试用例到每一属性的聚类中心点的加权欧式距离;

s108:根据多个不同属性的加权距离,组成新的xml测试用例组;

s110:根据所述新的xml测试用例组,面向对象协议对待测设备进行测试。

具体地,使用可扩展标记语言(以下简称xml)对面向对象协议测试用例进行重构,具体用例包括:参数下发与读取、瞬时值、冻结数据生成与读取、统计数据、事件抄读,协议一致性与互换性测试等。将参数下发与读取等测试用例拆分为更具体可执行并可量化的单元,与数据生成、读取进行关联,构建通信协议测试用例的数学模型。

使用全路径覆盖的改进型遗传算法,对模型进行学习,动态生成测试用例和测试需要下发的参数数据和台体控制参数,以覆盖率最广、交互次数最少为目标,对被测试设备进行测试,根据测试设备反馈的测试结果与预期结果进行比对,将重新组合后的测试用例和参数作为待优化的目标函数,进一步进行优化,从而形成闭环反馈系统。

参考图2所示,包括以下步骤:

(1)初始化xml可扩展标记语言测试用例组,将已有的抄表-分钟冻结、抄表-结算日冻结、抄表-日冻结、抄表-实时数据采集、抄表-月冻结、电压合格率统计、交采秘钥用例集、交采事件、面向对象协议参数等用例集分割为更小的用例组,并实例化为一个单独可执行的xml测试用例组,例如将抄表-分钟冻结细分为:控源-启动台体三相电压、电流;设置对象属性-终端对时到2021/xx/xx23:42:00;操作对象方法-清空采集任务配置表;操作对象方法-清空普通采集方案;读取对象属性-任务采集监控;读取对象属性-交采计量读取电量;数据比对-抄表数据与交采计量数据比对。

例如,用例集中包含a1,a2,a3,b1,b2,b3,c1,c2,c3,d1,d2,d3,e1,e2,e3等用例的数据点。将用例集分割为用例组1(a1,b1,c1,d1,e1)、用例组2(a2,b2,c2,d2,e2)以及用例组3(a3,b3,c3,d3,e3)。

(2)迭代进化(循环第3步至第6步),直到满足终止条件。

(3)使用同属性的测试用例组进行重组变异,然后根据得到的xml测试用例和测试结果计算出对应的聚类中心点,我们使用averagelinkage计算组合数据点间的距离,以下是计算组合数据点(a1,a2)到(a3,a4)的距离,这里分别计算了(a1,a2)和(a3,a4)两两间距离的均值。

与数据点a1,a2,a3对应的测试用例为同属性,与数据点b1,b2,b3对应的测试用例为同属性,与数据点c1,c2,c3对应的测试用例为同属性,与数据点d1,d2,d3对应的测试用例为同属性,与数据点e1,e2,e3对应的测试用例为同属性,根据上述公式确定a1,a2,a3三个数据点的聚类中心点a,以此类推确定b1,b2,b3三个数据点的聚类中心点b,c1,c2,c3三个数据点的聚类中心点c,d1,d2,d3三个数据点的聚类中心点c,e1,e2,e3三个数据点的聚类中心点e。

(4)计算各数据点到聚类中心点的加权欧式距离,即针对不同的属性给予不同的权重值,决定其属于那个簇,并对不同属性设置不同的权重,各权重之和为1,这样依然可以保证相似度的统一性,假设所有对象的u的均值为m,方差为s,则标准化后的值=(标准化前的值-各属性的均值)/各属性的标准差,以下为加权欧式距离计算公式:

根据上述加权欧式距离确定a1,a2,a3到聚类中心点a的距离a4,以此类推,确定b1,b2,b3到聚类中心点b的距离b4,确定c1,c2,c3到聚类中心点c的距离c4,确定d1,d2,d3到聚类中心点d的距离d4,确定e1,e2,e3到聚类中心点e的距离e4。

(5)把与各中心点关联的xml测试用例组对应的坐标平均值作为新的中心点,并以此更新xml测试用例组。

将a4,b4,c4,d4,e4组合成新的测试用例组。

(6)把各中心点到与其关联的xml测试用例组对应的坐标之间的加权欧式距离之和作为待优化的目标函数值。

对新的测试用例组的优劣进行评价,如果可以满足预期目标,利用新的测试用例组对待测试设备进行测试。如果不满足预期目标,循环第3步至第6步,直至满足预期目标。

从而,通过提供的面向对象协议测试方法,使用了xml对测试用例进行了重构,使测试单元模型化,便于算法学习,继承了原来自动化的高效率、精准可靠、测试全面、可复用的特点以外,还具备了原来自动化测试不具备的性质,包括:测试用例和测试参数的自动生成,测试结果自动比对,以及使用全路径覆盖的改进型遗传算法,根据测试结果重新生成新的测试用例。不再需要人工维护测试脚本,把一种固定的测试脚本变成了可变的测试程序,降低了人工维护的成本的同时,兼具了人工测试的开创性和发现问题的能力。

可选地,该方法100还包括:判断所述新的xml测试用例组是否为合格的xml测试用例组;当所述新的xml测试用例组为合格的xml测试用例组时,输出所述新的xml测试用例组;当所述新的xml测试用例组不是合格的xml测试用例组时,重复根据每一属性的多个xml测试用例,确定每一属性的聚类中心点到组成新的xml测试用例组的步骤,进行迭代。

可选地,根据每一属性的多个xml测试用例,利用averagelinkage聚类算法确定每一属性的聚类中心点,包括:根据以下公式,确定当前类属性的数据点(a1,a2)到数据点(a3,a4)的距离;

其中,a为距离,a1,a2,a3,a4为与当前类属性的xml测试用例对应的数据点;将与所述距离对应的数据点确定为当前类属性的聚类中心点。

可选地,确定每一属性的每个xml测试用例到每一属性的聚类中心点的加权欧式距离,包括:根据以下公式,确定每一属性的每个xml测试用例到每一属性的聚类中心点的加权欧式距离:

其中,d(ui,uj)为当前测试用例的数据点与聚类中心点的距离,n为影响量个数,所述影响量个数包括重复度、执行时长、单步超时时长,sk为影响量的方差,uik为标准化前的值,ujk为各属性的均值。。

可选地,根据所述新的xml测试用例组,面向对象协议对待测设备进行测试之后,包括:接收待测设备反馈的测试结果;根据所述测试结果与预期结果进行比对,将所述新的xml测试用例组和参数作为待优化的目标函数,进一步进行优化,形成闭环反馈系统。

从而,通过提供的面向对象协议测试方法,使用了xml对测试用例进行了重构,使测试单元模型化,便于算法学习,继承了原来自动化的高效率、精准可靠、测试全面、可复用的特点以外,还具备了原来自动化测试不具备的性质,包括:测试用例和测试参数的自动生成,测试结果自动比对,以及使用全路径覆盖的改进型遗传算法,根据测试结果重新生成新的测试用例。不再需要人工维护测试脚本,把一种固定的测试脚本变成了可变的测试程序,降低了人工维护的成本的同时,兼具了人工测试的开创性和发现问题的能力。

本实施例使用的全路径覆盖的改进型遗传算法,测试用例更新覆盖度广,可以将面向对象协议测试细分为各个测试单元,按照目标函数进行参数优化计算;使用适应度函数进行启发,过程简单;具有可扩展性,容易与其他算法结合使用。

根据本实施例的另外一个方面,还提供了一种面向对象协议的测试系统300。该系统300包括:分割用例组模块310,用于将用例集分割为多个用例组,并将每个用例组实例化为单独可执行的xml测试用例组,其中每个xml测试用例组中包含不同属性的xml测试用例;确定聚类中心点模块320,用于根据每一属性的多个xml测试用例,利用averagelinkage聚类算法确定每一属性的聚类中心点;确定加权欧式距离模块330,用于确定每一属性的每个xml测试用例到每一属性的聚类中心点的加权欧式距离;组成新测试用例组模块340,用于根据多个不同属性的加权距离,组成新的xml测试用例组;测试设备模块350,用于根据所述新的xml测试用例组,面向对象协议对待测设备进行测试。

可选地,该系统300还包括:判断模块,用于判断所述新的xml测试用例组是否为合格的xml测试用例组;输出模块,用于当所述新的xml测试用例组为合格的xml测试用例组时,输出所述新的xml测试用例组;迭代模块,用于当所述新的xml测试用例组不是合格的xml测试用例组时,重复根据每一属性的多个xml测试用例,确定每一属性的聚类中心点到组成新的xml测试用例组的步骤,进行迭代。

可选地,确定聚类中心点模块320,包括:确定距离子模块,用于根据以下公式,确定当前类属性的数据点(a1,a2)到数据点(a3,a4)的距离;

其中,a为距离,a1,a2,a3,a4为与当前类属性的xml测试用例对应的数据点;确定聚类中心点子模块,用于将与所述距离对应的数据点确定为当前类属性的聚类中心点。

可选地,确定加权欧式距离模块330,包括:确定加权欧式距离子模块,用于根据以下公式,确定每一属性的每个xml测试用例到每一属性的聚类中心点的加权欧式距离:

其中,d(ui,uj)为当前测试用例的数据点与聚类中心点的距离,n为影响量个数,所述影响量个数包括重复度、执行时长、单步超时时长,sk为影响量的方差,uik为标准化前的值,ujk为各属性的均值。

可选地,测试设备模块350,包括:接收测试结果子模块,用于接收待测设备反馈的测试结果;形成反馈系统子模块,用于根据所述测试结果与预期结果进行比对,将所述新的xml测试用例组和参数作为待优化的目标函数,进一步进行优化,形成闭环反馈系统。

本发明的实施例的一种面向对象协议的测试系统300与本发明的另一个实施例的一种面向对象协议的测试方法100相对应,在此不再赘述。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言java和直译式脚本语言javascript等。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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