测试方法、测试系统和计算机可读存储介质转让专利

申请号 : CN202210978814.7

文献号 : CN115048317B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周斌梁昭庆杜君白雪松付利莉曲胜波刘冬梅易玲马兵

申请人 : 北京智芯半导体科技有限公司北京智芯微电子科技有限公司

摘要 :

本发明公开了一种测试方法、测试系统和计算机可读存储介质。测试方法包括:在目标空间的物理存储页中创建一个能够完全占用对应的物理存储页的预设对象,目标空间为Java卡的存储空间的至少部分,目标空间包括多个物理存储页;创建预设事务以对部分预设对象的内容进行更新;根据预设事务在提交后的执行情况,确定Java卡对被更新的内容的测试参数;根据测试参数确定测试结果。上述测试方法,通过在Java卡内创建多个预设对象占用空间,并创建预设事务以部分更新每个预设对象的方式来创造测试环境,根据预设事务的执行情况得到的测试参数得到测试结果,从而以测试结果来确定Java卡的事务保护能力,进而可评估Java卡的技术竞争力。

权利要求 :

1.一种用于Java卡的测试方法,其特征在于,所述测试方法包括:在目标空间的物理存储页中创建一个能够完全占用对应的物理存储页的预设对象,所述目标空间为所述Java卡的存储空间的至少部分,所述目标空间包括多个所述物理存储页;

创建预设事务以对部分所述预设对象的内容进行更新;

根据所述预设事务在提交后的执行情况,确定所述Java卡对被更新的内容的测试参数;

根据所述测试参数确定测试结果;

其中,根据所述预设事务在提交后的执行情况,确定所述Java卡对被更新的内容的测试参数,包括:确定第二数量是否等于第一数量,所述第一数量为所有预设对象的数量,所述第二数量为所述预设事务待定操作的预设对象的数量,所述第二数量的初值预设为所述第一数量;

确定所述预设事务是否执行成功,所述预设事务在完成对所有待定操作的预设对象的更新的情况下被视为执行成功;

根据所述第二数量是否等于所述第一数量以及所述预设事务是否执行成功,确定所述Java卡对被更新的内容的测试参数;

其中,所述测试结果为通过所述第一数量是否等于所述第二数量来确定,所述测试结果对应所述Java卡的事务保护机制受数据分布情况的影响程度。

2.根据权利要求1所述的测试方法,其特征在于,在目标空间的每个物理存储页中创建一个能够完全占用对应的物理存储页的预设对象,包括:在所述物理存储页中创建字节大小为第一参数值的预设对象,所述第一参数值为所述物理存储页可占用的最大空间的字节大小。

3.根据权利要求2所述的测试方法,其特征在于,创建预设事务以对部分所述预设对象的内容进行更新,包括:对所述预设事务待定操作的预设对象中字节大小为第二参数值的对应内容进行更新,所述第二参数值预设有初值,所述第二参数值的初值小于所述第一参数值。

4.根据权利要求3所述的测试方法,其特征在于,根据所述第二数量是否等于所述第一数量以及所述预设事务是否执行成功,确定所述Java卡对被更新的内容的测试参数,包括:在确定所述第二数量等于所述第一数量,且所述预设事务未执行成功的情况下,并确定当前的第二参数值不等于预设的初值的时候,根据第三参数值更新所述预设事务并执行更新后的预设事务,所述第三参数值的初值预设为一;

在确定所述更新后的预设事务成功执行的情况下,对当前的第三参数值进行加一处理,根据处理后的第三参数值再次更新所述预设事务并执行再次更新后的预设事务;

在确定所述更新后的预设事务未成功执行的情况下,将当前的第二数量、当前的第二参数值和当前的第三参数值确定为所述测试参数;

在确定所述第二数量不等于所述第一数量,且所述预设事务执行成功的情况下,将当前的第二数量和当前的第二参数值确定为所述测试参数。

5.根据权利要求3所述的测试方法,其特征在于,根据所述第二数量是否等于所述第一数量以及所述预设事务是否执行成功,确定所述Java卡对被更新的内容的测试参数,包括:在确定所述第二数量等于所述第一数量,且所述预设事务执行成功的情况下,对所述第二参数值进行加一处理,根据处理后的第三参数值重新创建所述预设事务并执行重新创建的预设事务;

在确定所述第二数量不等于所述第一数量,且所述预设事务未执行成功的情况下,对所述第二数量进行减一处理,根据处理后的第二数量重新创建所述预设事务并执行重新创建的预设事务;

在确定所述第二数量等于所述第一数量,且所述预设事务未执行成功的情况下,并确定当前的第二参数值等于预设的初值的时候,对所述第二数量进行减一处理,根据处理后的第二数量重新创建所述预设事务并执行重新创建的预设事务。

6.根据权利要求1所述的测试方法,其特征在于,根据所述测试参数确定测试结果,包括:在所述第二数量等于所述第一数量,且第一代数式等于第四参数值的情况下,确定所述Java卡的事务保护机制不受数据分布情况的影响,所述第四参数值为所述目标空间的最大字节大小;

在所述第二数量等于所述第一数量,且所述第一代数式小于所述第四参数值的情况下,确定所述Java卡的事务保护机制会受数据分布情况的影响,且影响程度对应所述第一代数式和所述第四参数值之间的差值;

所述第一代数式为:

(k‑1)*β+(n‑(k‑1))*(β+1),

其中,k表示当前未成功执行更新后的预设事务时预设对象的序号,β表示在所述预设事务中对所述预设对象进行更新的内容的当前字节大小,n表示所述预设事务待定操作的预设对象的数量,在所述更新后的预设事务中,对所有预设对象的前k个更新最后β个字节内容,以及对所有预设对象的后(N‑k)个更新最后(β‑1)个字节内容。

7.根据权利要求1所述的测试方法,其特征在于,根据所述测试参数确定测试结果,包括:在所述第二数量不等于所述第一数量的情况下,确定所述Java卡的事务保护机制受数据分布情况的影响程度大于第一预设程度;

在所述第二数量不等于所述第一数量,且第二代数式等于第四参数值的情况下,确定所述Java卡的事务保护机制会对相互间隔的更新内容之间的部分数据进行备份,所述第四参数值为所述目标空间的最大字节大小;

在所述第二数量不等于所述第一数量,且所述第二代数式小于所述第四参数值的情况下,确定所述Java卡的事务保护机制受数据分布情况的影响程度大于第二预设程度,所述第一预设程度大于所述第二预设程度;

所述第二代数式为:

n*α,

其中,n表示所述预设事务待定操作的预设对象的数量,α表示所述物理存储页可占用的最大空间的字节大小。

8.一种用于Java卡的测试系统,其特征在于,所述测试系统用于:在目标空间的物理存储页中创建一个能够完全占用对应的物理存储页的预设对象,所述目标空间为所述Java卡的存储空间的至少部分,所述目标空间包括多个所述物理存储页;

创建预设事务以对部分所述预设对象的内容进行更新;

根据所述预设事务在提交后的执行情况,确定所述Java卡对被更新的内容的测试参数;

根据所述测试参数确定测试结果;

其中,所述测试系统用于:

确定第二数量是否等于第一数量,所述第一数量为所有预设对象的数量,所述第二数量为所述预设事务待定操作的预设对象的数量,所述第二数量的初值预设为所述第一数量;

确定所述预设事务是否执行成功,所述预设事务在完成对所有待定操作的预设对象的更新的情况下被视为执行成功;

根据所述第二数量是否等于所述第一数量以及所述预设事务是否执行成功,确定所述Java卡对被更新的内容的测试参数;

其中,所述测试结果为通过所述第一数量是否等于所述第二数量来确定,所述测试结果对应所述Java卡的事务保护机制受数据分布情况的影响程度。

9.根据权利要求8所述的测试系统,其特征在于,所述测试系统用于:在所述物理存储页中创建字节大小为第一参数值的预设对象,所述第一参数值为所述物理存储页可占用的最大空间的字节大小。

10.根据权利要求9所述的测试系统,其特征在于,所述测试系统用于:对所述预设事务待定操作的预设对象中字节大小为第二参数值的对应内容进行更新,所述第二参数值预设有初值,所述第二参数值的初值小于所述第一参数值。

11.根据权利要求10所述的测试系统,其特征在于,所述测试系统用于:在确定所述第二数量等于所述第一数量,且所述预设事务未执行成功的情况下,并确定当前的第二参数值不等于预设的初值的时候,根据第三参数值更新所述预设事务并执行更新后的预设事务,所述第三参数值的初值预设为一;

在确定所述更新后的预设事务成功执行的情况下,对当前的第三参数值进行加一处理,根据处理后的第三参数值再次更新所述预设事务并执行再次更新后的预设事务;

在确定所述更新后的预设事务未成功执行的情况下,将当前的第二数量、当前的第二参数值和当前的第三参数值确定为所述测试参数;

在确定所述第二数量不等于所述第一数量,且所述预设事务执行成功的情况下,将当前的第二数量和当前的第二参数值确定为所述测试参数。

12.根据权利要求10所述的测试系统,其特征在于,所述测试系统用于:在确定所述第二数量等于所述第一数量,且所述预设事务执行成功的情况下,对所述第二参数值进行加一处理,根据处理后的第三参数值重新创建所述预设事务并执行重新创建的预设事务;

在确定所述第二数量不等于所述第一数量,且所述预设事务未执行成功的情况下,对所述第二数量进行减一处理,根据处理后的第二数量重新创建所述预设事务并执行重新创建的预设事务;

在确定所述第二数量等于所述第一数量,且所述预设事务未执行成功的情况下,并确定当前的第二参数值等于预设的初值的时候,对所述第二数量进行减一处理,根据处理后的第二数量重新创建所述预设事务并执行重新创建的预设事务。

13.根据权利要求8所述的测试系统,其特征在于,所述测试系统用于:在所述第二数量等于所述第一数量,且第一代数式等于第四参数值的情况下,确定所述Java卡的事务保护机制不受数据分布情况的影响,所述第四参数值为所述目标空间的最大字节大小;

在所述第二数量等于所述第一数量,且所述第一代数式小于所述第四参数值的情况下,确定所述Java卡的事务保护机制会受数据分布情况的影响,且影响程度对应所述第一代数式和所述第四参数值之间的差值;

所述第一代数式为:

(k‑1)*β+(n‑(k‑1))*(β+1),

其中,k表示当前未成功执行更新后的预设事务时预设对象的序号,β表示在所述预设事务中对所述预设对象进行更新的内容的当前字节大小,n表示所述预设事务待定操作的预设对象的数量,在所述更新后的预设事务中,对所有预设对象的前k个更新最后β个字节内容,以及对所有预设对象的后(N‑k)个更新最后(β‑1)个字节内容。

14.根据权利要求8所述的测试系统,其特征在于,所述测试系统用于:在所述第二数量不等于所述第一数量的情况下,确定所述Java卡的事务保护机制受数据分布情况的影响程度大于第一预设程度;

在所述第二数量不等于所述第一数量,且第二代数式等于第四参数值的情况下,确定所述Java卡的事务保护机制会对相互间隔的更新内容之间的部分数据进行备份,所述第四参数值为所述目标空间的最大字节大小;

在所述第二数量不等于所述第一数量,且所述第二代数式小于所述第四参数值的情况下,确定所述Java卡的事务保护机制受数据分布情况的影响程度大于第二预设程度,所述第一预设程度大于所述第二预设程度;

所述第二代数式为:

n*α,

其中,n表示所述预设事务待定操作的预设对象的数量,α表示所述物理存储页可占用的最大空间的字节大小。

15.一种用于Java卡的测试系统,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1‑7任一项所述的测试方法的步骤。

16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在被处理器执行时,实现权利要求1‑7任一项所述的测试方法的步骤。

说明书 :

测试方法、测试系统和计算机可读存储介质

技术领域

[0001] 本发明涉及Java卡测试技术领域,特别涉及一种测试方法、测试系统和计算机可读存储介质。

背景技术

[0002] Java卡是可以运行Java程序的智能卡,它不仅在技术上可以使开发人员不再需要理解复杂硬件技术就可以进行智能卡应用的开发从而大大减少开发时间和降低开发难度,它还是实现一卡多用业务模式非常便利的技术实现手段。为了充分提高Java卡的技术竞争力,就需要对Java卡进行更为深入的评估分析。

发明内容

[0003] 本发明提供了一种测试方法、测试系统和计算机可读存储介质。
[0004] 本发明实施方式的一种用于Java卡的测试方法,包括:
[0005] 在目标空间的物理存储页中创建一个能够完全占用对应的物理存储页的预设对象,所述目标空间为所述Java卡的存储空间的至少部分,所述目标空间包括多个所述物理存储页;
[0006] 创建预设事务以对部分所述预设对象的内容进行更新;
[0007] 根据所述预设事务在提交后的执行情况,确定所述Java卡对被更新的内容的测试参数;
[0008] 根据所述测试参数确定测试结果。
[0009] 上述测试方法,通过在Java卡内创建多个预设对象占用空间,并创建预设事务以部分更新每个预设对象的方式来创造测试环境,根据预设事务的执行情况得到的测试参数得到测试结果,从而以测试结果来确定Java卡的事务保护能力,进而可评估Java卡的技术竞争力。
[0010] 在某些实施方式中,在目标空间的每个物理存储页中创建一个能够完全占用对应的物理存储页的预设对象,包括:
[0011] 在所述物理存储页中创建字节大小为第一参数值的预设对象,所述第一参数值为所述物理存储页可占用的最大空间的字节大小。如此,可实现对物理存储页的完全占用。
[0012] 在某些实施方式中,创建预设事务以对部分所述预设对象的内容进行更新,包括:
[0013] 对所述预设事务待定操作的预设对象中字节大小为第二参数值的对应内容进行更新,所述第二参数值预设有初值,所述第二参数值的初值小于所述第一参数值。如此,可模拟出在目标空间内间隔更新的效果。
[0014] 在某些实施方式中,根据所述预设事务在提交后的执行情况,确定所述Java卡对被更新的内容的测试参数,包括:
[0015] 确定第二数量是否等于第一数量,所述第一数量为所有预设对象的数量,所述第二数量为所述预设事务待定操作的预设对象的数量,所述第二数量的初值预设为所述第一数量;
[0016] 确定所述预设事务是否执行成功,所述预设事务在完成对所有待定操作的预设对象的更新的情况下被视为执行成功;
[0017] 根据所述第二数量是否等于所述第一数量以及所述预设事务是否执行成功,确定所述Java卡对被更新的内容的测试参数。如此,可初步确定Java卡对更新内容的备份情况。
[0018] 在某些实施方式中,根据所述第二数量是否等于所述第一数量以及所述预设事务是否执行成功,确定所述Java卡对被更新的内容的测试参数,包括:
[0019] 在确定所述第二数量等于所述第一数量,且所述预设事务未执行成功的情况下,并确定当前的第二参数值不等于预设的初值的时候,根据第三参数值更新所述预设事务并执行更新后的预设事务,所述第三参数值的初值预设为一;
[0020] 在确定所述更新后的预设事务成功执行的情况下,对当前的第三参数值进行加一处理,根据处理后的第三参数值再次更新所述预设事务并执行再次更新后的预设事务;
[0021] 在确定所述更新后的预设事务未成功执行的情况下,将当前的第二数量、当前的第二参数值和当前的第三参数值确定为所述测试参数;
[0022] 在确定所述第二数量不等于所述第一数量,且所述预设事务执行成功的情况下,将当前的第二数量和当前的第二参数值确定为所述测试参数。如此,可给出确定测试参数的具体方案。
[0023] 在某些实施方式中,根据所述第二数量是否等于所述第一数量以及所述预设事务是否执行成功,确定所述Java卡对被更新的内容的测试参数,包括:
[0024] 在确定所述第二数量等于所述第一数量,且所述预设事务执行成功的情况下,对所述第二参数值进行加一处理,根据处理后的第三参数值重新创建所述预设事务并执行重新创建的预设事务;
[0025] 在确定所述第二数量不等于所述第一数量,且所述预设事务未执行成功的情况下,对所述第二数量进行减一处理,根据处理后的第二数量重新创建所述预设事务并执行重新创建的预设事务;
[0026] 在确定所述第二数量等于所述第一数量,且所述预设事务未执行成功的情况下,并确定当前的第二参数值等于预设的初值的时候,对所述第二数量进行减一处理,根据处理后的第二数量重新创建所述预设事务并执行重新创建的预设事务。如此,可进一步确定Java卡对更新内容的备份能力。
[0027] 在某些实施方式中,第一数量为所有预设对象的数量,第二数量为所述预设事务待定操作的预设对象的数量,所述第二数量的初值预设为所述第一数量,根据所述测试参数确定测试结果,包括:
[0028] 在所述第二数量等于所述第一数量,且第一代数式等于第四参数值的情况下,确定所述Java卡的事务保护机制不受数据分布情况的影响,所述第四参数值为所述目标空间的最大字节大小;
[0029] 在所述第二数量等于所述第一数量,且所述第一代数式小于所述第四参数值的情况下,确定所述Java卡的事务保护机制会受数据分布情况的影响,且影响程度对应所述第一代数式和所述第四参数值之间的差值;
[0030] 所述第一代数式为:
[0031] (k‑1)*β+(n‑(k‑1))*(β+1),
[0032] 其中,k表示当前未成功执行更新后的预设事务时预设对象的序号,β表示在所述预设事务中对所述预设对象进行更新的内容的当前字节大小,n表示所述预设事务待定操作的预设对象的数量,
[0033] 在所述更新后的预设事务中,对所有预设对象的前k个更新最后β个字节内容,以及对所有预设对象的后(N‑k)个更新最后(β‑1)个字节内容。如此,可给出根据测试参数来得到相应的测试结果的具体方案。
[0034] 在某些实施方式中,第一数量为所有预设对象的数量,第二数量为所述预设事务待定操作的预设对象的数量,所述第二数量的初值预设为所述第一数量,根据所述测试参数确定测试结果,包括:
[0035] 在所述第二数量不等于所述第一数量的情况下,确定所述Java卡的事务保护机制受数据分布情况的影响程度大于第一预设程度;
[0036] 在所述第二数量不等于所述第一数量,且第二代数式等于第四参数值的情况下,确定所述Java卡的事务保护机制会对相互间隔的更新内容之间的部分数据进行备份,所述第四参数值为所述目标空间的最大字节大小;
[0037] 在所述第二数量不等于所述第一数量,且所述第二代数式小于所述第四参数值的情况下,确定所述Java卡的事务保护机制受数据分布情况的影响程度大于第二预设程度,所述第一预设程度大于所述第二预设程度;
[0038] 所述第二代数式为:
[0039] n*α,
[0040] 其中,n表示所述预设事务待定操作的预设对象的数量,α表示所述物理存储页可占用的最大空间的字节大小。如此,可给出根据测试参数来得到相应的测试结果的具体方案。
[0041] 本发明实施方式的一种用于Java卡的测试系统,用于:
[0042] 在目标空间的物理存储页中创建一个能够完全占用对应的物理存储页的预设对象,所述目标空间为所述Java卡的存储空间的至少部分,所述目标空间包括多个所述物理存储页;
[0043] 创建预设事务以对部分所述预设对象的内容进行更新;
[0044] 根据所述预设事务在提交后的执行情况,确定所述Java卡对被更新的内容的测试参数;
[0045] 根据所述测试参数确定测试结果。
[0046] 上述测试系统,通过在Java卡内创建多个预设对象占用空间,并创建预设事务以部分更新每个预设对象的方式来创造测试环境,根据预设事务的执行情况得到的测试参数得到测试结果,从而以测试结果来确定Java卡的事务保护能力,进而可评估Java卡的技术竞争力。
[0047] 在某些实施方式中,所述测试系统用于:
[0048] 在所述物理存储页中创建字节大小为第一参数值的预设对象,所述第一参数值为所述物理存储页可占用的最大空间的字节大小。如此,可实现对物理存储页的完全占用。
[0049] 在某些实施方式中,所述测试系统用于:
[0050] 对所述预设事务待定操作的预设对象中字节大小为第二参数值的对应内容进行更新,所述第二参数值预设有初值,所述第二参数值的初值小于所述第一参数值。如此,可模拟出在目标空间内间隔更新的效果。
[0051] 在某些实施方式中,所述测试系统用于:
[0052] 确定第二数量是否等于第一数量,所述第一数量为所有预设对象的数量,所述第二数量为所述预设事务待定操作的预设对象的数量,所述第二数量的初值预设为所述第一数量;
[0053] 确定所述预设事务是否执行成功,所述预设事务在完成对所有待定操作的预设对象的更新的情况下被视为执行成功;
[0054] 根据所述第二数量是否等于所述第一数量以及所述预设事务是否执行成功,确定所述Java卡对被更新的内容的测试参数。如此,可初步确定Java卡对更新内容的备份情况。
[0055] 在某些实施方式中,所述测试系统用于:
[0056] 在确定所述第二数量等于所述第一数量,且所述预设事务未执行成功的情况下,并确定当前的第二参数值不等于预设的初值的时候,根据第三参数值更新所述预设事务并执行更新后的预设事务,所述第三参数值的初值预设为一;
[0057] 在确定所述更新后的预设事务成功执行的情况下,对当前的第三参数值进行加一处理,根据处理后的第三参数值再次更新所述预设事务并执行再次更新后的预设事务;
[0058] 在确定所述更新后的预设事务未成功执行的情况下,将当前的第二数量、当前的第二参数值和当前的第三参数值确定为所述测试参数;
[0059] 在确定所述第二数量不等于所述第一数量,且所述预设事务执行成功的情况下,将当前的第二数量和当前的第二参数值确定为所述测试参数。如此,可给出确定测试参数的具体方案。
[0060] 在某些实施方式中,所述测试系统用于:
[0061] 在确定所述第二数量等于所述第一数量,且所述预设事务执行成功的情况下,对所述第二参数值进行加一处理,根据处理后的第三参数值重新创建所述预设事务并执行重新创建的预设事务;
[0062] 在确定所述第二数量不等于所述第一数量,且所述预设事务未执行成功的情况下,对所述第二数量进行减一处理,根据处理后的第二数量重新创建所述预设事务并执行重新创建的预设事务;
[0063] 在确定所述第二数量等于所述第一数量,且所述预设事务未执行成功的情况下,并确定当前的第二参数值等于预设的初值的时候,对所述第二数量进行减一处理,根据处理后的第二数量重新创建所述预设事务并执行重新创建的预设事务。如此,可进一步确定Java卡对更新内容的备份能力。
[0064] 在某些实施方式中,第一数量为所有预设对象的数量,第二数量为所述预设事务待定操作的预设对象的数量,所述第二数量的初值预设为所述第一数量,所述测试系统用于:
[0065] 在所述第二数量等于所述第一数量,且第一代数式等于第四参数值的情况下,确定所述Java卡的事务保护机制不受数据分布情况的影响,所述第四参数值为所述目标空间的最大字节大小;
[0066] 在所述第二数量等于所述第一数量,且所述第一代数式小于所述第四参数值的情况下,确定所述Java卡的事务保护机制会受数据分布情况的影响,且影响程度对应所述第一代数式和所述第四参数值之间的差值;
[0067] 所述第一代数式为:
[0068] (k‑1)*β+(n‑(k‑1))*(β+1),
[0069] 其中,k表示当前未成功执行更新后的预设事务时预设对象的序号,β表示在所述预设事务中对所述预设对象进行更新的内容的当前字节大小,n表示所述预设事务待定操作的预设对象的数量,
[0070] 在所述更新后的预设事务中,对所有预设对象的前k个更新最后β个字节内容,以及对所有预设对象的后(N‑k)个更新最后(β‑1)个字节内容。如此,可给出根据测试参数来得到相应的测试结果的具体方案。
[0071] 在某些实施方式中,第一数量为所有预设对象的数量,第二数量为所述预设事务待定操作的预设对象的数量,所述第二数量的初值预设为所述第一数量,所述测试系统用于:
[0072] 在所述第二数量不等于所述第一数量的情况下,确定所述Java卡的事务保护机制受数据分布情况的影响程度大于第一预设程度;
[0073] 在所述第二数量不等于所述第一数量,且第二代数式等于第四参数值的情况下,确定所述Java卡的事务保护机制会对相互间隔的更新内容之间的部分数据进行备份,所述第四参数值为所述目标空间的最大字节大小;
[0074] 在所述第二数量不等于所述第一数量,且所述第二代数式小于所述第四参数值的情况下,确定所述Java卡的事务保护机制受数据分布情况的影响程度大于第二预设程度,所述第一预设程度大于所述第二预设程度;
[0075] 所述第二代数式为:
[0076] n*α,
[0077] 其中,n表示所述预设事务待定操作的预设对象的数量,α表示所述物理存储页可占用的最大空间的字节大小。如此,可给出根据测试参数来得到相应的测试结果的具体方案。
[0078] 本发明实施方式的一种用于Java卡的测试系统,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现上述任一个实施方式所述的测试方法的步骤。
[0079] 上述测试系统,通过在Java卡内创建多个预设对象占用空间,并创建预设事务以部分更新每个预设对象的方式来创造测试环境,根据预设事务的执行情况得到的测试参数得到测试结果,从而以测试结果来确定Java卡的事务保护能力,进而可评估Java卡的技术竞争力。
[0080] 本发明实施方式的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时,实现上述任一个实施方式所述的测试方法的步骤。
[0081] 上述计算机可读存储介质,通过在Java卡内创建多个预设对象占用空间,并创建预设事务以部分更新每个预设对象的方式来创造测试环境,根据预设事务的执行情况得到的测试参数得到测试结果,从而以测试结果来确定Java卡的事务保护能力,进而可评估Java卡的技术竞争力。
[0082] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0083] 本发明的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
[0084] 图1是本发明实施方式的测试方法的流程图;
[0085] 图2是本发明实施方式的测试系统的模块示意图;
[0086] 图3是本发明实施方式的测试方法的流程图。
[0087] 主要元件符号说明:
[0088] 测试系统100;
[0089] 存储器110、处理器120。

具体实施方式

[0090] 下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0091] 请参考图1,本发明实施方式的一种用于Java卡的测试方法,包括:
[0092] 01:在目标空间的物理存储页中创建一个能够完全占用对应的物理存储页的预设对象,目标空间为Java卡的存储空间的至少部分,目标空间包括多个物理存储页;
[0093] 02:创建预设事务以对部分预设对象的内容进行更新;
[0094] 03:根据预设事务在提交后的执行情况,确定Java卡对被更新的内容的测试参数;
[0095] 04:根据测试参数确定测试结果。
[0096] 本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:在目标空间的物理存储页中创建一个能够完全占用对应的物理存储页的预设对象,目标空间为Java卡的存储空间的至少部分,目标空间包括多个物理存储页;创建预设事务以对部分预设对象的内容进行更新;根据预设事务在提交后的执行情况,确定Java卡对被更新的内容的测试参数;根据测试参数确定测试结果。
[0097] 上述测试方法和测试系统100,通过在Java卡内创建多个预设对象占用空间,并创建预设事务以部分更新每个预设对象的方式来创造测试环境,根据预设事务的执行情况得到的测试参数得到测试结果,从而以测试结果来确定Java卡的事务保护能力,进而可评估Java卡的技术竞争力。
[0098] 在某些实施方式中,步骤01(在目标空间的每个物理存储页中创建一个能够完全占用对应的物理存储页的预设对象),包括:
[0099] 在物理存储页中创建字节大小为第一参数值的预设对象,第一参数值为物理存储页可占用的最大空间的字节大小。
[0100] 本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:在物理存储页中创建字节大小为第一参数值的预设对象,第一参数值为物理存储页可占用的最大空间的字节大小。
[0101] 如此,可实现对物理存储页的完全占用。
[0102] 在某些实施方式中,步骤02(创建预设事务以对部分预设对象的内容进行更新),包括:
[0103] 对预设事务待定操作的预设对象中字节大小为第二参数值的对应内容进行更新,第二参数值预设有初值,第二参数值的初值小于第一参数值。
[0104] 本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:对预设事务待定操作的预设对象中字节大小为第二参数值的对应内容进行更新,第二参数值预设有初值,第二参数值的初值小于第一参数值。
[0105] 如此,可模拟出在目标空间内间隔更新的效果。
[0106] 在某些实施方式中,步骤03(根据预设事务在提交后的执行情况,确定Java卡对被更新的内容的测试参数),包括:
[0107] 确定第二数量是否等于第一数量,第一数量为所有预设对象的数量,第二数量为预设事务待定操作的预设对象的数量,第二数量的初值预设为第一数量;
[0108] 确定预设事务是否执行成功,预设事务在完成对所有待定操作的预设对象的更新的情况下被视为执行成功;
[0109] 根据第二数量是否等于第一数量以及预设事务是否执行成功,确定Java卡对被更新的内容的测试参数。
[0110] 本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:确定第二数量是否等于第一数量,第一数量为所有预设对象的数量,第二数量为预设事务待定操作的预设对象的数量,第二数量的初值预设为第一数量;确定预设事务是否执行成功,预设事务在完成对所有待定操作的预设对象的更新的情况下被视为执行成功;根据第二数量是否等于第一数量以及预设事务是否执行成功,确定Java卡对被更新的内容的测试参数。
[0111] 如此,可初步确定Java卡对更新内容的备份情况。
[0112] 在某些实施方式中,根据第二数量是否等于第一数量以及预设事务是否执行成功,确定Java卡对被更新的内容的测试参数,包括:
[0113] 在确定第二数量等于第一数量,且预设事务未执行成功的情况下,并确定当前的第二参数值不等于预设的初值的时候,根据第三参数值更新预设事务并执行更新后的预设事务,第三参数值的初值预设为一;
[0114] 在确定更新后的预设事务成功执行的情况下,对当前的第三参数值进行加一处理,根据处理后的第三参数值再次更新预设事务并执行再次更新后的预设事务;
[0115] 在确定更新后的预设事务未成功执行的情况下,将当前的第二数量、当前的第二参数值和当前的第三参数值确定为测试参数;
[0116] 在确定第二数量不等于第一数量,且预设事务执行成功的情况下,将当前的第二数量和当前的第二参数值确定为测试参数。
[0117] 本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:在确定第二数量等于第一数量,且预设事务未执行成功的情况下,并确定当前的第二参数值不等于预设的初值的时候,根据第三参数值更新预设事务并执行更新后的预设事务,第三参数值的初值预设为一;在确定更新后的预设事务成功执行的情况下,对当前的第三参数值进行加一处理,根据处理后的第三参数值再次更新预设事务并执行再次更新后的预设事务;在确定更新后的预设事务未成功执行的情况下,将当前的第二数量、当前的第二参数值和当前的第三参数值确定为测试参数;在确定第二数量不等于第一数量,且预设事务执行成功的情况下,将当前的第二数量和当前的第二参数值确定为测试参数。
[0118] 如此,可给出确定测试参数的具体方案。
[0119] 在某些实施方式中,根据第二数量是否等于第一数量以及预设事务是否执行成功,确定Java卡对被更新的内容的测试参数,包括:
[0120] 在确定第二数量等于第一数量,且预设事务执行成功的情况下,对第二参数值进行加一处理,根据处理后的第三参数值重新创建预设事务并执行重新创建的预设事务;
[0121] 在确定第二数量不等于第一数量,且预设事务未执行成功的情况下,对第二数量进行减一处理,根据处理后的第二数量重新创建预设事务并执行重新创建的预设事务;
[0122] 在确定第二数量等于第一数量,且预设事务未执行成功的情况下,并确定当前的第二参数值等于预设的初值的时候,对第二数量进行减一处理,根据处理后的第二数量重新创建预设事务并执行重新创建的预设事务。
[0123] 本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:在确定第二数量等于第一数量,且预设事务执行成功的情况下,对第二参数值进行加一处理,根据处理后的第三参数值重新创建预设事务并执行重新创建的预设事务;在确定第二数量不等于第一数量,且预设事务未执行成功的情况下,对第二数量进行减一处理,根据处理后的第二数量重新创建预设事务并执行重新创建的预设事务;在确定第二数量等于第一数量,且预设事务未执行成功的情况下,并确定当前的第二参数值等于预设的初值的时候,对第二数量进行减一处理,根据处理后的第二数量重新创建预设事务并执行重新创建的预设事务。
[0124] 如此,可进一步确定Java卡对更新内容的备份能力。
[0125] 在某些实施方式中,第一数量为所有预设对象的数量,第二数量为预设事务待定操作的预设对象的数量,第二数量的初值预设为第一数量。步骤04(根据测试参数确定测试结果),包括:
[0126] 在第二数量等于第一数量,且第一代数式等于第四参数值的情况下,确定Java卡的事务保护机制不受数据分布情况的影响,第四参数值为目标空间的最大字节大小;
[0127] 在第二数量等于第一数量,且第一代数式小于第四参数值的情况下,确定Java卡的事务保护机制会受数据分布情况的影响,且影响程度对应第一代数式和第四参数值之间的差值;
[0128] 第一代数式为:
[0129] (k‑1)*β+(n‑(k‑1))*(β+1),
[0130] 其中,k表示当前未成功执行更新后的预设事务时预设对象的序号,β表示在预设事务中对预设对象进行更新的内容的当前字节大小,n表示预设事务待定操作的预设对象的数量,在更新后的预设事务中,对所有预设对象的前k个更新最后β个字节内容,以及对所有预设对象的后(N‑k)个更新最后(β‑1)个字节内容。
[0131] 本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:在第二数量等于第一数量,且第一代数式等于第四参数值的情况下,确定Java卡的事务保护机制不受数据分布情况的影响,第四参数值为目标空间的最大字节大小;在第二数量等于第一数量,且第一代数式小于第四参数值的情况下,确定Java卡的事务保护机制会受数据分布情况的影响,且影响程度对应第一代数式和第四参数值之间的差值。
[0132] 如此,可给出根据测试参数来得到相应的测试结果的具体方案。
[0133] 在某些实施方式中,第一数量为所有预设对象的数量,第二数量为预设事务待定操作的预设对象的数量,第二数量的初值预设为第一数量。步骤04(根据测试参数确定测试结果),包括:
[0134] 在第二数量不等于第一数量的情况下,确定Java卡的事务保护机制受数据分布情况的影响程度大于第一预设程度;
[0135] 在第二数量不等于第一数量,且第二代数式等于第四参数值的情况下,确定Java卡的事务保护机制会对相互间隔的更新内容之间的部分数据进行备份,第四参数值为目标空间的最大字节大小;
[0136] 在第二数量不等于第一数量,且第二代数式小于第四参数值的情况下,确定Java卡的事务保护机制受数据分布情况的影响程度大于第二预设程度,第一预设程度大于第二预设程度;
[0137] 第二代数式为:
[0138] n*α,
[0139] 其中,n表示预设事务待定操作的预设对象的数量,α表示物理存储页可占用的最大空间的字节大小。
[0140] 本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:在第二数量不等于第一数量的情况下,确定Java卡的事务保护机制受数据分布情况的影响程度大于第一预设程度;在第二数量不等于第一数量,且第二代数式等于第四参数值的情况下,确定Java卡的事务保护机制会对相互间隔的更新内容之间的部分数据进行备份,第四参数值为目标空间的最大字节大小;在第二数量不等于第一数量,且第二代数式小于第四参数值的情况下,确定Java卡的事务保护机制受数据分布情况的影响程度大于第二预设程度,第一预设程度大于第二预设程度。
[0141] 如此,可给出根据测试参数来得到相应的测试结果的具体方案。
[0142] 具体地,对于Java卡而言,在进行数据更新后,需要对更新的内容进行保护。对于一些Java卡而言,可能会将更新的内容所在的整个物理存储页进行备份,或者将位于不同区域的更新的内容之间的其他数据也进行备份,从而会导致需要的大量跨页写数据的情况,造成备份区空间不足的问题,从而会影响Java卡的事务保护能力。
[0143] 请参考图3,图3所示为根据事务保护的效果来评估Java卡的实施方式。具体地,在图3中,会先确定物理存储页可占用的最大空间的字节大小α,并设定β的初值为1字节。然后会在目标空间内的所有物理存储页中持续创建数组数据的字节大小为α的预设对象至完全占用目标空间,并会将预设对象的个数记录为N。在开始创建事务前,会对事务需要操作的预设对象的个数n设置为N,随后开始创建事务。在事务中,会对目标空间内的需要操作的预设对象进行更新,以变更需要操作的预设对象中数组数据的最后β个字节的内容,随后便提交事务以进行验证。
[0144] 在验证过程中,会先判断事务需要操作的预设对象的数值n当前是否为N,若是,则判断事务是否执行成功,在确定事务执行成功后通过“β=β+1”的方式来使得β增加1字节并重新执行事务,在确定事务未执行成功后则会判断β当前是否为1字节;若否,则判断事务是否执行成功,在确定事务执行成功后会直接停止验证并记录当前验证过程中的当前参数(当前的事务需要操作的预设对象的个数n,以及当前的β),在确定事务未执行成功后则通过“n=n‑1”的方式来使得事务需要操作的预设对象的个数减少1个并重新执行事务。
[0145] 在上述基础上,在判断β当前是否为1字节的验证过程中,若是,则通过“n=n‑1”的方式来使得事务需要操作的预设对象的个数减少1个并重新执行事务,若否,则会设置初值为1的参数k,并会在事务中,将事务的操作内容更新为:在需要操作的所有预设对象中,对前k个预设对象更新数组数据中的最后β个字节的内容,以及对后(N‑k)个预设对象更新数组数据中的最后(β‑1)个字节的内容。
[0146] 在完成对事务的操作内容的更新后,会判断事务是否执行成功,若是,则通过“k=k+1”的方式来使得参数k增加1并重新执行事务,若否,则会直接停止验证并记录当前验证过程中的当前参数(当前的事务需要操作的预设对象的个数n,当前的β,以及当前的k)。其中,在操作内容被更新后的事务执行失败的情况下,则表示所有的预设对象中的第k个影响事务的执行并导致事务执行失败,从而可将当前的k确定为当前失败的预设对象在所有预设对象中的序号。
[0147] 在已记录对应的参数后,则可确定测试结果。其中,在根据返回的参数记录,确定事务需要操作的预设对象的数值n等于预设对象的个数N的情况下,则会进一步确认以下公式的结果:
[0148] G=(k‑1)*β+(n‑(k‑1))*(β+1),
[0149] 在确定G等于γ的情况下,则表示Java卡的事务保护机制完全不受保护数据分布情况的影响。在确定G小于γ的情况下,则说明Java卡的事务保护机制在一定程度上受数据分布情况的影响,且影响的程度取决于G与γ之间的差值,差值越小,则表示受数据分布情况影响的程度越小。其中,γ为目标空间能够支持占用的最大数据大小。
[0150] 在根据返回的参数记录,确定事务需要操作的预设对象的数值n小于预设对象的个数N的情况下,则表示Java卡在事务保护处理方面的能力较低,数据分布情况会对Java卡的事务保护机制产生较大影响,并可以进一步确认以下公式的结果:
[0151] F=n*α,
[0152] 在确认F等于γ的情况下,则表示Java卡的事务保护机制虽然并未对数据离散分布进行处理,但是会一并保护离散数据之间的空间区域,从而导致Java卡的事务保护能力受到制约。在确认F小于γ的情况下,则表示Java卡的事务保护机制会受离散数据分布的严重影响,且在事务保护处理方面的能力较差。
[0153] 请参考图2,本发明实施方式的一种用于Java卡的测试系统100,包括存储器110和处理器120。存储器110存储有计算机程序,处理器120执行计算机程序时,实现上述任一个实施方式的测试方法的步骤。
[0154] 例如,在计算机程序被执行的情况下,可以实现以下步骤:
[0155] 01:在目标空间的物理存储页中创建一个能够完全占用对应的物理存储页的预设对象,目标空间为Java卡的存储空间的至少部分,目标空间包括多个物理存储页;
[0156] 02:创建预设事务以对部分预设对象的内容进行更新;
[0157] 03:根据预设事务在提交后的执行情况,确定Java卡对被更新的内容的测试参数;
[0158] 04:根据测试参数确定测试结果。
[0159] 上述测试系统100,通过在Java卡内创建多个预设对象占用空间,并创建预设事务以部分更新每个预设对象的方式来创造测试环境,根据预设事务的执行情况得到的测试参数得到测试结果,从而以测试结果来确定Java卡的事务保护能力,进而可评估Java卡的技术竞争力。
[0160] 本发明实施方式的一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器120执行时,实现上述任一个实施方式的测试方法的步骤。
[0161] 例如,在计算机程序被执行的情况下,可以实现以下步骤:
[0162] 01:在目标空间的物理存储页中创建一个能够完全占用对应的物理存储页的预设对象,目标空间为Java卡的存储空间的至少部分,目标空间包括多个物理存储页;
[0163] 02:创建预设事务以对部分预设对象的内容进行更新;
[0164] 03:根据预设事务在提交后的执行情况,确定Java卡对被更新的内容的测试参数;
[0165] 04:根据测试参数确定测试结果。
[0166] 上述计算机可读存储介质,通过在Java卡内创建多个预设对象占用空间,并创建预设事务以部分更新每个预设对象的方式来创造测试环境,根据预设事务的执行情况得到的测试参数得到测试结果,从而以测试结果来确定Java卡的事务保护能力,进而可评估Java卡的技术竞争力。
[0167] 计算机可读存储介质可设置在测试系统100,也可设置在其他终端,测试系统100能够与其他终端进行通信来获取到相应的程序。
[0168] 可以理解,计算机可读存储介质可以包括:能够携带计算机程序的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、以及软件分发介质等。计算机程序包括计算机程序代码。计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、以及软件分发介质。
[0169] 在本发明的某些实施方式中,测试系统100可以是一个单片机芯片,集成了处理器、存储器,通讯模块等。处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑ Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0170] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0171] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
[0172] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0173] 尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。