一种基于Kconfig自动配置系统的增量自动批量回归测试方法技术方案

技术编号:36854844 阅读:10 留言:0更新日期:2023-03-15 17:39
本发明专利技术涉及一种基于Kconfig自动配置系统的增量自动批量回归测试方法,包括如下步骤:步骤S1:为实际芯片产品的不同应用模式生成基准配置的Kconfig默认配置;步骤S2:为不同测试用例生成基于基准配置的增量配置,所述增量配置包括测试环境增量配置和测试功能增量配置;步骤S3:在测试机台上实现用于回归测试的启动和停止功能,测试框架将测试程序提交给测试机台,完成测试;步骤S4:自动回归测试框架实现批量执行功能。本发明专利技术利用Kconfig提供的自动修改配置功能,构筑回归测试系统,来达到大规模芯片验证加速的同时,又能保证加速后的验证的有效性。有效性。有效性。

【技术实现步骤摘要】
一种基于Kconfig自动配置系统的增量自动批量回归测试方法


[0001]本专利技术涉及一种回归测试方法,特别涉及一种基于Kconfig自动配置系统的增量自动批量回归测试方法。

技术介绍

[0002]Kconfig是Linux内核使用的编译配置功能,允许定义bool/int/hex/string等类型生成C语言和汇编语言可以使用的宏定义。其中bool支持多选choice,int/hex支持范围range。
[0003]Kconfig系统在行业中工程实际应用上的地位如下:
[0004]1.芯片测试需要大量的仿真激励达到覆盖率,这些激励:
[0005]·
有的是对同一硬件的不同功能(下文称测试功能配置):如果将所有测试功能链接成一个程序,则由于测试程序过于庞大,不适于用于芯片仿真;如果将每个测试功能分开实现为单独的程序,则它们共通的部分又有统一维护的需求。
[0006]·
有的是对同一硬件的不同配置(下文称测试环境配置):如果运行同一测试功能的硬件配置不同,则经由不同配置编译生成的测试程序又无可避免的是相互独立的程序。
[0007]这时候软件工程上总是使用条件编译的手段(#ifdef/#endif等)来将同一套代码根据不同的条件编译配置编译成不同的测试程序。这在大规模的工程中是一种必然选择,这样当两个程序之间仅有少量差异时,工程上总是只针对差异部分进行开发,开发成本最小;两个程序之间有相同部分时,总是一次修改相同的部分,所有目标程序都受益,迭代代价最低。如图1所示,为IC芯片IP例化参数举例示意图。
[0008]这样第一步得到了如下的环境:通过指定不同的条件编译宏,将统一的测试功能代码编译生成为特定测试程序。
[0009]2.芯片验证工程中,由于协议栈的复杂性,导致IP本身的可配置项繁多。例如,Synopsis公司的一个IP在手册上可配置选项通常多达几十种到上百种:
[0010]而且更麻烦的是,这些配置之间存在着协议上的依赖关系,例如:
[0011]·
功能A仅当功能B也选中的时候可以选择(依赖);
[0012]·
功能A在功能B选中时必须也被选中(反向依赖);
[0013]·
功能X/Y/Z之间只能选取其中一种(可选项)

[0014]若没有自动化解决配置关系的工具,用户很难在成千上万的可配置选项中选择而不出问题。这时候需要有一个界面化的工具来隐藏配置项关系的细节,例如Synopsis本身就开发了coreConsultant来界面化隐藏配置之间逻辑关系。而Kconfig系统就是Linux内核专门打造的将所有Linux内核配置项依赖用界面方式表达的配置利器,如今被几乎所有的大型开源系统软件工程所采用,而芯片验证软件为了达到覆盖率和快速迭代的效果,也恰巧就是这样一种大型系统软件工程。
[0015]图2演示的就是Kconfig隐藏后前文所述的Synopsis DDR IP在某款实际芯片中可
选的配置项。

技术实现思路

[0016]专利技术所要解决的问题
[0017]本专利技术提供一种基于Kconfig自动配置系统的增量自动批量回归测试方法,其通过构筑回归测试系统,为某一个特定程序保存Kconfig生成的配置(Kconfig术语称为默认配置defconfig,表现为一组CONFIG_XXX的列表),回归测试时候用该默认配置多次生成程序执行测试。
[0018]具体来讲,本专利技术提供一种基于Kconfig自动配置系统的增量自动批量回归测试方法以解决如下技术问题。
[0019]1.测试环境配置之间两两组合,三三组合可达到的配置效果的组合是指数级的庞然大数,用一个程序一个默认配置来维护将产生庞然大数的文件,并不适合。特别是在不同的验证目标(IP验证、SoC验证)下,测试环境配置完全不同,但是差异却很小,此时更需要考虑测试环境配置仅维护差异配置项的问题。
[0020]2.可变不稳定配置项和稳定配置项维护在同一个默认配置文件中,当开发中的根据环境和功能不同可变的不稳定配置项需要有所变化,对默认配置文件的修改维护工作是项目中的巨大困难。
[0021]3.芯片测试程序在仿真时的配置和回片后实际芯片中的产品配置截然不同,前者有大量的加速功能(例如,程序可以以后门方式加载、时钟频率可以在机台上直接给出、一些定时功能由于仿真执行的是行为模型可以不严格定时、一部分IP不存在或者经过仿真裁剪

)。实际仿真测试中需要不加速也验证的部分功能只用不加速仿真方式仿真一次,而测试其他功能时均使用可加速功能加速的仿真配置。如何使得加速配置的仿真通过,也能证明产品用的不加速的仿真配置在芯片研发期间从未真正执行过也具有有效性,可以放心在芯片回片后也使用产品配置编译生成的二进制。
[0022]4.硬件上对回归系统的支持:大量测试回归运行有个前提条件是,每一个芯片仿真都能跑完测试(甚至跑不完测试)自动退出,这种仿真退出功能也和在产品配置中并不存在。并且要加速执行整个产品系列中的某一个中间程序,也需要硬件提供仿真加速启动的模式,配合后门加载直接执行中间程序。
[0023]用于解决问题的方案
[0024]本专利技术提供一种基于Kconfig自动配置系统的增量自动批量回归测试方法,包括如下步骤:
[0025]S1:为实际芯片产品的不同应用模式生成基准配置的Kconfig默认配置;
[0026]S2:为不同测试用例生成基于基准配置的增量配置,所述增量配置包括测试环境增量配置和测试功能增量配置;
[0027]S3:在测试机台上实现用于回归测试的启动和停止功能,测试框架将测试程序提交给测试机台,完成测试;
[0028]S4:自动回归测试框架实现批量执行功能。
[0029]优选地,在步骤S1中,测试框架选择最接近于测试环境的产品默认配置做为基准。
[0030]优选地,在步骤S2中,测试框架根据测试环境配置和测试用例选择执行MOD CFG脚
本将所述增量配置叠加到基准配置上,这同时也将产品配置修改为仿真配置,形成测试程序的配置文件。
[0031]优选地,步骤S2包括如下步骤:
[0032]S2.1:先根据测试环境配置将测试环境增量配置应用到产品基准配置;
[0033]S2.2:最后将测试功能增量配置应用到修改后的产品基准配置上。
[0034]优选地,步骤S3包括如下步骤:
[0035]S3.1:以测试程序配置编译后的测试软件用后门形式加载到硬件模型中,选择合适的硬件测试机台实现的启动模式启动仿真硬件;
[0036]S3.2:测试程序启动后执行测试命令,根据测试结果与否调用硬件测试机台实现的仿真技术功能结束硬件仿真。
[0037]优选地,在步骤S4中,项目期间为所有测试用例反复执行步骤S1

S3,自动回归测试框架收集测试程序输出判断测试结果,整个系统形本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Kconfig自动配置系统的增量自动批量回归测试方法,其特征在于,包括如下步骤:步骤S1:为实际芯片产品的不同应用模式生成基准配置的Kconfig默认配置;步骤S2:为不同测试用例生成基于基准配置的增量配置,所述增量配置包括测试环境增量配置和测试功能增量配置;步骤S3:在测试机台上实现用于回归测试的启动和停止功能,测试框架将测试程序提交给测试机台,完成测试;步骤S4:自动回归测试框架实现批量执行功能。2.根据权利要求1所述的基于Kconfig自动配置系统的增量自动批量回归测试方法,其特征在于,在步骤S1中,测试框架选择最接近于测试环境的产品默认配置做为基准。3.根据权利要求2所述的基于Kconfig自动配置系统的增量自动批量回归测试方法,其特征在于,在步骤S2中,测试框架根据测试环境配置和测试用例选择执行MODCFG脚本将所述增量配置叠加到基准配置上,这同时也将产品配置修改为仿真配置,形成测试程序的配置文件。4.根据权利要求3所述的基于Kconfig自动配置系统的增量自动批量回归测试方法,其特征在于,步骤S2包括如下步骤:步骤S2.1:先根据测试环境配置将测试环境增量配置应用到产品基准配置;步骤S2.2:最后将测试功能增量配置应用到修改后的产品基准配置上。5.根据权利要求1所述的基于Kconfig自动配置系统的增量自动批量回归测试方法,其特征在于,步骤S3包括如下步骤:步骤S3.1:以测试程序配置编译后的测试软件用后门形式加载到硬件模型中,选择合适的硬件测试机台实现的启动模式启动仿真硬件;步骤S3.2:测试程序启动后执行测试命令,根据测试结果与否调用硬件测试机台实现的仿真技术功能结束硬件仿真。6.根据权利要求5所述的...

【专利技术属性】
技术研发人员:郑律姜志颖王飞范东睿
申请(专利权)人:苏州睿芯集成电路科技有限公司
类型:发明
国别省市:

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

1