一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-09-14 20:07:27 来源:中国专利 TAG:


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


背景技术:

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


技术实现要素:

3.本发明提供了一种测试方法、测试系统和计算机可读存储介质。
4.本发明实施方式的一种用于java卡的测试方法,包括:创建预设对象以占用目标空间,所述目标空间为所述java卡的存储空间的至少部分;获取第一空间参数,所述第一空间参数为执行所述测试流程前所述目标空间中的可用空间量;在完成对所述目标空间的占用后,执行测试流程以回收所述预设对象;获取第二空间参数,所述第二空间参数为完成所述测试流程后所述目标空间中的可用空间量;根据所述第一空间参数和所述第二空间参数确定测试结果。
5.上述测试方法,通过在java卡内进行空间占用的方式来创造测试环境,并根据执行测试流程前后对应目标空间的空间参数的变化来得到测试结果,从而以测试结果来确定java卡的垃圾回收能力,进而可评估java卡的技术竞争力。
6.在某些实施方式中,获取第一空间参数,包括:在执行预设操作前,将所述目标空间中未被所述预设对象占用的空间量确定为所述第一空间参数以进行获取;在完成对所述目标空间的占用后,执行测试流程以回收所述预设对象,包括:在获取到所述第一空间参数的情况下,执行所述预设操作;获取第二空间参数,包括:在完成所述预设操作后,将所述目标空间中未被所述预设对象占用的空间量确定为所述第二空间参数以进行获取。如此,可方便测试出java卡的垃圾回收效果。
7.在某些实施方式中,所述预设操作包括以下至少一个:再次选定创建所述预设对象的应用实例;对所述java卡进行去活处理;对所述java卡进行下上电处理。如此,可使得java卡对目标空间进行自动刷新。
8.在某些实施方式中,所述预设操作包括三个,三个所述预设操作分别为第一预设
操作、第二预设操作和第三预设操作,在获取到所述第一空间参数的情况下,执行所述预设操作,包括:在确定所述第一预设操作未执行的情况下,执行所述第一预设操作;在确定已执行所述第一预设操作、所述第二预设操作未执行的情况下,执行所述第二预设操作;在确定已执行所述第二预设操作、所述第三预设操作未执行的情况下,执行所述第三预设操作。如此,可使得测试结果更为全面。
9.在某些实施方式中,所述测试方法包括:在已执行所述第一预设操作、所述第二预设操作和所述第三预设操作的任意一个的情况下,确定已执行所述预设操作;在已获取所述第二空间参数后,确定当前不满足第一测试条件的情况下,对所述目标空间进行初始化,并重新创建对象占用所述目标空间以执行所述测试流程。如此,可使得测试结果更为全面。
10.在某些实施方式中,所述第一测试条件包括以下至少一种:所述第二空间参数大于所述第一空间参数;所述目标空间处于可读写状态;已执行所有所述预设操作。如此,可保证对java卡进行深入测试的效果。
11.在某些实施方式中,根据所述第一空间参数和所述第二空间参数确定测试结果,包括:在所述第二空间参数大于所述第一空间参数的情况下,确定所述java卡具有垃圾回收功能;在所述第二空间参数大于所述第一空间参数,且所述第二空间参数等于可用空间参数的情况下,确定所述java卡具有垃圾回收功能,且具有最大垃圾回收率,所述可用空间参数为所述目标空间的总空间量;在所述第二空间参数等于所述第一空间参数的情况下,确定所述java卡不具有垃圾回收功能。如此,可根据测试结果来细化对java卡的垃圾回收能力的评估结果。
12.在某些实施方式中,创建预设对象以占用目标空间,包括:持续创建多个所述预设对象至完全占用所述目标空间,每个所述预设对象占用的空间量小于预设量;获取第一空间参数,包括:在执行回收操作前,将所述目标空间中未被所述预设对象占用的空间量确定为所述第一空间参数以进行获取;在完成对所述目标空间的占用后,执行测试流程以回收所述预设对象,包括:在所述目标空间被完全占用后,对所有所述预设对象执行所述回收操作;获取第二空间参数,包括:在完成所述回收操作后,将所述目标空间中未被所述预设对象占用的空间量确定为所述第二空间参数以进行获取。如此,可方便测试出java卡的垃圾回收效果。
13.在某些实施方式中,根据所述第一空间参数和所述第二空间参数确定测试结果,包括:在所述第二空间参数和所述第一空间参数的差值为正且等于所有所述预设对象
占用的空间量的情况下,确定所述java卡具有垃圾回收功能;在所述第二空间参数和所述第一空间参数的差值小于所有所述预设对象占用的空间量的情况下,确定所述java卡不具有垃圾回收功能。如此,可对java卡在极限情况下的垃圾回收能力进行评估。
14.在某些实施方式中,多个物理存储页形成所述目标空间,所述测试方法包括:在完成所述回收操作后,重新持续创建多个所述预设对象至再次完全占用所述目标空间;在初次创建的多个所述预设对象占用的空间量等于再次创建的多个所述预设对象占用的空间量的情况下,在所述目标空间中持续间隔地创建多个所述预设对象至第三次完全占用所述目标空间,相邻两个预设对象间隔的空间量小于所述物理存储页的最大空间量;在再次完成所述回收操作后,持续间隔地创建多个所述预设对象至第四次完全占用所述目标空间,相邻两个预设对象间隔的空间量小于所述物理存储页的最大空间量;在所述目标空间被第三次完全占用的情况下,将所述目标空间中未被所述预设对象占用的空间量确定为新的第一空间参数;在再次完成所述回收操作后,将所述目标空间中未被所述预设对象占用的空间量确定为新的第二空间参数;根据第一空间参数和第二空间参数确定测试结果,包括:根据所述新的第一空间参数和所述新的第二空间参数确定所述测试结果。如此,可提高对java卡的测试强度。
15.在某些实施方式中,根据所述第一空间参数和所述第二空间参数确定测试结果,包括:在所述新的第二空间参数和所述新的第一空间参数的差值为正且等于所有所述预设对象占用的空间量的情况下,确定所述java卡具有垃圾回收功能;在所述新的第二空间参数和所述新的第一空间参数的差值小于所有所述预设对象占用的空间量的情况下,确定所述java卡具有垃圾回收功能,且垃圾回收率小于预设值。如此,可对java卡在极限情况下的垃圾回收能力进行评估。
16.本发明实施方式的一种用于java卡的测试系统,用于:创建预设对象以占用目标空间,所述目标空间为所述java卡的存储空间的至少部分;获取第一空间参数,所述第一空间参数为执行所述测试流程前所述目标空间中的可用空间量;在完成对所述目标空间的占用后,执行测试流程以回收所述预设对象;获取第二空间参数,所述第二空间参数为完成所述测试流程后所述目标空间中的可用空间量;根据所述第一空间参数和所述第二空间参数确定测试结果。
17.上述测试系统,通过在java卡内进行空间占用的方式来创造测试环境,并根据执行测试流程前后对应目标空间的空间参数的变化来得到测试结果,从而以测试结果来确定java卡的垃圾回收能力,进而可评估java卡的技术竞争力。
18.在某些实施方式中,所述测试系统用于:在执行预设操作前,将所述目标空间中未被所述预设对象占用的空间量确定为所述第一空间参数以进行获取;在获取到所述第一空间参数的情况下,执行所述预设操作;在完成所述预设操作后,将所述目标空间中未被所述预设对象占用的空间量确定为所述第二空间参数以进行获取。如此,可方便测试出java卡的垃圾回收效果。
19.在某些实施方式中,所述预设操作包括以下至少一个:再次选定创建所述预设对象的应用实例;对所述java卡进行去活处理;对所述java卡进行下上电处理。如此,可使得java卡对目标空间进行自动刷新。
20.在某些实施方式中,所述预设操作包括三个,三个所述预设操作分别为第一预设操作、第二预设操作和第三预设操作,所述测试系统用于:在确定所述第一预设操作未执行的情况下,执行所述第一预设操作;在确定已执行所述第一预设操作、所述第二预设操作未执行的情况下,执行所述第二预设操作;在确定已执行所述第二预设操作、所述第三预设操作未执行的情况下,执行所述第三预设操作。如此,可使得测试结果更为全面。
21.在某些实施方式中,所述测试系统用于:在已执行所述第一预设操作、所述第二预设操作和所述第三预设操作的任意一个的情况下,确定已执行所述预设操作;在已获取所述第二空间参数后,确定当前不满足第一测试条件的情况下,对所述目标空间进行初始化,并重新创建对象占用所述目标空间以执行所述测试流程。如此,可使得测试结果更为全面。
22.在某些实施方式中,所述第一测试条件包括以下至少一种:所述第二空间参数大于所述第一空间参数;所述目标空间处于可读写状态;已执行所有所述预设操作。如此,可保证对java卡进行深入测试的效果。
23.在某些实施方式中,所述测试系统用于:在所述第二空间参数大于所述第一空间参数的情况下,确定所述java卡具有垃圾回收功能;在所述第二空间参数大于所述第一空间参数,且所述第二空间参数等于可用空间参数的情况下,确定所述java卡具有垃圾回收功能,且具有最大垃圾回收率,所述可用空间参数为所述目标空间的总空间量;在所述第二空间参数等于所述第一空间参数的情况下,确定所述java卡不具有垃圾回收功能。如此,可根据测试结果来细化对java卡的垃圾回收能力的评估结果。
24.在某些实施方式中,所述测试系统用于:持续创建多个所述预设对象至完全占用所述目标空间,每个所述预设对象占用的空间量小于预设量;在执行回收操作前,将所述目标空间中未被所述预设对象占用的空间量确定为所述第一空间参数以进行获取;
在所述目标空间被完全占用后,对所有所述预设对象执行所述回收操作;在完成所述回收操作后,将所述目标空间中未被所述预设对象占用的空间量确定为所述第二空间参数以进行获取。如此,可方便测试出java卡的垃圾回收效果。
25.在某些实施方式中,所述测试系统用于:在所述第二空间参数和所述第一空间参数的差值为正且等于所有所述预设对象占用的空间量的情况下,确定所述java卡具有垃圾回收功能;在所述第二空间参数和所述第一空间参数的差值小于所有所述预设对象占用的空间量的情况下,确定所述java卡不具有垃圾回收功能。如此,可对java卡在极限情况下的垃圾回收能力进行评估。
26.在某些实施方式中,多个物理存储页形成所述目标空间,所述测试系统用于:在完成所述回收操作后,重新持续创建多个所述预设对象至再次完全占用所述目标空间;在初次创建的多个所述预设对象占用的空间量等于再次创建的多个所述预设对象占用的空间量的情况下,在所述目标空间中持续间隔地创建多个所述预设对象至第三次完全占用所述目标空间,相邻两个预设对象间隔的空间量小于所述物理存储页的最大空间量;在再次完成所述回收操作后,持续间隔地创建多个所述预设对象至第四次完全占用所述目标空间,相邻两个预设对象间隔的空间量小于所述物理存储页的最大空间量;在所述目标空间被第三次完全占用的情况下,将所述目标空间中未被所述预设对象占用的空间量确定为新的第一空间参数;在再次完成所述回收操作后,将所述目标空间中未被所述预设对象占用的空间量确定为新的第二空间参数;根据所述新的第一空间参数和所述新的第二空间参数确定所述测试结果。如此,可提高对java卡的测试强度。
27.在某些实施方式中,所述测试系统用于:在所述新的第二空间参数和所述新的第一空间参数的差值为正且等于所有所述预设对象占用的空间量的情况下,确定所述java卡具有垃圾回收功能;在所述新的第二空间参数和所述新的第一空间参数的差值小于所有所述预设对象占用的空间量的情况下,确定所述java卡具有垃圾回收功能,且垃圾回收率小于预设值。如此,可对java卡在极限情况下的垃圾回收能力进行评估。
28.本发明实施方式的一种用于java卡的测试系统,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现上述任一个实施方式所述的测试方法的步骤。
29.上述测试系统,通过在java卡内进行空间占用的方式来创造测试环境,并根据执行测试流程前后对应目标空间的空间参数的变化来得到测试结果,从而以测试结果来确定java卡的垃圾回收能力,进而可评估java卡的技术竞争力。
30.本发明实施方式的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时,实现上述任一个实施方式所述的测试方法的步骤。
31.上述计算机可读存储介质,通过在java卡内进行空间占用的方式来创造测试环
境,并根据执行测试流程前后对应目标空间的空间参数的变化来得到测试结果,从而以测试结果来确定java卡的垃圾回收能力,进而可评估java卡的技术竞争力。
32.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
33.本发明的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:图1是本发明实施方式的测试方法的流程图;图2是本发明实施方式的测试系统的模块示意图;图3至图7是本发明实施方式的测试方法的流程图;图8是本发明实施方式的物理存储页的示意图;图9是本发明实施方式的测试方法的流程图。
34.主要元件符号说明:测试系统100;存储器110、处理器120。
具体实施方式
35.下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
36.请参考图1,本发明实施方式的一种用于java卡的测试方法,包括:01:创建预设对象以占用目标空间,目标空间为java卡的存储空间的至少部分;02:获取第一空间参数,第一空间参数为执行测试流程前目标空间中的可用空间量;03:在完成对目标空间的占用后,执行测试流程以回收预设对象;04:获取第二空间参数,第二空间参数为完成测试流程后目标空间中的可用空间量;06:根据第一空间参数和第二空间参数确定测试结果。
37.本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:创建预设对象以占用目标空间,目标空间为java卡的存储空间的至少部分;获取第一空间参数,第一空间参数为执行测试流程前目标空间中的可用空间量;在完成对目标空间的占用后,执行测试流程以回收预设对象;获取第二空间参数,第二空间参数为完成测试流程后目标空间中的可用空间量;根据第一空间参数和第二空间参数确定测试结果。
38.上述测试方法和测试系统100,通过在java卡内进行空间占用的方式来创造测试环境,并根据执行测试流程前后对应目标空间的空间参数的变化来得到测试结果,从而以测试结果来确定java卡的垃圾回收能力,进而可评估java卡的技术竞争力。
39.对预设对象的创建,可以通过在目标空间内,通过将已存在的数据资源引用至目
标空间内来实现。对数据资源的引用,可以通过相应的引用函数来实现。在一个实施方式中,对预设对象的引用可以通过以下函数来实现:byte[] a = new byte[x]其中,a为创建在目标空间内的预设对象,x为对被引用的数据资源的数组的字节长度。
[0040]
另外,在一些实施方式中,在执行测试流程前,需要将在目标空间内创建的预设对象进行置空处理。具体地,在完成对数据资源的引用后,可以将a赋值为null,使得预设对象成为置空引用,形成垃圾数据。
[0041]
目标空间可以为在java卡的存储空间内预先确定的区域。目标空间可以为存储空间内的特定的部分区域,也可以为整个存储空间。
[0042]
测试流程是在完成预设对象在目标空间内的占用后,根据不同情况对应执行一个或多个测试操作。通过执行测试操作,可将对占用目标空间内的预设对象进行回收。需要指出的是,在本发明实施方式的测试方法主要在于测试java卡的垃圾回收能力的情况下,在执行测试流程的过程中,不会在检测到目标空间内还有未回收的预设对象时,再次或保持执行测试操作以完全回收预设对象。
[0043]
在确定第一空间参数和第二空间参数后,则可以通过第一空间参数和第二空间参数的相应变化,确定java卡的垃圾回收效果,进而能够测试出对应的垃圾回收能力,从而达到较好评估java卡是否具有技术竞争力的测试效果。
[0044]
请参考图3,在某些实施方式中,步骤02(获取第一空间参数),包括:021:在执行预设操作前,将目标空间中未被预设对象占用的空间量确定为第一空间参数以进行获取;步骤03(在完成对目标空间的占用后,执行测试流程以回收预设对象),包括:031:在获取到第一空间参数的情况下,执行预设操作;步骤04(获取第二空间参数),包括:041:在完成预设操作后,将目标空间中未被预设对象占用的空间量确定为第二空间参数以进行获取。
[0045]
本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:在执行预设操作前,将目标空间中未被预设对象占用的空间量确定为第一空间参数以进行获取;在获取到第一空间参数的情况下,对预设对象执行预设操作;在完成预设操作后,将目标空间中未被预设对象占用的空间量确定为第二空间参数以进行获取。
[0046]
如此,可方便测试出java卡的垃圾回收效果。
[0047]
其中,预设操作可以对预设对象执行,也可以对java卡执行。预设操作的执行本身不会回收预设对象,而是能够对目标空间进行刷新,对于具有自动回收能力的java卡而言,在对目标空间进行刷新后,在预设对象为置空引用的情况下,会对置空引用的预设对象进行回收,进而使得目标空间的空间量在执行预设操作的前后发生变化,进而根据目标空间的空间量的变化来测试出java卡的垃圾回收效果。
[0048]
在某些实施方式中,预设操作包括以下至少一个:再次选定创建预设对象的应用实例;对java卡进行去活处理;对java卡进行下上
电处理。
[0049]
如此,可使得java卡对目标空间进行自动刷新。
[0050]
其中,对于java卡而言,预设对象会位于相应的应用实例中,通过再次选定创建预设对象的应用实例,可使得java卡对目标空间内的预设对象进行刷新。通过对java卡进行去活处理,可实现java卡的热复位操作,使得java卡可通过软件方式来清除目标空间中的应用变量,以对预设对象进行刷新。通过对java卡进行下上电处理,可实现java卡的冷复位操作,使得java卡可通过硬件方式来清除目标空间中的应用变量,以对预设对象进行刷新。
[0051]
在某些实施方式中,预设操作包括三个。三个预设操作分别为第一预设操作、第二预设操作和第三预设操作。步骤031(在获取到第一空间参数的情况下,执行预设操作),包括:在确定第一预设操作未执行的情况下,执行第一预设操作;在确定已执行第一预设操作、第二预设操作未执行的情况下,执行第二预设操作;在确定已执行第二预设操作、第三预设操作未执行的情况下,执行第三预设操作。
[0052]
本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:在确定第一预设操作未执行的情况下,执行第一预设操作;在确定已执行第一预设操作、第二预设操作未执行的情况下,执行第二预设操作;在确定已执行第二预设操作、第三预设操作未执行的情况下,执行第三预设操作。
[0053]
如此,可使得测试结果更为全面。
[0054]
在某些实施方式中,测试方法包括:在已执行第一预设操作、第二预设操作和第三预设操作的任意一个的情况下,确定已执行预设操作;在已获取第二空间参数后,确定当前不满足第一测试条件的情况下,对目标空间进行初始化,并重新创建对象占用目标空间以执行测试流程。
[0055]
本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:在已执行第一预设操作、第二预设操作和第三预设操作的任意一个的情况下,确定已执行预设操作;在已获取第二空间参数后,确定当前不满足第一测试条件的情况下,对目标空间进行初始化,并重新创建对象占用目标空间以执行测试流程。
[0056]
如此,可使得测试结果更为全面。
[0057]
具体地,请结合图4,在图4所示的实施方式中,第一预设操作可以为再次选定创建预设对象的应用实例,第二预设操作可以为对java卡进行去活处理,第三预设操作可以为对java卡进行下上电处理。第一空间参数可表示为space1,第二空间参数可表示为space2。
[0058]
在获取到第一空间参数后,会先判断是否执行第一预设操作以确定是否已重选预设对象的应用实例,在确认已重选预设对象的应用实例后,则可确认当前已执行预设操作并获取第二空间参数。在获取到第二空间参数后,则会判断当前是否满足第一测试条件,在确定不满足第一测试条件后,则可以确定java卡在当前已执行的预设操作所形成的测试环境中的垃圾回收能力较差,需要在其他预设操作所形成的测试环境中对java卡进行测试,从而会对目标空间进行初始化处理,并重新进行预设对象在目标空间中的占用,以及再次获取第一空间参数,进行第二次测试流程。
[0059]
在进行第二次测试流程时,由于第一预设操作已在第一次测试流程中执行,从而会判断是否已执行第二预设操作以确定是否对java卡进行去活处理,并在后续重复第一次测试流程中的其他流程,进而会进行第三次测试流程。在进行第三次测试流程时,则会判断是否已执行第三预设操作以确定是否对java卡进行下上电处理,并在后续重复前两次测试流程中的其他流程,直至满足第一测试条件。
[0060]
在上述基础上,由于需要进行三次测试流程以分别执行第一预设操作、第二预设操作和第三预设操作,从而可方便在第一预设操作、第二预设操作和第三预设操作所分别对应的测试环境中,得到java卡的测试结果,从而能够综合地评估java卡的垃圾回收能力,使得测试结果尽可能地客观和全面。
[0061]
请结合图4,在某些实施方式中,第一测试条件包括以下至少一种:第二空间参数大于第一空间参数;目标空间处于可读写状态;已执行所有预设操作。
[0062]
如此,可保证对java卡进行深入测试的效果。
[0063]
具体地,在图4中,在完成对第二空间参数的获取后,会判断第二空间参数是否大于第一空间参数,第二空间参数大于第一空间参数可表示java卡会对目标空间内的垃圾数据进行回收。在图4中,可以再对第二空间参数所对应的空间进行访问,并判断被访问的空间是否可用,被访问的空间可用,则可表示访问的空间可用处于可读写状态,java卡在回收垃圾数据后,不会对目标空间进行限定,或对目标空间造成破坏。在图4中,可以再判断是否已执行所有预设操作,从而可确保已通过不同的测试环境来对java卡的垃圾回收能力进行测试。在上述基础上,可使得对java卡的测试具有足够深入的效果。
[0064]
在某些实施方式中,步骤06(根据第一空间参数和第二空间参数确定测试结果),包括:在第二空间参数大于第一空间参数的情况下,确定java卡具有垃圾回收功能;在第二空间参数大于第一空间参数,且第二空间参数等于可用空间参数的情况下,确定java卡具有垃圾回收功能,且具有最大垃圾回收率,可用空间参数为目标空间的总空间量;在第二空间参数等于第一空间参数的情况下,确定java卡不具有垃圾回收功能。
[0065]
本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:在第二空间参数大于第一空间参数的情况下,确定java卡具有垃圾回收功能;在第二空间参数大于第一空间参数,且第二空间参数等于可用空间参数的情况下,确定java卡具有垃圾回收功能,且具有最大垃圾回收率,可用空间参数为目标空间的总空间量;在第二空间参数等于第一空间参数的情况下,确定java卡不具有垃圾回收功能。
[0066]
如此,可根据测试结果来细化对java卡的垃圾回收能力的评估结果。
[0067]
具体地,在第二空间参数大于第一空间参数的情况下,则表示java卡能够在执行预设操作后,清除目标空间内的置空引用的数据,进而可确定java卡具有垃圾回收功能。
[0068]
在第二空间参数大于第一空间参数,且第二空间参数等于可用空间参数的情况下,则表示java卡能够在执行预设操作后,能够完全清除目标空间内的置空引用的数据,进而可确定java卡具有垃圾回收功能,且垃圾回收率功能达到最大(即100%)。在第二空间参
数等于第一空间参数的情况下,则表示java卡在执行预设操作后,不能对目标空间内的置空引用的数据进行清除,从而可确定java卡不具有垃圾回收功能。
[0069]
另外,请结合图4,在一个实施方式中,可以在对目标空间进行初始化处理后,获取目标空间的总空间量并确定为可用空间参数。
[0070]
请参考图5,在某些实施方式中,步骤01(创建预设对象以占用目标空间,目标空间为java卡的存储空间的至少部分),包括:011:持续创建多个预设对象至完全占用目标空间,每个预设对象占用的空间量小于预设量;步骤02(获取第一空间参数),包括:022:在执行回收操作前,将目标空间中未被预设对象占用的空间量确定为第一空间参数以进行获取;步骤03(在完成对目标空间的占用后,执行测试流程以回收预设对象),包括:032:在目标空间被完全占用后,对所有预设对象执行回收操作;步骤04(获取第二空间参数),包括:042:在完成回收操作后,将目标空间中未被预设对象占用的空间量确定为第二空间参数以进行获取。
[0071]
本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:持续创建多个预设对象至完全占用目标空间,每个预设对象占用的空间量小于预设量;在执行回收操作前,将目标空间中未被预设对象占用的空间量确定为第一空间参数以进行获取;在目标空间被完全占用后,对所有预设对象执行回收操作;在完成回收操作后,将目标空间中未被预设对象占用的空间量确定为第二空间参数以进行获取。
[0072]
如此,可方便测试出java卡的垃圾回收效果。
[0073]
其中,每个预设对象占用的空间量小于预设量,可使得预设对象占用较小的空间,从而能够在目标空间内创建足够多数量的预设对象,以形成目标空间被尽可能占用的极限测试环境,进而能够测试java卡面对数量庞大而琐碎的大量小垃圾空间的回收能力。
[0074]
另外,回收操作为对预设对象执行。回收操作的执行对预设对象进行回收,进而使得目标空间的空间量在执行回收操作的前后发生变化,进而根据目标空间的空间量的变化来测试出java卡的垃圾回收效果。
[0075]
在某些实施方式中,步骤06(根据第一空间参数和第二空间参数确定测试结果),包括:在第二空间参数和第一空间参数的差值为正且等于所有预设对象占用的空间量的情况下,确定java卡具有垃圾回收功能;在第二空间参数和第一空间参数的差值小于所有预设对象占用的空间量的情况下,确定java卡不具有垃圾回收功能。
[0076]
本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:在第二空间参数和第一空间参数的差值为正且等于所有预设对象占用的空间量的情况下,确定java卡具有垃圾回收功能;在第二空间参数和第一空间参数的差值小于所有预设对象占用的空间量的情况下,确定java卡不具有垃圾回收
功能。
[0077]
如此,可对java卡在极限情况下的垃圾回收能力进行评估。
[0078]
具体地,java卡的垃圾回收能力可以通过以下公式来进行评估:p
re
=(s2-s1)/s0其中,p
re
为java卡的回收率,s1为第一空间参数,s2为第二空间参数,s0为在目标空间中所有预设对象占用的空间量。
[0079]
在p
re
为100%时,则表示第二空间参数和第一空间参数的差值为正且等于所有预设对象占用的空间量,可确定java卡能够对所有的预设对象进行全部回收,java卡具有垃圾回收功能。在p
re
不为100%时,则表示第二空间参数和第一空间参数的差值小于所有预设对象占用的空间量,可确定java卡不能对所有的预设对象进行全部回收,java卡不具有垃圾回收功能。
[0080]
请参考图6,在某些实施方式中,多个物理存储页形成目标空间。测试方法包括:051:在完成回收操作后,重新持续创建多个预设对象至再次完全占用目标空间;052:在初次创建的多个预设对象占用的空间量等于再次创建的多个预设对象占用的空间量的情况下,在目标空间中持续间隔地创建多个预设对象至第三次完全占用目标空间,相邻两个预设对象间隔的空间量小于物理存储页的最大空间量;053:在再次完成回收操作后,持续间隔地创建多个预设对象至第四次完全占用目标空间,相邻两个预设对象间隔的空间量小于物理存储页的最大空间量;054:在目标空间被第三次完全占用的情况下,将目标空间中未被预设对象占用的空间量确定为新的第一空间参数;055:在再次完成回收操作后,将目标空间中未被预设对象占用的空间量确定为新的第二空间参数;步骤06(根据第一空间参数和第二空间参数确定测试结果),包括:061:根据新的第一空间参数和新的第二空间参数确定测试结果。
[0081]
本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:在完成回收操作后,重新持续创建多个预设对象至再次完全占用目标空间;在初次创建的多个预设对象占用的空间量等于再次创建的多个预设对象占用的空间量的情况下,在目标空间中持续间隔地创建多个预设对象至第三次完全占用目标空间,相邻两个预设对象间隔的空间量小于物理存储页的最大空间量;在再次完成回收操作后,持续间隔地创建多个预设对象至第四次完全占用目标空间,相邻两个预设对象间隔的空间量小于物理存储页的最大空间量;在目标空间被第三次完全占用的情况下,将目标空间中未被预设对象占用的空间量确定为新的第一空间参数;在再次完成回收操作后,将目标空间中未被预设对象占用的空间量确定为新的第二空间参数;根据新的第一空间参数和新的第二空间参数确定测试结果。
[0082]
如此,可提高对java卡的测试强度。
[0083]
具体地,请结合图7,在图7所示的实施方式中,第一次创建预设对象、对第一次创建的预设对象进行回收操作以及第二次创建预设对象的操作流程可以用第一方式进行表示。在完成第一方式后,会对再次创建的多个预设对象占用的空间量(对应第一对象总量)和初次创建的多个预设对象占用的空间量(对应第一垃圾总量)进行比较。
[0084]
在第一对象总量不等于第一垃圾总量的情况下,则表示java卡当前无法完全回收所有的预设对象,其内部的垃圾回收机制存在问题,进而不具备垃圾回收能力,从而会停止测试;在第一对象总量等于第一垃圾总量的情况下,则表示java卡当前具有完全回收所有的预设对象,从而进入进一步的测试。
[0085]
具体地,在确认第一方式已被执行的情况下,会先预设间隔的空间量,然后在第三次创建多个预设对象时,使得相邻两个预设对象以间隔的空间量形成间隔并占用目标空间。其中,请结合图8,目标空间的形成形式为多个相邻的物理存储页,预设对象以相应的数组数据存储在物理存储页中,从而使得预设对象对目标空间进行占用。在图8中,预设对象表示为i,间隔的空间表示为d,物理存储页表示为p。其中一个预设对象可以先占用第一个物理存储页的开头位置,第一个物理存储页后续的其他位置则会形成间隔的空间量,另外一个预设对象则可以先占用第二个物理存储页的开头位置,第二个物理存储页后续的其他位置则会形成间隔的空间量,以此类推,最终可在目标空间中形成大量具有较大间隔的垃圾空间,从而可使得java卡在目标空间内对大量相互间隔的垃圾空间进行回收,从而提高对java卡的测试强度。在一个实施方式中,间隔的空间量的空间量可以为物理存储页的总空间量减小1字节。
[0086]
在上述基础上,在第三次创建多个预设对象后,会再次执行回收操作,并在再次完成回收操作前确定新的第一空间参数,以及在再次完成回收操作后确定新的第二空间参数。
[0087]
在一些实施方式中,在再次完成回收操作后,会再次持续间隔地创建多个预设对象以第四次占用目标空间,并对再次持续间隔地创建的多个预设对象占用的空间量(对应第二对象总量)和初次持续间隔地创建的多个预设对象占用的空间量(对应第二垃圾总量)进行比较,以形成全面综合的测试结果。
[0088]
在某些实施方式中,步骤06(根据第一空间参数和第二空间参数确定测试结果),包括:在新的第二空间参数和新的第一空间参数的差值为正且等于所有预设对象占用的空间量的情况下,确定java卡具有垃圾回收功能;在新的第二空间参数和新的第一空间参数的差值小于所有预设对象占用的空间量的情况下,确定java卡具有垃圾回收功能,且垃圾回收率小于预设值。
[0089]
本发明实施方式的测试方法可以通过本发明实施方式的测试系统100来实现。具体地,请结合图2,测试系统100用于:在新的第二空间参数和新的第一空间参数的差值为正且等于所有预设对象占用的空间量的情况下,确定java卡具有垃圾回收功能;在新的第二空间参数和新的第一空间参数的差值小于所有预设对象占用的空间量的情况下,确定java卡具有垃圾回收功能,且垃圾回收率小于预设值。
[0090]
如此,可对java卡在极限情况下的垃圾回收能力进行评估。
[0091]
具体地,java卡的垃圾回收能力可以通过以下公式来进行评估:p
re
'=(s2'-s1')/s0其中,p
re
'为java卡通过间隔创建预设对象的方式下得到的回收率,s1'为新的第一空间参数,s2'为新的第二空间参数,s0为在目标空间中所有预设对象占用的空间量。
[0092]
在根据原先的第一空间参数和原先的第二空间参数确定java卡的回收率p
re
'为
100%,且根据新的第一空间参数和新的第二空间参数确定java卡的回收率p
re
'为100%的情况下,则表示java卡不仅具有良好的垃圾回收能力,且在不同的极限情况下也能够实现极高的垃圾回收率。在根据原先的第一空间参数和原先的第二空间参数确定java卡的回收率p
re
'为100%,而根据新的第一空间参数和新的第二空间参数确定java卡的回收率p
re
'不为100%的情况下,则表示java卡具有良好的垃圾回收能力,但在不同的极限情况下会影响垃圾回收率而具有一定缺陷。
[0093]
另外,上述的实施方式主要根据垃圾回收的效果来评估java卡,在本发明的测试方法中,还可以通过其他方面来实现对java卡进行足够深入的测试和评估。
[0094]
具体地,对于java卡而言,在进行数据更新后,需要对更新的内容进行保护。对于一些java卡而言,可能会将更新的内容所在的整个物理存储页进行备份,或者将位于不同区域的更新的内容之间的其他数据也进行备份,从而会导致需要的大量跨页写数据的情况,造成备份区空间不足的问题,从而会影响java卡的事务保护能力。
[0095]
请参考图9,图9所示为根据事务保护的效果来评估java卡的实施方式。具体地,在图9中,会先确定物理存储页可占用的最大空间的字节大小α,并设定β的初值为1字节。然后会在目标空间内的所有物理存储页中持续创建数组数据的字节大小为α的预设对象至完全占用目标空间,并会将预设对象的个数记录为n。在开始创建事务前,会对事务需要操作的预设对象的个数n设置为n,随后开始创建事务。在事务中,会对目标空间内的需要操作的预设对象进行更新,以变更需要操作的预设对象中数组数据的最后β个字节的内容,随后便提交事务以进行验证。
[0096]
在验证过程中,会先判断事务需要操作的预设对象的数值n当前是否为n,若是,则判断事务是否执行成功,在确定事务执行成功后通过“β=β 1”的方式来使得β增加1字节并重新执行事务,在确定事务未执行成功后则会判断β当前是否为1字节;若否,则判断事务是否执行成功,在确定事务执行成功后会直接停止验证并记录当前验证过程中的当前参数(当前的事务需要操作的预设对象的个数n,以及当前的β),在确定事务未执行成功后则通过“n=n-1”的方式来使得事务需要操作的预设对象的个数减少1个并重新执行事务。
[0097]
在上述基础上,在判断β当前是否为1字节的验证过程中,若是,则通过“n=n-1”的方式来使得事务需要操作的预设对象的个数减少1个并重新执行事务,若否,则会设置初值为1的参数k,并会在事务中,将事务的操作内容更新为:在需要操作的所有预设对象中,对前k个预设对象更新数组数据中的最后β个字节的内容,以及对后(n-k)个预设对象更新数组数据中的最后(β-1)个字节的内容。
[0098]
在完成对事务的操作内容的更新后,会判断事务是否执行成功,若是,则通过“k=k 1”的方式来使得参数k增加1并重新执行事务,若否,则会直接停止验证并记录当前验证过程中的当前参数(当前的事务需要操作的预设对象的个数n,当前的β,以及当前的k)。其中,在操作内容被更新后的事务执行失败的情况下,则表示所有的预设对象中的第k个影响事务的执行并导致事务执行失败,从而可将当前的k确定为当前失败的预设对象在所有预设对象中的序号。
[0099]
在已记录对应的参数后,则可确定测试结果。其中,在根据返回的参数记录,确定事务需要操作的预设对象的数值n等于预设对象的个数n的情况下,则会进一步确认以下公式的结果:
g=(k-1)*β (n-(k-1))*(β 1)在确定g等于γ的情况下,则表示java卡的事务保护机制完全不受保护数据分布情况的影响。在确定g小于γ的情况下,则说明java卡的事务保护机制在一定程度上受数据分布情况的影响,且影响的程度取决于g与γ之间的差值,差值越小,则表示受数据分布情况影响的程度越小。其中,γ为目标空间能够支持占用的最大数据大小。
[0100]
在根据返回的参数记录,确定事务需要操作的预设对象的数值n小于预设对象的个数n的情况下,则表示java卡在事务保护处理方面的能力较低,数据分布情况会对java卡的事务保护机制产生较大影响,并可以进一步确认以下公式的结果:f=n*α在确认f等于γ的情况下,则表示java卡的事务保护机制虽然并未对数据离散分布进行处理,但是会一并保护离散数据之间的空间区域,从而导致java卡的事务保护能力受到制约。在确认f小于γ的情况下,则表示java卡的事务保护机制会受离散数据分布的严重影响,且在事务保护处理方面的能力较差。
[0101]
请参考图2,本发明实施方式的一种用于java卡的测试系统100,包括存储器110和处理器120。存储器110存储有计算机程序,处理器120执行计算机程序时,实现上述任一个实施方式的测试方法的步骤。
[0102]
例如,在计算机程序被执行的情况下,可以实现以下步骤:01:创建预设对象以占用目标空间,目标空间为java卡的存储空间的至少部分;02:获取第一空间参数,第一空间参数为执行测试流程前目标空间中的可用空间量;03:在完成对目标空间的占用后,执行测试流程以回收预设对象;04:获取第二空间参数,第二空间参数为完成测试流程后目标空间中的可用空间量;06:根据第一空间参数和第二空间参数确定测试结果。
[0103]
上述测试系统100,通过在java卡内进行空间占用的方式来创造测试环境,并根据执行测试流程前后对应目标空间的空间参数的变化来得到测试结果,从而以测试结果来确定java卡的垃圾回收能力,进而可评估java卡的技术竞争力。
[0104]
本发明实施方式的一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器120执行时,实现上述任一个实施方式的测试方法的步骤。
[0105]
例如,在计算机程序被执行的情况下,可以实现以下步骤:01:创建预设对象以占用目标空间,目标空间为java卡的存储空间的至少部分;02:获取第一空间参数,第一空间参数为执行测试流程前目标空间中的可用空间量;03:在完成对目标空间的占用后,执行测试流程以回收预设对象;04:获取第二空间参数,第二空间参数为完成测试流程后目标空间中的可用空间量;06:根据第一空间参数和第二空间参数确定测试结果。
[0106]
上述计算机可读存储介质,通过在java卡内进行空间占用的方式来创造测试环境,并根据执行测试流程前后对应目标空间的空间参数的变化来得到测试结果,从而以测
试结果来确定java卡的垃圾回收能力,进而可评估java卡的技术竞争力。
[0107]
计算机可读存储介质可设置在测试系统100,也可设置在其他终端,测试系统100能够与其他终端进行通信来获取到相应的程序。
[0108]
可以理解,计算机可读存储介质可以包括:能够携带计算机程序的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、以及软件分发介质等。计算机程序包括计算机程序代码。计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、以及软件分发介质。
[0109]
在本发明的某些实施方式中,测试系统100可以是一个单片机芯片,集成了处理器、存储器,通讯模块等。处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field
‑ꢀ
programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0110]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0111]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
[0112]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0113]
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献