测试消防组态系统中组态部件部件行为的方法及相关设备与流程
未命名
10-08
阅读:87
评论:0

1.本技术涉及消防信息化技术领域,特别是涉及测试消防组态系统中组态部件部件行为的方法及相关设备。
背景技术:
2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。不应以此处的描述包括在本部分中就承认是现有技术。
3.消防组态系统中的组态部件对应实际消防系统中的消防设备、传感器等消防设施,组态部件具有的部件状态同理对应消防设施产生的设备状态,常见设备状态有报警状态、故障状态。组态部件具有的部件行为可以是实际消防系统中消防设施的运行动作,例如水管水流流动,也可以是数字化世界的一种显示变化,例如发生报警后部件发生红色闪烁。为确保各组态部件基于部件状态下产生的部件行为的正确性,目前对组态部件的部件行为进行测试的方法需要搭建真实环境采用真实数据或模拟数据将消防组态系统运行起来,这种测试方式测试效率低且成本高。
技术实现要素:
4.本发明实施例提供的测试消防组态系统中组态部件部件行为的方法及相关设备,至少解决现有的测试组态部件的部件行为的方式测试效率低且成本高的问题。
5.根据本发明的一个方面,提供了一种测试消防组态系统中组态部件部件行为的方法,包括:
6.获取消防组态系统的组态配置文件,所述组态配置文件包括组态部件的部件信息,所述部件信息包括所述组态部件的可视化参数和联动属性,其中,所述联动属性为根据预先为所述组态部件配置的联动项确定的属性,所述联动项包括联动条件和联动行为,所述联动条件为作为条件触发部件的组态部件具有的其中一种部件状态,所述联动行为是作为行为展现部件的组态部件具有的其中一种部件行为,所述条件触发部件用于在产生属于所述联动条件的部件状态时,触发所述行为展现部件产生属于所述联动行为的部件行为,所述条件触发部件和所述行为展现部件为同一所述组态部件或不同的所述组态部件;
7.将基于所述可视化参数生成的所述消防组态系统呈现于预定的测试界面,并基于所述联动属性获取所述行为展现部件的所述联动项,以根据所述联动项在所述测试界面生成用于对所述行为展现部件进行测试的测试项,其中,所述测试项包括测试条件,所述测试条件为用于测试所述行为展现部件在不同所述联动条件下产生的所述部件行为的正确性的条件;
8.响应于所述测试界面接收的针对所述行为展现部件的测试指令,基于所述测试条件测试所述行为展现部件的所述部件行为的正确性。
9.在其中的一些实施例中,所述测试项还包括预期测试结果,所述预期测试结果为根据所述联动项确定的所述行为展现部件在所述测试条件下需产生的部件行为,基于所述
测试条件测试所述行为展现部件的所述部件行为的正确性的步骤包括:
10.基于所述测试条件触发相应的所述条件触发部件产生目标部件状态后,确定所述行为展现部件产生的目标部件行为,其中,所述目标部件状态为所述条件触发部件具有的属于所述联动条件的部件状态或不属于所述联动条件的部件状态;
11.判断所述目标部件行为与所述预期测试结果是否一致,以获得用于表明所述行为展现部件的所述部件行为的正确性的判断结果,并将所述判断结果推送至所述测试界面。
12.在其中的一些实施例中,所述组态配置文件还包括为所述条件触发部件配置的部件状态修改接口,所述部件状态修改接口为用于修改所述条件触发部件的所述部件状态的接口,基于所述测试条件触发相应的所述条件触发部件产生目标部件状态的步骤包括:
13.基于所述测试条件判断所述条件触发部件需产生的所述目标部件状态,以通过所述部件状态修改接口将所述条件触发部件当前产生的所述部件状态修改为所述目标部件状态。
14.在其中的一些实施例中,所述联动属性包括:
15.所述条件触发部件的第一联动属性,所述第一联动属性包括所述条件触发部件需触发的所述行为展现部件的身份标识,和所述条件触发部件的第一状态数据,所述第一状态数据包括属于所述联动条件的部件状态的状态数据和不属于所述联动条件的部件状态的状态数据;
16.则,基于所述测试条件触发相应的所述条件触发部件产生目标部件状态后,所述方法还包括:
17.根据所述身份标识,确定所述条件触发部件需触发的所述行为展现部件,以将所述目标部件状态的所述第一状态数据发送至所述行为展现部件;
18.通过触发所述行为展现部件执行预先配置的行为变更处理逻辑,来使所述行为展现部件产生所述目标部件行为,其中,所述行为变更处理逻辑为配置在所述行为展现部件中的用于根据所述第一状态数据确定所述目标部件行为的处理逻辑。
19.在其中的一些实施例中,所述联动属性还包括:
20.所述行为展现部件的第二联动属性,所述第二联动属性包括属于所述联动行为的部件行为的行为数据、与所述行为数据对应的所述条件触发部件的第二状态数据,所述第二状态数据为属于所述联动条件的部件状态的状态数据;
21.所述行为展现部件执行预先配置的行为变更处理逻辑的步骤包括:
22.根据所述第一状态数据和所述第二状态数据,判断所述条件触发部件产生的所述目标部件状态是否为属于所述联动条件的部件状态,若是,利用与所述第二状态数据对应的所述行为数据在所述测试界面呈现所述属于所述联动行为的部件行为。
23.在其中的一些实施例中,所述联动项的所述联动条件包括多个,多个所述联动条件产生于不同的所述条件触发部件,且一个所述联动条件对应一个所述联动行为,多个所述条件触发部件用于组合触发所述行为展现部件产生属于其中一个所述联动行为的部件行为,所述联动属性还包括:
24.为所述联动项具有的多个所述联动条件设置的触发优先级,以使多个所述条件触发部件组合触发所述行为展现部件产生属于其中一个所述联动行为的部件行为时,利用产生所述触发优先级高的所述联动条件的所述条件触发部件触发所述行为展现部件产生对
应的属于所述联动行为的部件行为;
25.则,所述行为展现部件执行预先配置的行为变更处理逻辑的步骤还包括:
26.根据第一目标条件触发部件的所述第一状态数据和所述第二状态数据,判断所述第一目标条件触发部件产生的所述目标部件状态是否为属于所述联动条件的部件状态,若是,利用与所述第一目标条件触发部件的所述第二状态数据对应的所述行为数据在所述测试界面呈现属于所述联动行为的部件行为,其中,所述第一目标条件触发部件的所述联动条件的所述触发优先级高于其他所述条件触发部件的所述联动条件。
27.在其中的一些实施例中,所述行为展现部件执行预先配置的行为变更处理逻辑的步骤还包括:
28.若所述第一目标条件触发部件产生的所述目标部件状态为不属于所述联动条件的部件状态,则,根据第二目标条件触发部件的所述第一状态数据和所述第二状态数据,判断所述第二目标条件触发部件产生的所述目标部件状态是否为属于所述联动条件的部件状态,若是,利用与所述第二目标条件触发部件的所述第二状态数据对应的所述行为数据在所述测试界面呈现所述属于所述联动行为的部件行为,其中,所述第二目标条件触发部件的所述联动条件的所述触发优先级低于所述第一目标条件触发部件的所述联动条件。
29.在其中的一些实施例中,根据所述第一状态数据和所述第二状态数据,判断所述条件触发部件产生的所述目标部件状态是否为属于所述联动条件的部件状态的步骤包括:
30.判断所述第一状态数据与所述第二状态数据是否相同,若是,则所述条件触发部件产生的所述目标部件状态为属于所述联动条件的部件状态。
31.根据本发明的另一个方面,提供了一种测试消防组态系统中组态部件部件行为的装置,所述装置用于执行所述的测试消防组态系统中组态部件部件行为的方法。
32.根据本发明的另一个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的测试消防组态系统中组态部件部件行为的方法。
33.根据本发明的另一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的测试消防组态系统中组态部件部件行为的方法。
34.本发明实施例的有益效果:
35.本发明实施例将消防组态系统呈现于测试界面后,生成用于对各行为展现部件的部件行为进行测试所需的测试项,在测试界面直接对需要测试的组态部件按测试项的内容进行测试,可在将消防组态系统提交至真实生产环境之前即可完成对各组态部件的部件行为正确性的测试,从而提升组态部件的生产质量,降低消防组态系统上线运行后的出错风险,测试效率高,成本低。
36.本发明的一个或多个实施例的细节在以下附图和描述中提出,以使本发明的其他特征、目的和优点更加简明易懂。
附图说明
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
38.图1为本发明一实施例提供的一种测试消防组态系统中组态部件部件行为的方法的流程示意图;
39.图2为本发明一实施例提供的判断目标部件行为与预期测试结果是否一致的流程示意图;
40.图3为本发明一实施例提供的测试界面生成的消防组态系统和对应组态部件的测试项的示意图。
41.图4为本发明一实施例提供的触发行为展现部件产生目标部件行为的流程示意图;
42.图5为本发明一实施例提供的组态部件a自身产生的部件状态1触发其产生部件行为a1的示意图;
43.图6为本发明一实施例提供的组态部件b产生部件状态b1触发组态部件a产生部件行为a1的示意图;
44.图7为本发明一实施例提供的多种联动条件组合触发组态部件a产生部件行为a1的示意图;
45.图8为本发明一实施例提供的绘制消防组态系统的示意图;
46.图9为本发明一实施例提供的为组态部件配置联动项的示意图;
47.图10为本发明一实施例提供的测试工具联动组态部件a执行行为变更处理逻辑的示意图。
具体实施方式
48.下面将参照附图更详细地描述本实施例的实施例。虽然附图中显示了本实施例的某些实施例,然而应当理解的是,本实施例可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本实施例。应当理解的是,本实施例的附图及实施例仅用于示例性作用,并非用于限制本实施例的保护范围。
49.首先,在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
50.组态:用应用软件中提供的工具、方法,完成工程中某一具体任务的过程。
51.部件状态:消防组态系统中的组态部件对应现实世界中的消防设备、传感器等消防设施,组态部件具有的部件状态对应消防设施产生的设备状态,常见设备状态有报警状态、故障状态。
52.部件行为:部件行为表现可以是现实世界中消防设施的运行动作,例如水管水流流动;也可以是数字化世界的一种显示变化,例如发生报警后部件发生红色闪烁等运行动作。
53.行为展现部件:为便于对不同的组态部件进行区分理解而定义的术语,行为展现部件作为指令接收方,可在接收联动触发指令后而运行某种动作或发生某种显示变化的部件,即下文提到的产生属于联动行为的部件行为的组态部件。
54.条件触发部件:为便于区分行为展现部件而定义的术语,条件触发部件作为指令发布方,通过发布某项指令触发行为展现部件产生运行动作的组态部件。
55.联动项:在为组态部件配置联动关系时而配置的联动条件和联动行为,每一条联动项配置的是条件触发部件产生的部件状态和行为展现部件产生的部件行为之间的关系。
56.测试项:是将所配置的联动项通过测试工具进行解析,遍历各种测试情况后产生的语义化表现形式,测试工具即可依据测试项进行自动化测试。
57.针对现有的测试消防组态系统中组态部件的部件行为的测试方式存在测试效率低下且成本高的问题,本发明第一个实施例提供了一种测试消防组态系统中组态部件部件行为的方法,该方法将消防组态系统的组态配置文件导入测试工具后由测试工具实现,如图1所示,该方法包括如下步骤:
58.步骤s11:获取消防组态系统的组态配置文件,组态配置文件包括组态部件的部件信息,部件信息包括组态部件的可视化参数和联动属性,其中,联动属性为根据预先为组态部件配置的联动项确定的属性,联动项包括联动条件和联动行为,联动条件为作为条件触发部件的组态部件具有的其中一种部件状态,联动行为是作为行为展现部件的组态部件具有的其中一种部件行为,条件触发部件用于在产生属于联动条件的部件状态时,触发行为展现部件产生属于联动行为的部件行为,条件触发部件和行为展现部件为同一组态部件或不同的组态部件。如组态部件a具有部件状态a1和部件状态a2、部件行为a1,组态部件b具有部件状态b1和部件状态b2,联动条件如组态部件b的部件状态b1,当组态部件b产生部件状态b1时,触发组态部件a产生部件行为a1,这时,组态部件b为条件触发部件,组态部件a为行为展现部件。当组态部件a的部件状态a1为联动条件时,设定组态部件a的部件状态a1触发组态部件a产生部件行为a1,这时,组态部件a既是条件触发部件也是行为展现部件。
59.步骤s12:将基于可视化参数生成的消防组态系统呈现于预定的测试界面,并基于联动属性获取行为展现部件的联动项,以根据联动项在测试界面生成用于对行为展现部件进行测试的测试项,其中,测试项包括测试条件,测试条件为用于测试行为展现部件在不同联动条件下产生的部件行为的正确性的条件。如测试条件为组态部件b产生部件状态b1时,测试行为展现部件被部件状态b1触发后产生的部件行为是否为预定的部件行为。
60.步骤s13:响应于测试界面接收的针对行为展现部件的测试指令,基于测试条件测试行为展现部件的部件行为的正确性。
61.本发明实施例将消防组态系统呈现于测试界面后,生成用于对各行为展现部件的部件行为进行测试所需的测试项,在测试界面直接对需要测试的组态部件按测试项的内容进行测试,可在将消防组态系统提交至真实生产环境之前即可完成对各组态部件的部件行为正确性的测试,从而提升组态部件的生产质量,降低消防组态系统上线运行后的出错风险,无需搭建真实环境、采用真实测试数据或模拟数据进行测试,测试效率高,成本低。
62.为进一步提高测试效率和测试结果的直观性,本发明实施例中的测试项还包括预期测试结果,预期测试结果为根据联动项确定的行为展现部件在测试条件下需产生的部件行为,如联动项包括的联动条件为组态部件b产生部件状态b1,该联动条件触发的联动行为为组态部件a的部件行为a1,由此,获得预期测试结果为组态部件a产生部件行为a1,则,如图2所示,步骤s13中基于测试条件测试行为展现部件的部件行为的正确性的步骤包括:
63.步骤s21:基于测试条件触发相应的条件触发部件产生目标部件状态后,确定行为
展现部件产生的目标部件行为,其中,目标部件状态为条件触发部件具有的属于联动条件的部件状态或不属于联动条件的部件状态。
64.步骤s22:判断目标部件行为与预期测试结果是否一致,以获得用于表明行为展现部件的部件行为的正确性的判断结果,并将判断结果推送至测试界面。
65.由此,如图3所示,本发明实施例可根据生成的测试条件,依序测试个测试条件下行为展现部件产生的目标部件行为的正确性,并将测试得到的正确性判断结果推送至测试界面直观地告知测试人员,测试人员即可获知相应测试条件下该行为展现部件的部件行为是否符合预期测试结果,从而确定是否需要修正行为展现部件在相应联动条件触发下产生的部件行为,测试效率高,成本低,无需人为时刻观测获取测试结果,用户体验佳。
66.本发明实施例中的组态配置文件还包括为条件触发部件配置的部件状态修改接口,部件状态修改接口为用于修改条件触发部件的部件状态的接口,基于测试条件触发相应的条件触发部件产生目标部件状态的步骤包括:基于测试条件判断条件触发部件需产生的目标部件状态,以通过部件状态修改接口将条件触发部件当前产生的部件状态修改为目标部件状态。由此,本发明实施例能够根据测试条件通过部件状态修改接口去调整相应条件触发部件在测试过程中应产生的部件状态,从而测试相关行为展现部件在该部件状态的触发下产生的部件行为是否符合预期测试结果,测试效率高,且大大降低了开发人员和/或测试人员的工作量。
67.本发明实施例中的联动属性包括:条件触发部件的第一联动属性,第一联动属性包括条件触发部件需触发的行为展现部件的身份标识(例如id标识),和条件触发部件的第一状态数据,第一状态数据包括属于联动条件的部件状态的状态数据和不属于联动条件的部件状态的状态数据。如组态部件b的第一联动属性包括组态部件a的身份标识,以及用于表明部件状态b1和/或部件状态b2的第一状态数据等。则,如图4所示,步骤s21基于测试条件触发相应的条件触发部件产生目标部件状态后,本发明实施例提供的方法还包括:
68.步骤s31:根据身份标识,确定条件触发部件需触发的行为展现部件,以将目标部件状态的第一状态数据发送至行为展现部件。
69.步骤s32:通过触发行为展现部件执行预先配置的行为变更处理逻辑,来使行为展现部件产生目标部件行为,其中,行为变更处理逻辑为配置在行为展现部件中的用于根据第一状态数据确定目标部件行为的处理逻辑。可见,本发明实施例将行为变更处理逻辑集成在行为展现部件内,条件触发部件产生目标部件状态后,将目标部件状态的第一状态数据发送给行为展现部件,行为展现部件的行为变更处理逻辑即可根据第一状态数据确定目标部件行为。
70.如当作为条件触发部件的组态部件b的部件状态发生变化后,本发明实施例提供的方法会依据联动属性识别到需要联动的组态部件a,将组态部件b的部件状态的第一状态数据发送给组态部件a进行缓存,调用并触发组态部件a的行为变更处理逻辑来确定并渲染组态部件a产生的部件行为样式。
71.本发明实施例中的联动属性还包括:行为展现部件的第二联动属性,第二联动属性包括属于联动行为的部件行为的行为数据、与行为数据对应的条件触发部件的第二状态数据,第二状态数据为属于联动条件的部件状态的状态数据。如作为行为展现部件的组态部件a的第二联动属性包括部件行为a1的行为数据、部件状态b1的第二状态数据等。步骤
s32中,行为展现部件执行预先配置的行为变更处理逻辑的步骤包括:根据第一状态数据和第二状态数据,判断条件触发部件产生的目标部件状态是否为属于联动条件的部件状态,若是,利用与第二状态数据对应的行为数据在测试界面呈现属于联动行为的部件行为,即行为变更处理逻辑依据最终的部件状态判断结果渲染部件行为的样式,无需使用真实数据即可完成对组态部件a的部件行为正确性的测试,测试效率高、成本低。在本发明实施例中,根据第一状态数据和第二状态数据,判断条件触发部件产生的目标部件状态是否为属于联动条件的部件状态的步骤包括:判断第一状态数据与第二状态数据是否相同,若是,则条件触发部件产生的目标部件状态为属于联动条件的部件状态。行为展现部件的行为变更处理逻辑自动根据条件触发部件发送过来的状态数据判断条件触发部件当前处于何种部件状态,进而根据状态判断结果确定渲染行为展现部件产生哪种部件行为,行为展现部件被触发产生相应的目标部件行为后,通过识别目标部件行为的行为样式来确定目标部件行为是否符合预期测试结果,并最终将用于描述符合情况的判断结果推送至测试界面展示给相关人员,测试效率高,并降低了相关人员的测试工作量。
72.在本发明实施例中,由于现实消防场景中的消防设施产生的运行动作可能是两个对应的设备组合触发的,如组态部件b产生部件状态b1和组态部件c产生部件状态c1组合触发组态部件a产生部件行为a1,但组态部件b独自产生部件状态b1时对应触发组态部件a产生部件行为a1,组态部件c独自产生部件状态c1时触发组态部件a产生部件行为a2,组合触发情形下,联动项的联动条件包括多个,多个联动条件产生于不同的条件触发部件(如前述的部件状态b1和部件状态c1分别来自组态部件b和组态部件c),且一个联动条件对应一个联动行为(如组态部件b产生的部件状态b1对应组态部件a产生部件行为a1),多个条件触发部件用于组合触发行为展现部件产生属于其中一个联动行为的部件行为。
73.为测试组合触发情况下行为展现部件产生的部件行为的正确性,本发明实施例中的联动属性还包括:为联动项具有的多个联动条件设置的触发优先级,以使多个条件触发部件组合触发行为展现部件产生属于其中一个联动行为的部件行为时,利用产生触发优先级高的联动条件的条件触发部件触发行为展现部件产生对应的属于联动行为的部件行为。如组态部件b产生部件状态b1这一联动条件的触发优先级高于组态部件c产生部件状态c1这一联动条件的触发优先级,则,当组态部件b产生部件状态b1且组态部件c产生部件状态c1时,由组态部件b产生的部件状态b1触发组态部件a产生部件行为a1。则,行为展现部件执行预先配置的行为变更处理逻辑的步骤还包括:根据第一目标条件触发部件的第一状态数据和第二状态数据,判断第一目标条件触发部件产生的目标部件状态是否为属于联动条件的部件状态,若是,利用与第一目标条件触发部件的第二状态数据对应的行为数据在测试界面呈现属于联动行为的部件行为,其中,第一目标条件触发部件的联动条件的触发优先级高于其他条件触发部件的联动条件。由此,本发明实施例能够测试多种部件状态组合触发行为展现部件产生部件行为的正确性,可以快速为行为展现部件配置由多条联动条件和联动行为构成的联动项,通过读取分析相关组态部件的联动属性识别行为展现部件的联动项,再将联动项进行语义化转换为直观展现在测试界面上的测试条件和预期测试结果,最终自动识别行为展现部件产生的部件行为是否符合预期测试结果,极大的提升了测试效率。
74.此外,行为展现部件执行预先配置的行为变更处理逻辑的步骤还包括:若第一目
标条件触发部件产生的目标部件状态为不属于联动条件的部件状态,则,根据第二目标条件触发部件的第一状态数据和第二状态数据,判断第二目标条件触发部件产生的目标部件状态是否为属于联动条件的部件状态,若是,利用与第二目标条件触发部件的第二状态数据对应的行为数据在测试界面呈现属于联动行为的部件行为,其中,第二目标条件触发部件的联动条件的触发优先级低于第一目标条件触发部件的联动条件。即本发明实施例在组合触发情形下,当触发优先级较高的条件触发部件产生的部件状态部不属于设定的联动条件时,由触发优先级较低的产生了属于联动条件的条件触发部件去触发行为展现部件产生相应的部件行为,否则,行为展现部件产生默认的部件行为。如行为变更处理逻辑判断出触发优先级较高的组态部件b不处于部件状态b1,则判断组态部件c是否处于属于联动条件的部件状态c1,若是,则渲染作为行为展现部件的组态部件a产生部件行为a2,若组态部件c不处于部件状态c1,则渲染组态部件a产生默认的部件行为的行为样式,测试效率高。
75.由上可知,本发明实施例能在将研发绘制的消防组态系统提交真实生产环境前,对消防组态系统组态部件的部件行为进行测试,来确保每个组态部件的在各种联动条件下产生正确的部件行为,将测试相关的行为变更处理逻辑等集成在组态部件内部,每个组态部件对外暴露测试能力,在绘制好消防组态系统后,即可通过测试工具测试组态部件部件行为的正确性,能将测试流程提前,降低组态系统上线运行后出错的风险,节省成本。本发明实施例能够测试多种部件状态组合触发行为展现部件产生部件行为的正确性,可以快速为行为展现部件配置由多条联动条件和联动行为构成的联动项,通过读取分析相关组态部件的联动属性识别行为展现部件的联动项,再将联动项进行语义化转换为直观展现在测试界面上的测试条件和预期测试结果,最终自动识别行为展现部件产生的部件行为是否符合预期测试结果,极大的提升了测试效率。
76.本发明第二个实施例还提供了一种测试消防组态系统中组态部件部件行为的装置,该装置用于执行测试消防组态系统中组态部件部件行为的方法,该测试消防组态系统中组态部件部件行为的方法具体请参见本发明第一个实施例提供的内容,本发明实施例在此不再赘述。
77.本发明第三个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现测试消防组态系统中组态部件部件行为的方法,该测试消防组态系统中组态部件部件行为的方法具体请参见本发明第一个实施例提供的内容,本发明实施例在此不再赘述。
78.本发明第四个实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现的测试消防组态系统中组态部件部件行为的方法,该测试消防组态系统中组态部件部件行为的方法具体请参见本发明第一个实施例提供的内容,本发明实施例在此不再赘述。
79.本发明第五个实施例还提供一种计算机程序产品,包括计算机程序,其中,计算机程序在被计算机的处理器执行时用于使计算机执行测试消防组态系统中组态部件部件行为的方法,该测试消防组态系统中组态部件部件行为的方法具体请参见本发明第一个实施例提供的内容,本发明实施例在此不再赘述。
80.本发明第六个实施例在上述四个实施例的基础上,提供了测试消防组态系统中组态部件部件行为的方法的具体应用实施例。
81.本发明提供的应用实施例在消防组态系统开发完成后,将消防组态系统提交真实生产环境前,对每个组态部件的部件行为的运行情况进行测试,而触发每个组态部件运行的联动条件来源会有多种情况,基于此点需定义多种联动条件下的部件状态与部件行为之间联动触发关系的联动模型,使用程序语言描述为测试某种联动条件下组态部件产生的部件行为是否正常。具体定义的联动条件的来源有:
82.来源1:组态部件自身的某种部件状态作为联动条件,此时组态部件即是行为展现部件也是条件触发部件。如图5所示的组态部件a自身产生的部件状态1触发其产生部件行为a1,组态部件a此时即是行为展现部件也是条件触发部件。
83.来源2:行为展现部件关联的条件触发部件的某种部件状态作为联动条件。如图6所示的作为条件触发部件的组态部件b产生部件状态b1触发组态部件a产生部件行为a1,组态部件b产生的部件状态b1为联动条件。
84.来源3:行为展现部件关联的组态部件b的某种部件状态与行为展现部件关联的组态部件c的某种部件状态的组合,组合可以是更多个条件触发部件产生部件状态。如图7所示的组态部件b和组态部件c组合触发组态部件a产生部件行为a1。作为联动条件的部件状态与部件行为的关系可以是多对多的关联。
85.确定组态部件、部件状态和部件行为的联动模型后,如下详细描述应用实施例的主要执行流程。
86.步骤11、绘制消防组态系统:
87.如图8所示,绘制时,按部件模板规范制作组态部件,并定义组态部件的部件状态的状态数据、部件行为的行为数据、身份标识(如互联网协议地址,英语:internet protocol address,简称id)、联动解析规则以及部件状态修改接口。使用组态绘图工具从组态部件库中获取组态部件,并通过组态绘图工具将组态部件进行组合绘制以获得仿真实际消防系统的消防组态系统。将绘制后得到的部件信息保存在组态配置文件中,组态配置文件的内容包括组态部件的可视化参数、默认部件状态、默认部件行为以及部件状态修改接口,可视化参数包括组态部件在消防组态系统所处的位置、大小、展示样式等。
88.步骤12、配置组态部件的联动项:
89.如图9所示,选中作为行为展现部件的组态部件a进行联动项的配置时,消防组态系统所在的组态界面呈现用于配置组态部件a的联动项的联动配置界面,配置的联动项包括联动条件和联动行为,具体配置时增加联动项,然后选择条件触发部件的部件状态,并选择此部件状态下组态部件a应产生的正确的部件行为。如组态部件b产生部件状态b1,触发组态部件a产生部件行为a1。组态部件c产生部件状态c1,触发组态部件a产生部件行为a2。组态部件b产生部件状态b1且组态部件c产生部件状态c1,组合触发组态部件a产生部件行为a1。每个联动项可以行增加多条联动条件和联动行为,并通过拖动调整各联动条件的触发优先级。触发优先级用于在多个条件触发部件组合触发行为展现部件产生属于其中一个联动行为的部件行为时,利用产生触发优先级高的联动条件的条件触发部件触发行为展现部件产生对应的属于联动行为的部件行为。
90.解析多条联动项,并在组态配置文件中找到组态部件a的部件属性,在部件属性中增加联动属性,具体包括:条件触发部件的身份标识、条件触发部件的状态数据、行为展现部件的行为数据。以及在组态配置文件中找到组态部件b和组态部件c的部件属性,分别在
相应的部件属性中添加组态部件b、组态部件c的联动属性,如组态部件b的联动属性包括:组态部件a的身份标识和组态部件b自身具有的部件状态的状态数据。最终可导出包含了联动属性的组态配置文件供测试组态部件的部件行为时使用。
91.步骤13、将组态配置文件导入测试工具,在测试工具的测试界面生成各个组态部件的测试项,该测试项包括测试条件和预期测试结果。
92.31)将步骤2中获得组态配置文件导入到组态测试工具中。
93.32)测试工具的测试程序解析组态配置文件,并渲染组态配置文件中的内容,将基于可视化参数生成的消防组态系统呈现于测试界面,并使消防组态系统处于初始运行状态。此时组态部件已经将各自的包含了联动属性的部件属性加载至预定的内存中。
94.33)将作为条件触发部件的组态部件b与组态部件c的初始部件状态更新至组态部件a,由组态部件a的入口程序对初始部件状态进行缓存。
95.34)测试工具解析组态配置文件,获取组态部件a的联动属性,从中识别并提取出为组态部件a配置的关联项。
96.35)将多条关联项按触发优先级进行组合,通过测试工具的测试程序遍历各种触发情况后,将关联项进行语义化转换,并以语义化的方式进行展示。其中以示例中的情况举例,将两条关联项进行语义化转换后,生成四条测试项,测试项包括测试条件和预期测试结果,具体如3所示:
97.测试条件1:组态部件b产生部件状态b1且组态部件c产生部件状态c1时,预期测试结果:触发部件行为a1。
98.测试条件2:组态部件b产生部件状态b1且组态部件c产生非部件状态c1时,预期测试结果:触发部件行为a1。
99.测试条件3:组态部件b产生非部件状态b1且组态部件c产生部件状态c1时,预期测试结果:触发部件行为a2。
100.测试条件4:组态部件b产生非部件状态b1且组态部件c产生非部件状态c1时,预期测试结果:保持默认部件行为。
101.步骤14、测试工具模拟触发上述的测试条件并自动验证预期测试结果:
102.如图3所示。用户触发组态部件a以对组态部件a执行测试后,测试工具依序执行按触发优先级组合后的测试条件。模拟触发组态部件b和组态部件c基于每条测试条件应产生的部件状态,当相应测试条件触发预定时长后(如5秒钟),测试工具的测试程序从测试界面组态部件a展现的行为样式中提取行为样式关键信息,将确定的行为样式表现的部件行为并与预期测试结果进行比较,判断组态部件a的部件行为是否服务预期测试结果,以此类推顺序执行,直到将所有测试项测试完成。
103.如图10所示,其中,本发明实施例以单条测试项的测试过程为例进行的具体测试流程如下:测试工具调用组态部件中的部件状态修改接口,通过部件状态修改接口修改组态部件b和组态部件c的部件状态按相应测试条件产生变化,并联动执行组态部件a的行为变更处理逻辑以实时重新渲染组态部件a的部件行为的行为样式,测试工具通过识别分析组态部件a的行为样式,判断组态部件a的部件行为是否符合预期测试结果,最终将符合情况展示于测试界面供相关人员参考。其中,联动组态部件a的行为变更处理逻辑时,当组态部件b和组态部件c的状态发生变化后,测试工具会依据内存中各条件触发部件的联动属性
识别到需要联动的组态部件a,并调用组态部件a用于缓存条件触发部件的状态数据的入口程序,通过入口程序对条件触发部件的状态数据进行缓存,并触发调用行为变更处理逻辑,并最终依据行为变更处理逻辑的处理结果渲染行为样式。
104.为使本发明实施例更加清楚明白,本发明实施例以消防水系统为例来说明利用测试工具对消防水系统的组态部件的部件行为的测试流程。
105.步骤21、绘制简单的消防水系统的消防组态水系统:
106.将消防组态水系统中绘制的组态部件a作为行为展现部件,代表消防水管,假设消防水管水平放置,那么消防水管的部件行为定义如下:部件行为a1:向左流动,部件行为a2:向右流动,部件行为a3:静止,初始行为:静止。
107.消防组态水系统中绘制的组态部件b作为条件触发部件”,在此用来代表消防喷淋末端,有两种部件状态,组态部件b的部件状态定义如下:部件状态b1:报警,代表发生火警,当报警时喷淋末端喷水,消防水管水流向末端流动。部件状态b2:正常,代表正常,消防水管水流静止。
108.消防组态水系统中绘制的组态部件c作为条件触发部件,在此用来代表水压表,组态部件c根据水压表的运行状态有两种部件状态:部件状态c1:报警,代表欠压,当欠压时由稳压泵给水,消防水管水流流动。部件状态c2:正常,代表正常,消防水管水流静止。
109.步骤2,给组态部件a配置联动项:
110.联动项1:水压表发生欠压报警,触发消防水管水流向左流动,即触发产生部件行为a1。联动项2:喷淋末端发生火灾报警,触发消防水管水流向左流动,即触发产生部件行为a1。
111.步骤23,对关联项进行语义转化生成测试项:
112.测试项1:水压表发生欠压报警且喷淋末端发生火灾报警(测试条件1),消防水管水流向左流动(预期测试结果1);
113.测试项2:水压表发生欠压报警且喷淋末端发生正常(测试条件2),消防水管水流向左流动(预期测试结果2);
114.测试项3:水压表发生正常且喷淋末端发生火灾报警(测试条件3),消防水管水流向左流动(预期测试结果3);
115.测试项4:水压表发生正常且喷淋末端发生正常(测试条件4),消防水管进入初始设置的静止行为(预期测试结果4);
116.步骤24,测试每个测试项并自动化的验证组态部件a产生的部件行为是否符合预期测试结果,从而确定组态部件a的部件行为的正确性。
117.总言之,本发明实施例能在将研发绘制的消防组态系统提交真实生产环境前,对消防组态系统组态部件的部件行为进行测试,来确保每个组态部件的在各种联动条件下产生正确的部件行为,将测试相关的行为变更处理逻辑等集成在组态部件内部,每个组态部件对外暴露测试能力,在绘制好消防组态系统后,即可通过测试工具测试组态部件部件行为的正确性,能将测试流程提前,降低组态系统上线运行后出错的风险,节省成本。本发明实施例能够测试多种部件状态组合触发行为展现部件产生部件行为的正确性,可以快速为行为展现部件配置由多条联动条件和联动行为构成的联动项,通过读取分析相关组态部件的联动属性识别行为展现部件的联动项,再将联动项进行语义化转换为直观展现在测试界
面上的测试条件和预期测试结果,最终自动识别行为展现部件产生的部件行为是否符合预期测试结果,极大的提升了测试效率。
118.用于实施本发明实施例的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得计算机程序当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
119.在本发明实施例的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读信号介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或其他系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
120.需要说明的是,本发明实施例使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。本发明实施例中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
121.本发明实施例所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
122.本发明实施例所提供的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的保护范围在此方面不受限制。
[0123]“实施例”一词在本说明书中指的是结合实施例描述的具体特征、结构或特性可以包括在本发明的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见。尤其,对于装置、设备、系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明。
[0124]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。
技术特征:
1.一种测试消防组态系统中组态部件部件行为的方法,其特征在于,包括:获取消防组态系统的组态配置文件,所述组态配置文件包括组态部件的部件信息,所述部件信息包括所述组态部件的可视化参数和联动属性,其中,所述联动属性为根据预先为所述组态部件配置的联动项确定的属性,所述联动项包括联动条件和联动行为,所述联动条件为作为条件触发部件的组态部件具有的其中一种部件状态,所述联动行为是作为行为展现部件的组态部件具有的其中一种部件行为,所述条件触发部件用于在产生属于所述联动条件的部件状态时,触发所述行为展现部件产生属于所述联动行为的部件行为,所述条件触发部件和所述行为展现部件为同一所述组态部件或不同的所述组态部件;将基于所述可视化参数生成的所述消防组态系统呈现于预定的测试界面,并基于所述联动属性获取所述行为展现部件的所述联动项,以根据所述联动项在所述测试界面生成用于对所述行为展现部件进行测试的测试项,其中,所述测试项包括测试条件,所述测试条件为用于测试所述行为展现部件在不同所述联动条件下产生的所述部件行为的正确性的条件;响应于所述测试界面接收的针对所述行为展现部件的测试指令,基于所述测试条件测试所述行为展现部件的所述部件行为的正确性。2.根据权利要求1所述的测试消防组态系统中组态部件部件行为的方法,其特征在于,所述测试项还包括预期测试结果,所述预期测试结果为根据所述联动项确定的所述行为展现部件在所述测试条件下需产生的部件行为,基于所述测试条件测试所述行为展现部件的所述部件行为的正确性的步骤包括:基于所述测试条件触发相应的所述条件触发部件产生目标部件状态后,确定所述行为展现部件产生的目标部件行为,其中,所述目标部件状态为所述条件触发部件具有的属于所述联动条件的部件状态或不属于所述联动条件的部件状态;判断所述目标部件行为与所述预期测试结果是否一致,以获得用于表明所述行为展现部件的所述部件行为的正确性的判断结果,并将所述判断结果推送至所述测试界面。3.根据权利要求2所述的测试消防组态系统中组态部件部件行为的方法,其特征在于,所述组态配置文件还包括为所述条件触发部件配置的部件状态修改接口,所述部件状态修改接口为用于修改所述条件触发部件的所述部件状态的接口,基于所述测试条件触发相应的所述条件触发部件产生目标部件状态的步骤包括:基于所述测试条件判断所述条件触发部件需产生的所述目标部件状态,以通过所述部件状态修改接口将所述条件触发部件当前产生的所述部件状态修改为所述目标部件状态。4.根据权利要求2或3所述的测试消防组态系统中组态部件部件行为的方法,其特征在于,所述联动属性包括:所述条件触发部件的第一联动属性,所述第一联动属性包括所述条件触发部件需触发的所述行为展现部件的身份标识,和所述条件触发部件的第一状态数据,所述第一状态数据包括属于所述联动条件的部件状态的状态数据和不属于所述联动条件的部件状态的状态数据;则,基于所述测试条件触发相应的所述条件触发部件产生目标部件状态后,所述方法还包括:根据所述身份标识,确定所述条件触发部件需触发的所述行为展现部件,以将所述目
标部件状态的所述第一状态数据发送至所述行为展现部件;通过触发所述行为展现部件执行预先配置的行为变更处理逻辑,来使所述行为展现部件产生所述目标部件行为,其中,所述行为变更处理逻辑为配置在所述行为展现部件中的用于根据所述第一状态数据确定所述目标部件行为的处理逻辑。5.根据权利要求4所述的测试消防组态系统中组态部件部件行为的方法,其特征在于,所述联动属性还包括:所述行为展现部件的第二联动属性,所述第二联动属性包括属于所述联动行为的部件行为的行为数据、与所述行为数据对应的所述条件触发部件的第二状态数据,所述第二状态数据为属于所述联动条件的部件状态的状态数据;所述行为展现部件执行预先配置的行为变更处理逻辑的步骤包括:根据所述第一状态数据和所述第二状态数据,判断所述条件触发部件产生的所述目标部件状态是否为属于所述联动条件的部件状态,若是,利用与所述第二状态数据对应的所述行为数据在所述测试界面呈现所述属于所述联动行为的部件行为。6.根据权利要求5所述的测试消防组态系统中组态部件部件行为的方法,其特征在于,所述联动项的所述联动条件包括多个,多个所述联动条件产生于不同的所述条件触发部件,且一个所述联动条件对应一个所述联动行为,多个所述条件触发部件用于组合触发所述行为展现部件产生属于其中一个所述联动行为的部件行为,所述联动属性还包括:为所述联动项具有的多个所述联动条件设置的触发优先级,以使多个所述条件触发部件组合触发所述行为展现部件产生属于其中一个所述联动行为的部件行为时,利用产生所述触发优先级高的所述联动条件的所述条件触发部件触发所述行为展现部件产生对应的属于所述联动行为的部件行为;则,所述行为展现部件执行预先配置的行为变更处理逻辑的步骤还包括:根据第一目标条件触发部件的所述第一状态数据和所述第二状态数据,判断所述第一目标条件触发部件产生的所述目标部件状态是否为属于所述联动条件的部件状态,若是,利用与所述第一目标条件触发部件的所述第二状态数据对应的所述行为数据在所述测试界面呈现属于所述联动行为的部件行为,其中,所述第一目标条件触发部件的所述联动条件的所述触发优先级高于其他所述条件触发部件的所述联动条件。7.根据权利要求6所述的测试消防组态系统中组态部件部件行为的方法,其特征在于,所述行为展现部件执行预先配置的行为变更处理逻辑的步骤还包括:若所述第一目标条件触发部件产生的所述目标部件状态为不属于所述联动条件的部件状态,则,根据第二目标条件触发部件的所述第一状态数据和所述第二状态数据,判断所述第二目标条件触发部件产生的所述目标部件状态是否为属于所述联动条件的部件状态,若是,利用与所述第二目标条件触发部件的所述第二状态数据对应的所述行为数据在所述测试界面呈现所述属于所述联动行为的部件行为,其中,所述第二目标条件触发部件的所述联动条件的所述触发优先级低于所述第一目标条件触发部件的所述联动条件。8.根据权利要求5所述的测试消防组态系统中组态部件部件行为的方法,其特征在于,根据所述第一状态数据和所述第二状态数据,判断所述条件触发部件产生的所述目标部件状态是否为属于所述联动条件的部件状态的步骤包括:
判断所述第一状态数据与所述第二状态数据是否相同,若是,则所述条件触发部件产生的所述目标部件状态为属于所述联动条件的部件状态。9.一种测试消防组态系统中组态部件部件行为的装置,其特征在于,所述装置用于执行权利要求1至8任一所述的测试消防组态系统中组态部件部件行为的方法。10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一所述的方法步骤。
技术总结
本申请涉及一种测试消防组态系统中组态部件部件行为的方法及相关设备,该方法包括获取消防组态系统的组态配置文件,组态配置文件包括部件信息,部件信息包括组态部件的可视化参数和联动属性,其中,联动属性为根据预先为组态部件配置的联动项确定的属性,联动项包括联动条件和联动行为;将基于可视化参数生成的消防组态系统呈现于预定的测试界面,并基于联动属性获取行为展现部件的联动项,以根据联动项在测试界面生成用于对行为展现部件进行测试的测试项;响应于测试界面接收的针对行为展现部件的测试指令,基于测试条件测试行为展现部件的部件行为的正确性。本申请解决了现有的测试组态部件的部件行为的方式测试效率低且成本高的问题。成本高的问题。成本高的问题。
技术研发人员:何铁龙 郑金荣 夏怡璐
受保护的技术使用者:杭州海康消防科技有限公司
技术研发日:2023.06.09
技术公布日:2023/10/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/