一种补丁接口的测试方法及装置的制造方法

文档序号:10654447阅读:288来源:国知局
一种补丁接口的测试方法及装置的制造方法
【专利摘要】本发明公开了一种补丁接口的测试方法和装置,方法包括:补丁接口参数备份步骤,用于将所述补丁接口即将传入的参数逐个备份至缓冲区A中;补丁接口运行步骤,用于根据状态标识执行补丁模块或只读存储器ROM功能模块;当状态标识表明是执行补丁模块,将通过补丁接口运行EEPROM中的补丁测试数据生成步骤;补丁测试数据生成步骤,用于将接口传入的参数逐个写入缓冲区B中;数据比较步骤,用于将缓冲区A中的数据与缓冲区B中的数据进行比较;结果确定步骤,用于确定是否正确进入到补丁,以及确定ROM中的补丁接口是否已将参数完整的传递到上述补丁测试数据生成步骤中。
【专利说明】
一种补丁接口的测试方法及装置
技术领域
[0001]本发明涉及嵌入式设计领域,尤其涉及一种补丁接口的测试方法及装置。
【背景技术】
[0002]掩膜式的嵌入式系统,其存储体系包括:只读存储器(R0M,Read-0nlyMemory)、电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-OnlyMemory)、以及随机存储器(RAM,Random_Access Memory) AOM用于存储操作系统及应用;RAM用于存储操作系统和应用的变量数据;EEPROM用于存储数据,如通讯录、短信息等。其中,EEPROM是可以修改的存储区域。通常,系统会设计成中央处理器(CPU,Cen tra IProcessing Unit)可以直接访问ROM和EEPROM的地址空间,所以程序代码可以分别存储在ROM和EEPROM这两个存储介质上运行。
[0003]在制造掩膜芯片时,设计厂商会将操作系统及应用的代码形成可执行的HEX文件,然后由半导体生产厂商将HEX文件掩膜形成在ROM内。掩膜在ROM中的操作系统和应用程序由于介质特性,不能再被修改。这造成一旦掩膜开始,即使厂商发现程序存在缺陷也不能修改,导致掩膜芯片报废,带来巨大的损失。所以厂商会设计补丁机制来应对这种问题。
[0004]补丁机制是指,ROM中的程序根据一定规则调用EEPROM中的某段程序或函数,以替换ROM中存在缺陷的程序或函数,通常替换的单位是函数模块。在嵌入式系统中,由于存储空间有限,往往不能替换全部程序,从实际出发,往往是在一定的程序点上预留补丁判断和分支的接口,当确认补丁生效后将调用补丁模块。业界称这种接口为补丁接口。
[0005]对于补丁接口要进行测试,以保证ROM中的程序可在约定条件下执行补丁正确。通常的测试方法都是设计出存储在EEPROM中的补丁模块,该补丁模块与ROM中的模块功能相同,并特别设计出一定的差异;然后用测试ROM中该功能模块的方法结合预期的差异,来表明执行到了补丁模块中,以证明补丁接口正确。
[0006]但上述测试方法存在两点问题:
[0007]—,为了测试,需要开发每个和原ROM模块功能相近并设计出差异的补丁模块,这样的工作量较大,导致测试效率低。
[0008]二,该测试方法的测试覆盖率有一定局限,即没有关注到补丁接口本身,而是关注通过补丁的执行间接证明补丁接口正确,在参数传递方面容易漏测。

【发明内容】

[0009]为解决现有存在的技术问题,本发明实施例期望提供一种补丁接口的测试方法及
目.ο
[0010]为实现上述发明目的,本发明实施例采用以下方式来实现:
[0011 ]本发明实施例提供了一种补丁接口的测试方法,所述方法包括:
[0012]补丁接口参数备份步骤,用于将所述补丁接口即将传入的参数逐个备份至缓冲区A中;
[0013]补丁接口运行步骤,用于根据状态标识执行补丁模块或只读存储器ROM功能模块;当状态标识表明是执行补丁模块,将通过补丁接口运行EEPROM中的补丁测试数据生成步骤;
[0014]补丁测试数据生成步骤,用于将接口传入的参数逐个写入缓冲区B中;
[0015]数据比较步骤,用于将缓冲区A中的数据与缓冲区B中的数据进行比较;
[0016]结果确定步骤,用于确定是否正确进入到补丁,以及确定ROM中的补丁接口是否已将参数完整的传递到上述补丁测试数据生成步骤中。
[0017]上述方案中,所述方法还包括:
[0018]对参数的备份次序采用以下规则:写入的参数顺序与接口传入顺序一致;若为结构体类型的参数,写入顺序与结构体中成员顺序一致。
[0019]上述方案中,所述方法还包括:
[0020]对参数的写入次序采用以下规则:写入的参数顺序与接口传入顺序一致;若为结构体类型的参数,写入顺序与结构体中成员顺序一致。
[0021 ]上述方案中,所述方法还包括:
[0022]在结果确定步骤中,如果数据比较的结果完全一致,表明正确进入到补丁,并且补丁传输参数正确;如果数据比较的结果不一致,表明没有正确进入到补丁或者补丁传输参数不正确。
[0023]本发明实施例还提供了一种补丁接口的测试装置,所述装置包括:
[0024]补丁接口参数备份单元,用于将接口即将传入的参数逐个备份至缓冲区A中;
[0025]补丁接口运行单元,用于根据状态标识执行补丁模块或ROM功能模块;当状态标识表明是执行补丁模块,将通过补丁接口运行EEPROM中的补丁测试数据生成装置;
[0026]补丁测试数据生成单元,用于将接口传入的参数逐个写入缓冲区B中;
[0027]数据比较单元,用于将缓冲区A中的数据与缓冲区B中的数据进行比较;
[0028]结果确定单元,用于确定是否正确进入到补丁,以及确定ROM中的补丁接口是否已将参数完整的传递到上述补丁测试数据生成单元中。
[0029]上述方案中,所述补丁接口参数备份单元对参数的备份次序采用以下规则:写入的参数顺序与接口传入顺序一致;若为结构体类型的参数,写入顺序与结构体中成员顺序一 Sc ο
[0030]上述方案中,所述补丁测试数据生成单元对参数的写入次序采用以下规则:写入的参数顺序与接口传入顺序一致;若为结构体类型的参数,写入顺序与结构体中成员顺序一 Sc ο
[0031]上述方案中,所述结果确定单元进一步用于,在结果确定时,如果数据比较的结果完全一致,表明正确进入到补丁,并且补丁传输参数正确;如果数据比较的结果不一致,表明没有正确进入到补丁或者补丁传输参数不正确。
[0032]本发明实施例提供的一种补丁接口的测试方法及装置,备份调用补丁前的接口参数,在补丁中对传入的参数再次备份,通过比较两次备份数据的一致性,达到测试是否正确进入到补丁,以及确定ROM中的补丁接口是否已将参数完整的传递到补丁中的目的。本发明实施例简单可行,能够以更高的效率、更全面的覆盖率的完成补丁接口测试。
【附图说明】
[0033]图1为本发明实施例的一种补丁接口的测试方法的流程图;
[0034]图2为本发明实施例的补丁接口运行的实施流程示意图;
[0035]图3为本发明实施例的一种补丁接口的测试装置的组成结构示意图。
【具体实施方式】
[0036]下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
[0037]本发明实施例提供一种补丁接口的测试方法与装置,用以解决现有技术中补丁接口测试效率不高和不全面的问题。本发明实施例的方法关键在于,关注被测对象为补丁接口,而不是补丁程序;通过本发明实施例的方法可测试出补丁接口是否可正常引导至补丁程序,以及补丁接口是否将充分必要的参数正确传递至补丁程序。
[0038]本发明实施例提供的一种补丁接口的测试方法,该方法主要包括:
[0039]补丁接口参数备份步骤,用于将补丁接口(补丁接口位于ROM中)即将传入的参数逐个备份至缓冲区A(缓冲区A位于RAM中)中。对参数的备份次序采用一种规则,即写入的参数顺序与接口传入顺序一致;若为结构体类型的参数,写入顺序与结构体中成员顺序一致。
[0040]补丁接口运行步骤,用于根据状态标识执行补丁模块或ROM功能模块。如果状态标识表明是执行补丁模块,将通过补丁接口运行EEPROM中的补丁测试数据生成步骤。
[0041]补丁测试数据生成步骤,用于将补丁接口传入的参数逐个写入缓冲区B(缓冲区B位于RAM中)中。写入的参数顺序与接口传入顺序一致;若为结构体类型的参数,写入顺序与结构体中成员顺序一致。
[0042]数据比较步骤,用于将缓冲区A中的数据与缓冲区B中的数据进行比较。
[0043]结果确定步骤,用于确定是否正确进入到补丁,以及确定ROM中的补丁接口是否已将参数完整的传递到上述补丁测试数据生成装置中。
[0044]前文提过补丁替换的单位通常是函数模块,本实施例提供一种测试补丁接口的方法,就是针对一个函数模块的补丁接口的测试方法。如图1所示,所述方法包括:
[0045]步骤A01、补丁参数备份。将整理函数的多个输入接口参数,并将这些参数逐个备份写入至缓冲区A中。备份动作必须依照一定的顺序进行,例如按照传入的参数从左至右的顺序;当参数为结构体参数时,写入顺序与结构体中成员顺序一致。
[0046]步骤A02、补丁接口运行。据状态标识执行补丁模块或ROM功能模块。状态标识用于控制补丁是否生效,不由本实施例维护,本实施例仅读取状态标识。如果状态标识表明是执行补丁模块,将通过补丁接口运行EEPROM中的补丁测试数据生成模块。
[0047]步骤A03、补丁测试数据生成。在进入本模块时,补丁接口会将函数参数传入,本步骤中会将这些参数逐个写入至缓冲区B中。写入的次序必须依照步骤AOl的顺序,例如按照传入的参数从左至右的顺序;当参数为结构体参数时,写入顺序与结构体中成员顺序一致。
[0048]步骤A04、进行数据比较。将缓冲区A和缓冲区B的数据逐一进行比对,输出完全一致或不一致的结果。
[0049]步骤A05、进行结果判断,如果上一步比较的结果完全一致,表明正确进入到补丁,并且补丁传输参数正确;如果比较的结果不一致,表明没有正确进入到补丁或者补丁传输参数不正确。
[0050]其中,补丁接口运行的具体实施过程如图2所示,主要包括:
[0051 ]步骤B00、开始进入补丁模块。
[0052]步骤BOl、读取补状态标识,并进行判断。
[0053]步骤B02、当补状态标识表示补丁生效,则准备执行EEPROM中的程序。
[0054]步骤B03、当补状态标识表示补丁生效,则准备执行ROM中的程序。
[0055]本发明实施例提供的一种补丁接口的测试装置,如图3所示,主要包括:
[0056]补丁接口参数备份单元10,用于将接口即将传入的参数逐个备份至缓冲区A中。对参数的备份次序采用一种规则,即写入的参数顺序与接口传入顺序一致;若为结构体类型的参数,写入顺序与结构体中成员顺序一致。
[0057]补丁接口运行单元20,用于根据状态标识执行补丁模块或ROM功能模块。如果状态标识表明是执行补丁模块,将通过补丁接口运行EEPROM中的补丁测试数据生成装置。
[0058]补丁测试数据生成单元30,用于将接口传入的参数逐个写入缓冲区B中。写入的参数顺序与接口传入顺序一致;若为结构体类型的参数,写入顺序与结构体中成员顺序一致。
[0059]数据比较单元40,用于将缓冲区A中的数据与缓冲区B中的数据进行比较。
[0000]结果确定单元50,用于确定是否正确进入到补丁,以及确定ROM中的补丁接口是否已将参数完整的传递到上述补丁测试数据生成装置中。
[0061]经实践证明,本发明实施例提供的补丁接口的测试方法及装置,简单可行,能够以更高的效率、更全面的覆盖率的完成补丁接口测试。
[0062]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【主权项】
1.一种补丁接口的测试方法,其特征在于,所述方法包括: 补丁接口参数备份步骤,用于将所述补丁接口即将传入的参数逐个备份至缓冲区A中;补丁接口运行步骤,用于根据状态标识执行补丁模块或只读存储器ROM功能模块;当状态标识表明是执行补丁模块,将通过补丁接口运行EEPROM中的补丁测试数据生成步骤; 补丁测试数据生成步骤,用于将接口传入的参数逐个写入缓冲区B中; 数据比较步骤,用于将缓冲区A中的数据与缓冲区B中的数据进行比较; 结果确定步骤,用于确定是否正确进入到补丁,以及确定ROM中的补丁接口是否已将参数完整的传递到上述补丁测试数据生成步骤中。2.根据权利要求1所述补丁接口的测试方法,其特征在于,所述方法还包括: 对参数的备份次序采用以下规则:写入的参数顺序与接口传入顺序一致;若为结构体类型的参数,写入顺序与结构体中成员顺序一致。3.根据权利要求1所述补丁接口的测试方法,其特征在于,所述方法还包括: 对参数的写入次序采用以下规则:写入的参数顺序与接口传入顺序一致;若为结构体类型的参数,写入顺序与结构体中成员顺序一致。4.根据权利要求1、2或3所述补丁接口的测试方法,其特征在于,所述方法还包括: 在结果确定步骤中,如果数据比较的结果完全一致,表明正确进入到补丁,并且补丁传输参数正确;如果数据比较的结果不一致,表明没有正确进入到补丁或者补丁传输参数不正确。5.一种补丁接口的测试装置,其特征在于,所述装置包括: 补丁接口参数备份单元,用于将接口即将传入的参数逐个备份至缓冲区A中; 补丁接口运行单元,用于根据状态标识执行补丁模块或ROM功能模块;当状态标识表明是执行补丁模块,将通过补丁接口运行EEPROM中的补丁测试数据生成装置; 补丁测试数据生成单元,用于将接口传入的参数逐个写入缓冲区B中; 数据比较单元,用于将缓冲区A中的数据与缓冲区B中的数据进行比较; 结果确定单元,用于确定是否正确进入到补丁,以及确定ROM中的补丁接口是否已将参数完整的传递到上述补丁测试数据生成单元中。6.根据权利要求5所述补丁接口的测试装置,其特征在于,所述补丁接口参数备份单元对参数的备份次序采用以下规则:写入的参数顺序与接口传入顺序一致;若为结构体类型的参数,写入顺序与结构体中成员顺序一致。7.根据权利要求5所述补丁接口的测试装置,其特征在于,所述补丁测试数据生成单元对参数的写入次序采用以下规则:写入的参数顺序与接口传入顺序一致;若为结构体类型的参数,写入顺序与结构体中成员顺序一致。8.根据权利要求5、6或7所述补丁接口的测试装置,其特征在于,所述结果确定单元进一步用于,在结果确定时,如果数据比较的结果完全一致,表明正确进入到补丁,并且补丁传输参数正确;如果数据比较的结果不一致,表明没有正确进入到补丁或者补丁传输参数不正确。
【文档编号】G06F11/36GK106021089SQ201510718951
【公开日】2016年10月12日
【申请日】2015年10月30日
【发明人】杨念东
【申请人】北京中电华大电子设计有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1