System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 算子的测试用例生成方法、系统、设备及介质技术方案_技高网

算子的测试用例生成方法、系统、设备及介质技术方案

技术编号:40649383 阅读:5 留言:0更新日期:2024-03-13 21:27
本公开提供了一种算子的测试用例生成方法、系统、设备及介质,其中,生成方法包括:获取AI软件栈中开源框架的框架信息,以及开源框架中各个算子对应的算子信息;基于框架信息和算子信息,生成对应算子信息的测试用例模板;基于不同版本的算子参考测试用例,得到若干初始算子参数信息;获取与开源框架匹配的测试用例的目标版本信息;基于目标版本信息和预设测试需求,得到若干与预设测试需求对应的目标参数算子信息;基于目标参数算子信息和测试用例模板,生成若干对应预设测试需求下的第一测试用例;根据不同预设测试需求下的若干第一测试用例,得到用于对开源框架中各个算子进行功能测试的若干目标测试用例。

【技术实现步骤摘要】

本公开涉及软件测试领域,尤其涉及一种算子的测试用例生成方法、系统、设备及介质


技术介绍

1、算子:ai(artificial intelligence,人工智能)模型由一个个计算单元组成,一般称这些计算单元为算子(operator,简称op),对应于某种计算逻辑,例如:relu是被用作激活函数的算子。

2、ai软件栈:指一系列构成人工智能系统的软件组件和工具集合,用于支持开发、部署和运行各种ai应用。

3、现有的ai软件栈的算子测试用例主要集中适用于官方的算子模型或者一些开源模型里面的算子,算子范围相对局限,同时收集或者手动构建算子模型时间较长。

4、并且,在面向ai部署软件栈中,现有各支持框架(onnx,pytorch,tf等)存在算子测试用例不够全面,同时收集和构建算子成本过高等问题,

5、其中,测试用例不全,会导致ai软件栈存在很多隐患,进而导致后期使用中存在算子支持性问题,在投入使用后维护更新成本高等情况发生。


技术实现思路

1、本公开要解决的技术问题是为了克服现有技术中的测试用例成本高的缺陷,提供一种算子的测试用例生成方法、系统、设备及介质。

2、本公开是通过下述技术方案来解决上述技术问题:

3、根据本公开的第一方面,提供了一种算子的测试用例生成方法,所述生成方法包括:

4、获取ai软件栈中开源框架的框架信息,以及所述开源框架中各个算子对应的算子信息;

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、在所述参数信息库内删除对应所述第一测试用例的所述目标参数算子信息。

39、根据本公开的第二方面,提供了一种算子的测试用例生成系统,所述生成系统包括:

40、算子信息获取模块,用于获取ai软件栈中开源框架的框架信息,以及所述开源框架中各个算子对应的算子信息;

41、测试用例模版生成模块,用于基于所述框架信息和所述算子信息,生成对应所述算子信息的测试用例模板;

42、初始参数信息获取模块,用于基于不同版本的算子参考测试用例,得到若干初始算子参数信息;

43、目标版本获取模块,用于获取与所述开源框架匹配的测试用例的目标版本信息;

44、目标参数信息获取模块,用于基于所述目标版本信息和预设测试需求,得到若干与所述测试需求对应的目标参数算子信息;

45、第一测试用例生成模块,用于基于所述目标参数算子信息和所述测试用例模板,生成若干对应所述预设测试需求下的第一测试用例;

46、目标测试用例生成模块,用于根据不同所述预设测试需求下的若干所述第一测试用例,得到用于对所述开源框架中各个所述算子进行功能测试的若干目标测试用例。

47、根据本公开的第三方面,提供了一种电子本文档来自技高网...

【技术保护点】

1.一种算子的测试用例生成方法,其特征在于,所述生成方法包括:

2.根据权利要求1所述的算子的测试用例生成方法,其特征在于,所述基于不同版本的算子参考测试用例,得到若干初始算子参数信息的步骤包括:

3.根据权利要求1所述的算子的测试用例生成方法,其特征在于,所述测试用例模板包括若干第一算子参数信息;

4.根据权利要求3所述的算子的测试用例生成方法,其特征在于,所述得到用于对所述开源框架中各个所述算子进行功能测试的若干目标测试用例的步骤之后还包括:

5.根据权利要求4所述的算子的测试用例生成方法,其特征在于,所述预设验证规则包括:结构验证方式以及数值验证方式;

6.根据权利要求5所述的算子的测试用例生成方法,其特征在于,所述生成方法还包括:

7.一种算子的测试用例生成系统,其特征在于,所述生成系统包括:

8.一种电子设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,其特征在于,所述处理器执行计算机程序时实现权利要求1-6中任一项所述的算子的测试用例生成方法。

9.一种芯片,应用于电子设备,其特征在于,所述芯片用于执行如权利要求1-6中任一项所述的算子的测试用例生成方法。

10.一种芯片模组,应用于电子设备,其特征在于,包括收发组件和芯片,所述芯片用于执行如权利要求1-6中任一项所述的算子的测试用例生成方法。

11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的算子的测试用例生成方法。

...

【技术特征摘要】

1.一种算子的测试用例生成方法,其特征在于,所述生成方法包括:

2.根据权利要求1所述的算子的测试用例生成方法,其特征在于,所述基于不同版本的算子参考测试用例,得到若干初始算子参数信息的步骤包括:

3.根据权利要求1所述的算子的测试用例生成方法,其特征在于,所述测试用例模板包括若干第一算子参数信息;

4.根据权利要求3所述的算子的测试用例生成方法,其特征在于,所述得到用于对所述开源框架中各个所述算子进行功能测试的若干目标测试用例的步骤之后还包括:

5.根据权利要求4所述的算子的测试用例生成方法,其特征在于,所述预设验证规则包括:结构验证方式以及数值验证方式;

6.根据权利要求5所述的算子的测试用例生成方法,其特征在于,所述生成方法还包括:...

【专利技术属性】
技术研发人员:李光军昌晶刘昊
申请(专利权)人:展讯通信上海有限公司
类型:发明
国别省市:

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

1