测试用例的生成方法和装置、电子设备、存储介质制造方法及图纸

技术编号:36568019 阅读:13 留言:0更新日期:2023-02-04 17:24
本申请公开了一种测试用例的生成方法和装置、电子设备、存储介质。其中,该方法包括:确定待测试的目标功能块,根据所述目标功能块的输入事件和所述输入事件的关联输入变量为所述目标功能块生成测试用例,可自动依据输入事件生成对应的测试用例,而不用用户自行设计测试用例,也不需要用户对源代码文件进行分析、配置后生成测试用例,可以解决生成测试用例的操作较繁琐的技术问题。操作较繁琐的技术问题。操作较繁琐的技术问题。

【技术实现步骤摘要】
测试用例的生成方法和装置、电子设备、存储介质


[0001]本申请涉及工控
,具体而言,涉及一种测试用例的生成方法和装置、电子设备、存储介质。

技术介绍

[0002]基本功能块是IEC61499(是用于分布式工业过程测量与控制系统功能块的标准)中一种控制器逻辑功能封装的基本单元。基本功能块包括一个执行控制图(ECC,一种状态机),由ECC调度算法来执行,算法由设计者使用结构化文本(ST,IEC61131

3中的一种标准编程语言)之类的语言编写。
[0003]功能块类型的描述是图形化的,如图1所示,功能块类型图形上部表示事件(包括EVENT、INIT_EVENT),凹槽以下的下部表示变量(如BOOL、REAL等)。左边表示输入,右边表示输出,功能块类型是事件驱动的,即每个变量都和某一个事件关联的,输入变量和输入事件关联,输出变量和输出事件关联的,事件驱动功能块执行,当事件有效时,其关联的数据才有效。
[0004]而在基于功能块的图形化组态系统中尚没有类似的能快速进行测试的方法,已有的只是图形化的单步测试等,具体如图2所示,组态装置将功能块测试用例的测试请求数据,通过网络连接下发至测试设备上,由被测设备完成测试后将测试执行数据返回给组态装置,组态装置处理测试数据然后给出测试结果。
[0005]测试过程中,用户必须手动逐次设置基本功能块compfb的输入,再观察其输出,对比是否合乎预期,这样手动设置显得低效,而且无追溯测试过程;在功能块类型编辑更改后,很难重复前面的测试过程,即无法回归测试。
[0006]在相关技术中,提出了测试用例的自动生成方法,其需要依据已实现的源代码文件来分析,然后结合用户的配置文件生成测试用例,或依赖已实现的源代码文件分析来确定集合类型参数中实际使用的参数,然后生成测试用例,操作繁琐,且容易出错,还存在一定的安全隐患。
[0007]针对上述生成测试用例的操作较繁琐的技术问题,目前尚未提出有效的解决方案。

技术实现思路

[0008]本申请实施例中提供一种测试用例的生成方法和装置、电子设备、存储介质,以解决生成测试用例的操作较繁琐的技术问题。
[0009]为解决上述技术问题,根据本申请实施例的一个方面,提供了一种测试用例的生成方法,包括:确定待测试的目标功能块,其中,所述目标功能块用于在工业控制中使用;根据所述目标功能块的输入事件和所述输入事件的关联输入变量为所述目标功能块生成测试用例。
[0010]可选地,根据所述目标功能块的输入事件和所述输入事件的关联输入变量为所述
目标功能块生成测试用例,包括:以输入事件为单位,对每个所述输入事件的关联输入变量的变量类型和所述变量类型下的变量集进行组合,从而为得到的每个组合生成对应的测试用例。
[0011]可选地,对每个所述输入事件的关联输入变量的变量类型和所述变量类型下的变量集进行组合,从而为得到的每个组合生成对应的测试用例,包括:确定所述输入事件下的所有关联输入变量;确定每种关联输入变量所拥有的所有变量类型;确定每种变量类型下的所有变量集;为所述输入事件下的每个关联输入变量所拥有的每种变量类型下的每个变量集,生成一个测试用例,并存入测试用例集合中,其中,所述测试用例集合中保存有为所述输入事件生成的N个测试用例,N为所述输入事件关联的所有变量集的数量。
[0012]可选地,根据所述目标功能块的输入事件和所述输入事件的关联输入变量为所述目标功能块生成测试用例,包括:对所述目标功能块的所有所述输入事件进行组合,根据得到的每个组合内的多个所述输入事件和所述输入事件的关联输入变量,为每个组合生成一个测试用例,并存入测试用例集合中。
[0013]可选地,对所述目标功能块的所有所述输入事件进行组合,包括:获取所述目标功能块的执行控制图ECC,其中,所述执行控制图ECC用于表示输入事件、状态、算法调用以及输出事件之间的对应关系;从所述目标功能块的所有所述输入事件中,根据所述执行控制图ECC的状态转换路径确定相关联的多组输入事件,其中,每组输入事件包括至少两个在所述状态转换路径中存在关联的输入事件。
[0014]可选地,在根据所述目标功能块的输入事件和所述输入事件的关联输入变量为所述目标功能块生成测试用例之后,所述方法还包括:展示生成的所述测试用例;在检测到用户的第一操作的情况下,将所述第一操作所指示的信息作为所述测试用例的期望输出。
[0015]可选地,在展示生成的所述测试用例之后,所述方法还包括:检测到用户的第二操作,其中,所述第二操作用于指示执行增加测试用例、删除测试用例以及修改测试用例中的之一;执行所述第二操作所指示的操作。
[0016]根据本申请实施例的另一方面,还提供了一种测试用例的生成装置,包括:确定单元,用于确定待测试的目标功能块,其中,所述目标功能块用于在工业控制中使用;生成单元,用于根据所述目标功能块的输入事件和所述输入事件的关联输入变量为所述目标功能块生成测试用例。
[0017]可选地,生成单元还用于:以输入事件为单位,对每个所述输入事件的关联输入变量的变量类型和所述变量类型下的变量集进行组合,从而为得到的每个组合生成对应的测试用例。
[0018]可选地,生成单元还用于:确定所述输入事件下的所有关联输入变量;确定每种关联输入变量所拥有的所有变量类型;确定每种变量类型下的所有变量集;为所述输入事件下的每个关联输入变量所拥有的每种变量类型下的每个变量集,生成一个测试用例,并存入测试用例集合中,其中,所述测试用例集合中保存有为所述输入事件生成的N个测试用例,N为所述输入事件关联的所有变量集的数量。
[0019]可选地,生成单元还用于:对所述目标功能块的所有所述输入事件进行组合,根据得到的每个组合内的多个所述输入事件和所述输入事件的关联输入变量,为每个组合生成一个测试用例,并存入测试用例集合中。
[0020]可选地,生成单元还用于:获取所述目标功能块的执行控制图ECC,其中,所述执行控制图ECC用于表示输入事件、状态、算法调用以及输出事件之间的对应关系;从所述目标功能块的所有所述输入事件中,根据所述执行控制图ECC的状态转换路径确定相关联的多组输入事件,其中,每组输入事件包括至少两个在所述状态转换路径中存在关联的输入事件。
[0021]可选地,本申请的装置还可包括,交互单元,用于在根据所述目标功能块的输入事件和所述输入事件的关联输入变量为所述目标功能块生成测试用例之后,展示生成的所述测试用例;在检测到用户的第一操作的情况下,将所述第一操作所指示的信息作为所述测试用例的期望输出。
[0022]可选地,交互单元还用于:在展示生成的所述测试用例之后,检测到用户的第二操作,所述第二操作用于指示执行增加测试用例、删除测试用例以及修改测试用例中的之一;执行所述第二操作所指示的操作。
[0023]根据本申请实施例的另一方面,还提供了一种计算机可读存储介质,该存储介质包括存储的程序,程序被处理器执行时实现上本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种测试用例的生成方法,其特征在于,所述方法包括:确定待测试的目标功能块,其中,所述目标功能块用于在工业控制中使用;根据所述目标功能块的输入事件和所述输入事件的关联输入变量为所述目标功能块生成测试用例。2.根据权利要求1所述的方法,其特征在于,根据所述目标功能块的输入事件和所述输入事件的关联输入变量为所述目标功能块生成测试用例,包括:以输入事件为单位,对每个所述输入事件的关联输入变量的变量类型和所述变量类型下的变量集进行组合,为得到的每个组合生成对应的测试用例。3.根据权利要求2所述的方法,其特征在于,对每个所述输入事件的关联输入变量的变量类型和所述变量类型下的变量集进行组合,为得到的每个组合生成对应的测试用例,包括:确定所述输入事件下的所有关联输入变量;确定每种关联输入变量所拥有的所有变量类型;确定每种变量类型下的所有变量集;为所述输入事件下的每个关联输入变量所拥有的每种变量类型下的每个变量集,生成一个测试用例,并存入测试用例集合中,其中,所述测试用例集合中保存有为所述输入事件生成的N个测试用例,N为所述输入事件关联的所有变量集的数量。4.根据权利要求1所述的方法,其特征在于,根据所述目标功能块的输入事件和所述输入事件的关联输入变量为所述目标功能块生成测试用例,包括:对所述目标功能块的所有所述输入事件进行组合,根据得到的每个组合内的多个所述输入事件和所述输入事件的关联输入变量,为每个组合生成一个测试用例,并存入测试用例集合中。5.根据权利要求4所述的方法,其特征在于,对所述目标功能块的所有所述输入事件进行组合,包括:获取所述目标功能块...

【专利技术属性】
技术研发人员:王灵军李杰杨丽娟陈靖涛都业明
申请(专利权)人:国创能源互联网创新中心广东有限公司
类型:发明
国别省市:

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

1