CN115840704A - 一种仿真软件测试方法、装置、存储介质及电子设备 - Google Patents

一种仿真软件测试方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN115840704A
CN115840704A CN202211600455.8A CN202211600455A CN115840704A CN 115840704 A CN115840704 A CN 115840704A CN 202211600455 A CN202211600455 A CN 202211600455A CN 115840704 A CN115840704 A CN 115840704A
Authority
CN
China
Prior art keywords
test
output result
version
updated
test sample
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211600455.8A
Other languages
English (en)
Inventor
郭胜
高秋
周军
陈军波
王冰花
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202211600455.8A priority Critical patent/CN115840704A/zh
Publication of CN115840704A publication Critical patent/CN115840704A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本说明书公开了一种仿真软件测试方法、装置、存储介质及电子设备。在本说明书提供的仿真软件测试方法中,获取仿真软件的原始版本、更新版本、测试样本集;针对所述测试样本集中的每个测试样本,将该测试样本分别输入所述仿真软件的原始版本与更新版本,得到所述原始版本输出的原始输出结果,以及所述更新版本输出的更新输出结果;判断该测试样本的原始输出结果与更新输出结果是否匹配,并确定该测试样本的测试结果;根据各测试样本的测试结果生成测试报告。

Description

一种仿真软件测试方法、装置、存储介质及电子设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种仿真软件测试方法、装置、存储介质及电子设备。
背景技术
如今,采用仿真软件对电路图、机械图等设计图进行仿真已是十分常见的手段。比起传统的采用实物搭建电路或机械结构来验证设计图,仿真软件能够更加便捷地调整元件参数,省去频繁更换元件的步骤,提供更准确的数据,同时能够快速定位设计中的故障部分。
与绝大多数软件相同,为了向用户提供更好的使用体验,仿真软件也需要不断地更新迭代。然而,在开发新版本的仿真软件时,难免会出现异常。目前,研发人员会通过观察仿真结果中的数据是否符合预期来判断新版本的仿真软件是否存在异常。
然而,通常情况下,每一次仿真得到结果中都会包含大量的仿真数据,每个仿真数据都有出现错误的可能。如果由研发人员验证所有的仿真数据,不仅验证结果非常主观,并且会耗费大量的时间与精力,还很容易出现遗漏,导致判断失误。
因此,如何更好地判断仿真软件是否存在异常是一个亟待解决的问题。
发明内容
本说明书提供一种仿真软件测试方法、装置、存储介质及电子设备,以至少部分地解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种仿真软件测试方法,包括:
获取仿真软件的原始版本、更新版本、测试样本集;
针对所述测试样本集中的每个测试样本,将该测试样本分别输入所述仿真软件的原始版本与更新版本,得到所述原始版本输出的原始输出结果,以及所述更新版本输出的更新输出结果;
判断该测试样本的原始输出结果与更新输出结果是否匹配,并确定该测试样本的测试结果;
根据各测试样本的测试结果生成测试报告。
可选的,获取仿真软件的原始版本、更新版本、测试样本集,具体包括:
读取预设的配置文件,从所述配置文件中获取仿真软件的原始版本、更新版本;
从全部测试样本中选择至少部分测试样本,构成测试样本集。
可选的,所述配置文件中还包括测试样本列表;
从全部测试样本中选择至少部分测试样本,构成测试样本集,具体包括:
根据所述测试样本列表,从全部测试样本中选择样本标识包含在所述测试样本列表中的测试样本,构成测试样本集。
可选的,在将该测试样本分别输入所述仿真软件的原始版本与更新版本之前,所述方法还包括:
当所述配置文件中缺少所述仿真软件的原始版本、更新版本、测试样本列表中的至少一种时,终止测试并返回错误提示。
可选的,将该测试样本分别输入所述仿真软件的原始版本与更新版本,得到所述原始版本输出的原始输出结果,以及所述更新版本输出的更新输出结果,具体包括:
将该测试样本分别输入所述仿真软件的原始版本与更新版本,并将所述原始版本输出的各项测试数据作为原始输出结果,以及将所述更新版本输出的各项测试数据作为更新输出结果,其中,针对所述原始输出结果包含的每项测试数据,在所述更新输出结果中包含与该项测试数据对应的测试数据。
可选的,判断该测试样本的原始输出结果与更新输出结果是否匹配,具体包括:
针对所述原始输出结果中的每项测试数据,判断所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据是否匹配;
当所述原始输出结果与所述更新输出结果中不存在不匹配的测试数据时,确定所述原始输出结果与所述更新输出结果匹配;
否则,确定所述原始输出结果与所述更新输出结果不匹配。
可选的,判断所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据是否匹配,具体包括:
判断所述更新结果中与该项测试数据对应的测试数据与该项测测试数据之间的差是否不大于第一指定阈值;
若是,则确定所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据匹配;
否则,确定所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据不匹配。
可选的,确定该测试样本的测试结果,具体包括:
若该测试样本的原始输出结果与更新输出结果匹配,则确定该测试样本的测试结果为通过;
否则确定该测试样本的测试结果为不通过。
可选的,根据各测试样本的测试结果生成测试报告,具体包括:
当所述各测试样本中,测试结果为通过的测试样本数量在测试样本总数量中的占比不小于第二指定阈值时,生成所述更新版本无异常的测试报告;
否则,生成所述更新版本存在异常的测试报告。
可选的,当生成所述更新版本存在异常的测试报告,所述方法还包括:
根据所述更新版本存在异常的测试报告,对所述更新版本进行修复。
可选的,在对所述更新版本进行修复后,所述方法还包括:
将所述各测试样本中,测试结果为不通过的测试样本重新确定为测试样本集,分别输入到所述原始版本与修复后的更新版本中,并根据所述原始版本的输出结果与所述修复后的更新版本的输出结果,判断所述修复后的更新版本是否存在异常。
可选的,所述测试样本包括电路设计图、机械设计图中的至少一种。
本说明书提供的一种仿真软件测试装置,所述装置包括:
获取模块,用于获取仿真软件的原始版本、更新版本、测试样本集;
输入模块,用于针对所述测试样本集中的每个测试样本,将该测试样本分别输入所述仿真软件的原始版本与更新版本,得到所述原始版本输出的原始输出结果,以及所述更新版本输出的更新输出结果;
判断模块,用于判断该测试样本的原始输出结果与更新输出结果是否匹配,并确定该测试样本的测试结果;
生成模块,用于根据各测试样本的测试结果生成测试报告。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述仿真软件测试方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述仿真软件测试方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的仿真软件测试方法中,获取仿真软件的原始版本、更新版本、测试样本集;针对所述测试样本集中的每个测试样本,将该测试样本分别输入所述仿真软件的原始版本与更新版本,得到所述原始版本输出的原始输出结果,以及所述更新版本输出的更新输出结果;判断该测试样本的原始输出结果与更新输出结果是否匹配,并确定该测试样本的测试结果;根据各测试样本的测试结果生成测试报告。
在采用本说明书提供的仿真软件测试方法对仿真软件进行测试时,能够通过对比仿真软件的原始版本与更新版本的测试结果,快速、准确地判断出仿真软件的更新版本是否存在异常,并给出对应的测试报告。与传统的方法相比,有效节省了用户的时间与精力,并避免了判断过程中可能出现的数据遗漏,提高了判断的准确度。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中一种仿真软件测试方法的流程示意图;
图2为本说明书提供的一种仿真软件测试装置的示意图;
图3为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书中一种仿真软件测试方法的流程示意图,具体包括以下步骤:
S100:获取仿真软件的原始版本、更新版本、测试样本集。
本说明书所提供的仿真软件测试方法中的所有步骤均可由任何具有计算功能的电子设备实现,例如终端、服务器等设备。
在本说明书提供的仿真软件测试方法中,除获取更新版本的仿真软件外,还可获取原始版本的仿真软件。其中,原始版本为正在使用的当前版本的仿真软件,能够稳定输出准确的仿真数据;更新版本为新开发的版本的仿真软件,需要验证是否存在异常。测试样本集中包含了若干测试样本,每个测试样本均为能够作为仿真软件的输入,使仿真软件输出仿真数据。其中,当测试软件所适用对象不同时,测试样本也可相应地为有所不同,包括但不限于电路设计图、机械设计图等。进行测试的仿真软件可包括任何能够对设计图进行仿真的软件,例如matlab、spice、AMEsim等软件。
在获取仿真软件时,可以获取不同版本的取仿真软件本身,也可以获取用于运行各版本仿真软件的代码。具体的,可读取预设的配置文件,从所述配置文件中获取仿真软件的原始版本、更新版本;从全部测试样本中选择至少部分测试样本,构成测试样本集。其中,配置文件为预先设置的文件,配置文件中可至少包括仿真软件的原始版本的全部代码与更新版本的全部代码。
另一方面,通常情况下,存有的测试样本的数量较大,在对仿真软件进行测试的过程中,可能并不需要用到全部的测试样本。因此,可以从全部测试样本中选择至少部分测试样本来构成测试样本集。具体的,配置文件中还可额外包括测试样本列表,可根据所述测试样本列表,从全部测试样本中选择样本标识包含在所述测试样本列表中的测试样本,作为测试样本集。测试样本列表中包含了一次测试中需要采用的测试样本的样本标识,可根据样本标识在全部测试样本中选择对应出的测试样本来构成样本测试集。其中,测试样本的样本标识可采用多种标识方法,包括但不限于测试样本的名称、序号等,本说明书对此不做具体限制。
需要注意的是,当采用从配置文件中获取原始版本、更新版本的仿真软件以及样本测试列表的方法时,由于可能存在的编辑配置文件时填写错误等原因,在运行配置文件时可能会出现错误,导致获取到的内容不全,此时,可主动终止本次测试,并提示用户配置文件可能存在错误。具体的,可当所述配置文件中缺少所述仿真软件的原始版本、更新版本、测试样本列表中的至少一种时,终止测试并返回错误提示。
S102:针对所述测试样本集中的每个测试样本,将该测试样本分别输入所述仿真软件的原始版本与更新版本,得到所述原始版本输出的原始输出结果,以及所述更新版本输出的更新输出结果。
在此步骤中,可将样本测试集中的每个样本分别输入到仿真软件的两个不同的分支版本中,并分别获得每个测试样本在原始版本的输出结果以及更新版本的输出结果。
在本说明书提供的仿真软件测试方法中,无论是仿真软件的哪一个分支版本,需要的输出结果均为针对测试样本输出的测试数据。具体的,可将该测试样本分别输入所述仿真软件的原始版本与更新版本,并将所述原始版本输出的各项测试数据作为原始输出结果,以及将所述更新版本输出的各项测试数据作为更新输出结果,其中,针对所述原始输出结果包含的每项测试数据,在所述更新输出结果中包含与该项测试数据对应的测试数据。
本领域技术人员应当明白,仿真软件输出的测试数据为针对输入的测试样本中预先设置的节点的各项数据。例如,当输入的测试样本为电路设计图时,那么测试数据可至少包括电压、电流、电阻等数据。同时,可以想到的,针对同一个测试样本,仿真软件的原始输出结果与更新输出结果中包含的测试数据项应相同。例如,如果原始输出结果中包含了电流1、电流2、电压1、电压2、电压3这五项测试数据,那么在正常情况下,更新输出结果中也应至少包含电流1、电路2、电压1、电压2、电压3这五项测试数据,分别与原始输出结果中相同的测试数据项对应。
S104:判断该测试样本的原始输出结果与更新输出结果是否匹配,并确定该测试样本的测试结果。
在此步骤中,可根据步骤S102中原始版本和更新版本分别针对测试样本生成的原始输出结果和更新输出结果,判断原始输出结果与更新输出结果是否匹配。具体的,可针对所述原始输出结果中的每项测试数据,判断所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据是否匹配;当所述原始输出结果与所述更新输出结果中不存在不匹配的测试数据时,确定所述原始输出结果与所述更新输出结果匹配;否则,确定所述原始输出结果与所述更新输出结果不匹配。
当原始输出结果与更新输出结果中所有对应项的测试数据均匹配时,可认为原始输出结果与更新输出结果匹;否则,只要原始输出结果与更新输出结果中存在任一对应项的测试数据为不匹配的,那么便可认为原始输出结果与更新输出结果整体不匹配。
原始输出结果与更新输出结果中包含相互对应的相同项测试数据,不难想象,在理想状态下,针对同一测试样本,原始输出结果与更新输出结果中,对应项的测试数据的数值应相同。而在实际应用中,每次测试时均会产生一定的波动,很难保证测试过程中完全不存在误差。因此,可以认为,当原始输出结果与更新输出结果中对应项的测试数据的数值非常接近时,二者就是匹配的。具体的,在针对原始输出结果中的任一项测试数据,判断所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据是否匹配时,可判断所述更新结果中与该项测试数据对应的测试数据与该项测测试数据之间的差是否不大于第一指定阈值;若是,则确定所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据匹配;否则,确定所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据不匹配。
其中,第一指定阈值可根据具体情况进行设置。例如,第一指定阈值可设定为原始输出结果中,该项数据的0.1%等数值,本说明书对此不做具体限制。
针对每个测试样本,根据该测试样本的原始输出结果与更新输出结果的匹配情况,能够确定出该测试样本最终的测试结果。具体的,若该测试样本的原始输出结果与更新输出结果匹配,则确定该测试样本的测试结果为通过;否则确定该测试样本的测试结果为不通过。
可以想到的,当该测试样本的原始输出结果与更新输出结果匹配,也就是原始输出结果与更新输出结果中对应项的测试数据均相互匹配时,表示对于该测试样本,仿真软件的更新版本的更新输出结果与原始版本的原始输出结果是相同的,可认为该测试样本的测试结果为通过;而相反的,如果该测试样本该测试样本的原始输出结果与更新输出结果不匹配,那么便可认为该测试样本的测试结果为不通过。
S106:根据所述测试样本集中各测试样本的测试结果生成测试报告。
在此步骤中,可根据步骤S104中确定出的样本测试集中各测试样本的测试结果,生成最终的测试报告。具体的,可当所述各测试样本中,测试结果为通过的测试样本数量在测试样本总数量中的占比不小于第二指定阈值时,生成所述更新版本无异常的测试报告;否则,生成所述更新版本存在异常的测试报告。
本说明书提供的仿真软件测试方法的目的为测试新开发的更新版本的仿真软件是否存在异常,因此,测试报告中的内容是针对更新版本是否存在异常进行的报告。由于能够保证仿真软件在原始版本下的测试数据均为正确的数据,在仿真软件的更新版本无异常的情况下,对于一个固定不变的测试样本,仿真软件的原始版本与更新版本中对应项的测试数据应相同。也就是说,如果仿真软件的更新版本无异常,在理想状态下,对于任意一个测试样本,最终的测试结果均应为通过。但实际上,由于误差无法被完全消除,且测试过程中也可能会出现其它问题导致测试结果为不通过,因此在本说明书提供的仿真软件测试方法中,当测试结果为通过的测试样本数量在测试样本总数量中的占比不小于第二指定阈值时,便可认为仿真软件的更新版本无异常,生成所述更新版本无异常的测试报告。其中,第二指定阈值可根据具体情况进行设置,例如98%、95%等数值,本说明书对此不做具体限制。
在采用本说明书提供的仿真软件测试方法对仿真软件进行测试时,能够通过对比仿真软件的原始版本与更新版本的测试结果,快速、准确地判断出仿真软件的更新版本是否存在异常,并给出对应的测试报告。与传统的方法相比,有效节省了用户的时间与精力,并避免了判断过程中可能出现的数据遗漏,提高了判断的准确度。
为了更好的解释与说明本说明书提供的方法,下面将以实际的测试数据为例来展示不同情况下的实际判断结果。
时间戳 电压 电流
时刻1 1.321 5.654
时刻2 2.543 4.765
时刻3 1.543 3.654
表1
Figure BDA0003995018660000101
表2
表1和表2展示了针对一个测试样本,仿真软件的原始版本和更新版本仿真得到的原始输出结果和更新输出结果。其中,表1为原始输出结果,表2为更新输出结果。在此示例中,更新输出结果存在多处与原始输出结果不匹配的测试数据,本说明书在此将一一进行说明。
第一点,在原始输出结果中,并不存在电压2这一项测试数据;而在更新输出结果中,多出了电压2这一项测试数据,这显然是与原始输出结果不匹配的。
第二点,在原始输出结果中,仅给出了时刻1、时刻2、时刻3这三个时刻的测试数据;而在更新输出结果中,额外出现了时刻4、时刻5这两个时刻的测试数据,这显然是与原始输出结果不匹配的。
第三点,在原始输出结果中,时刻3下的电流测试数据的数值为3.654;而在更新输出结果中,时刻3下的电流测试数据的数值为1.248,二者相差过大,显然是不匹配的。
采用本说明书提供的仿真软件测试方法,在出现诸如此类的问题时,均能够在测试过程中均可快速发现,并定位出问题所在。
可以理解的,上述实施例中的问题仅是在仿真过程中可能出现的多种问题中的一部分,当出现其它类似的问题是,本说明书提供的仿真软件测试方法同样能够进行检测。需要注意的是,为了使保证说明书的简洁性,上述实施例将三种不同的问题放在一个实施例中进行说明。在实际应用中,只要出现任意一个问题,均可直接确定原始输出结果与更新输出结果不匹配。
额外的,当检测出更新版本存在异常时,生成的测试报告中可包括测试结果为不通过的测试样本,以及不通过的测试样本的更新输出结果中与原始输出结果不匹配的测试数据。由此,便能够根据所述更新版本存在异常的测试报告,对所述更新版本进行修复。
另外,在完成对仿真软件的更新版本的修复后,为了验证是否修复成功,可将所述各测试样本中,测试结果为不通过的测试样本重新确定为测试样本集,分别输入到所述原始版本与修复后的更新版本中,并根据所述原始版本的输出结果与所述修复后的更新版本的输出结果,判断所述修复后的更新版本是否存在异常。
以上是本说明书提供的仿真软件测试方法,基于同样的思路,本说明书还提供了相应的仿真软件测试装置,如图2所示。
图2为本说明书提供的一种仿真软件测试装置示意图,具体包括:
获取模块200,用于获取仿真软件的原始版本、更新版本、测试样本集;
输入模块202,用于针对所述测试样本集中的每个测试样本,将该测试样本分别输入所述仿真软件的原始版本与更新版本,得到所述原始版本输出的原始输出结果,以及所述更新版本输出的更新输出结果;
判断模块204,用于判断该测试样本的原始输出结果与更新输出结果是否匹配,并确定该测试样本的测试结果;
生成模块206,用于根据各测试样本的测试结果生成测试报告。
可选的,所述获取模块200,具体用于读取预设的配置文件,从所述配置文件中获取仿真软件的原始版本、更新版本;从全部测试样本中选择至少部分测试样本,构成测试样本集。
可选的,所述配置文件中还包括测试样本列表;
所述获取模块200,具体用于根据所述测试样本列表,从全部测试样本中选择样本标识包含在所述测试样本列表中的测试样本,构成测试样本集。
可选的,所述装置还包括返回模块208,具体用于当所述配置文件中缺少所述仿真软件的原始版本、更新版本、测试样本列表中的至少一种时,终止测试并返回错误提示。
可选的,所述输入模块202,具体用于将该测试样本分别输入所述仿真软件的原始版本与更新版本,并将所述原始版本输出的各项测试数据作为原始输出结果,以及将所述更新版本输出的各项测试数据作为更新输出结果,其中,针对所述原始输出结果包含的每项测试数据,在所述更新输出结果中包含与该项测试数据对应的测试数据。
可选的,所述判断模块204,具体用于针对所述原始输出结果中的每项测试数据,判断所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据是否匹配;当所述原始输出结果与所述更新输出结果中不存在不匹配的测试数据时,确定所述原始输出结果与所述更新输出结果匹配;否则,确定所述原始输出结果与所述更新输出结果不匹配。
可选的,所述判断模块204,具体用于判断所述更新结果中与该项测试数据对应的测试数据与该项测测试数据之间的差是否不大于第一指定阈值;若是,则确定所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据匹配;否则,确定所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据不匹配。
可选的,所述判断模块204,具体用于若该测试样本的原始输出结果与更新输出结果匹配,则确定该测试样本的测试结果为通过;否则确定该测试样本的测试结果为不通过。
可选的,所述生成模块206,具体用于当所述各测试样本中,测试结果为通过的测试样本数量在测试样本总数量中的占比不小于第二指定阈值时,生成所述更新版本无异常的测试报告;否则,生成所述更新版本存在异常的测试报告。
可选的,所述装置还包括修复模块210,具体用于根据所述更新版本存在异常的测试报告,对所述更新版本进行修复。
可选的,所述修复模块210,具体用于将所述各测试样本中,测试结果为不通过的测试样本重新确定为测试样本集,分别输入到所述原始版本与修复后的更新版本中,并根据所述原始版本的输出结果与所述修复后的更新版本的输出结果,判断所述修复后的更新版本是否存在异常。
可选的,所述测试样本包括电路设计图、机械设计图中的至少一种。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的仿真软件测试方法。
本说明书还提供了图3所示的电子设备的示意结构图。如图3所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的仿真软件测试方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware DescriptionLanguage,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced BooleanExpression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java HardwareDescription Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware DescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated CircuitHardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (15)

1.一种仿真软件测试方法,其特征在于,包括:
获取仿真软件的原始版本、更新版本、测试样本集;
针对所述测试样本集中的每个测试样本,将该测试样本分别输入所述仿真软件的原始版本与更新版本,得到所述原始版本输出的原始输出结果,以及所述更新版本输出的更新输出结果;
判断该测试样本的原始输出结果与更新输出结果是否匹配,并确定该测试样本的测试结果;
根据各测试样本的测试结果生成测试报告。
2.如权利要求1所述的方法,其特征在于,获取仿真软件的原始版本、更新版本、测试样本集,具体包括:
读取预设的配置文件,从所述配置文件中获取仿真软件的原始版本、更新版本;
从全部测试样本中选择至少部分测试样本,构成测试样本集。
3.如权利要求2所述的方法,其特征在于,所述配置文件中还包括测试样本列表;
从全部测试样本中选择至少部分测试样本,构成测试样本集,具体包括:
根据所述测试样本列表,从全部测试样本中选择样本标识包含在所述测试样本列表中的测试样本,构成测试样本集。
4.如权利要求3所述的方法,其特征在于,在将该测试样本分别输入所述仿真软件的原始版本与更新版本之前,所述方法还包括:
当所述配置文件中缺少所述仿真软件的原始版本、更新版本、测试样本列表中的至少一种时,终止测试并返回错误提示。
5.如权利要求1所述的方法,其特征在于,将该测试样本分别输入所述仿真软件的原始版本与更新版本,得到所述原始版本输出的原始输出结果,以及所述更新版本输出的更新输出结果,具体包括:
将该测试样本分别输入所述仿真软件的原始版本与更新版本,并将所述原始版本输出的各项测试数据作为原始输出结果,以及将所述更新版本输出的各项测试数据作为更新输出结果,其中,针对所述原始输出结果包含的每项测试数据,在所述更新输出结果中包含与该项测试数据对应的测试数据。
6.如权利要求5所述的方法,其特征在于,判断该测试样本的原始输出结果与更新输出结果是否匹配,具体包括:
针对所述原始输出结果中的每项测试数据,判断所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据是否匹配;
当所述原始输出结果与所述更新输出结果中不存在不匹配的测试数据时,确定所述原始输出结果与所述更新输出结果匹配;
否则,确定所述原始输出结果与所述更新输出结果不匹配。
7.如权利要求6所述的方法,其特征在于,判断所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据是否匹配,具体包括:
判断所述更新结果中与该项测试数据对应的测试数据与该项测测试数据之间的差是否不大于第一指定阈值;
若是,则确定所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据匹配;
否则,确定所述更新输出结果中与该项测试数据对应的测试数据与该项测试数据不匹配。
8.如权利要求1所述的方法,其特征在于,确定该测试样本的测试结果,具体包括:
若该测试样本的原始输出结果与更新输出结果匹配,则确定该测试样本的测试结果为通过;
否则确定该测试样本的测试结果为不通过。
9.如权利要求1所述的方法,其特征在于,根据各测试样本的测试结果生成测试报告,具体包括:
当所述各测试样本中,测试结果为通过的测试样本数量在测试样本总数量中的占比不小于第二指定阈值时,生成所述更新版本无异常的测试报告;
否则,生成所述更新版本存在异常的测试报告。
10.如权利要求9所述的方法,其特征在于,当生成所述更新版本存在异常的测试报告,所述方法还包括:
根据所述更新版本存在异常的测试报告,对所述更新版本进行修复。
11.如权利要求10所述的方法,其特征在于,在对所述更新版本进行修复后,所述方法还包括:
将所述各测试样本中,测试结果为不通过的测试样本重新确定为测试样本集,分别输入到所述原始版本与修复后的更新版本中,并根据所述原始版本的输出结果与所述修复后的更新版本的输出结果,判断所述修复后的更新版本是否存在异常。
12.如权利要求1所述的方法,其特征在于,所述测试样本包括电路设计图、机械设计图中的至少一种。
13.一种仿真软件测试装置,其特征在于,包括:
获取模块,用于获取仿真软件的原始版本、更新版本、测试样本集;
输入模块,用于针对所述测试样本集中的每个测试样本,将该测试样本分别输入所述仿真软件的原始版本与更新版本,得到所述原始版本输出的原始输出结果,以及所述更新版本输出的更新输出结果;
判断模块,用于判断该测试样本的原始输出结果与更新输出结果是否匹配,并确定该测试样本的测试结果;
生成模块,用于根据各测试样本的测试结果生成测试报告。
14.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~12任一项所述的方法。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~12任一项所述的方法。
CN202211600455.8A 2022-12-12 2022-12-12 一种仿真软件测试方法、装置、存储介质及电子设备 Pending CN115840704A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211600455.8A CN115840704A (zh) 2022-12-12 2022-12-12 一种仿真软件测试方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211600455.8A CN115840704A (zh) 2022-12-12 2022-12-12 一种仿真软件测试方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN115840704A true CN115840704A (zh) 2023-03-24

Family

ID=85578534

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211600455.8A Pending CN115840704A (zh) 2022-12-12 2022-12-12 一种仿真软件测试方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN115840704A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116467222A (zh) * 2023-06-19 2023-07-21 阿里巴巴(中国)有限公司 域名解析软件的测试方法、软件测试方法、装置及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106934121A (zh) * 2016-12-30 2017-07-07 北京华大九天软件有限公司 一种测试器件模型仿真结果正确性的方法
CN110069414A (zh) * 2019-04-25 2019-07-30 浙江吉利控股集团有限公司 回归测试方法及系统
CN110188039A (zh) * 2019-05-20 2019-08-30 南京星火技术有限公司 软件测试、软件优化的方法与系统
US10896116B1 (en) * 2018-10-19 2021-01-19 Waymo Llc Detecting performance regressions in software for controlling autonomous vehicles
CN114780440A (zh) * 2022-06-17 2022-07-22 苏州培风图南半导体有限公司 一种软件升级版本正确性的检测方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106934121A (zh) * 2016-12-30 2017-07-07 北京华大九天软件有限公司 一种测试器件模型仿真结果正确性的方法
US10896116B1 (en) * 2018-10-19 2021-01-19 Waymo Llc Detecting performance regressions in software for controlling autonomous vehicles
CN110069414A (zh) * 2019-04-25 2019-07-30 浙江吉利控股集团有限公司 回归测试方法及系统
CN110188039A (zh) * 2019-05-20 2019-08-30 南京星火技术有限公司 软件测试、软件优化的方法与系统
CN114780440A (zh) * 2022-06-17 2022-07-22 苏州培风图南半导体有限公司 一种软件升级版本正确性的检测方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谈琳 等: "实时软件的仿真测试平台的研究", 计算机仿真, vol. 22, no. 01, 30 January 2005 (2005-01-30), pages 247 - 250 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116467222A (zh) * 2023-06-19 2023-07-21 阿里巴巴(中国)有限公司 域名解析软件的测试方法、软件测试方法、装置及设备

Similar Documents

Publication Publication Date Title
US9032371B2 (en) Method and apparatus for automatic diagnosis of software failures
US8397104B2 (en) Creation of test plans
US8990622B2 (en) Post-silicon validation using a partial reference model
US20100180263A1 (en) Apparatus and method for detecting software error
CN108335718B (zh) 一种测试方法及装置
US10664644B1 (en) Method and apparatus for schematic verification of electronic circuits
CN115840704A (zh) 一种仿真软件测试方法、装置、存储介质及电子设备
CN111615688A (zh) 一种断言验证代码绑定方法及装置
CN112035341A (zh) 一种自动化测试方法及装置
CN115510804A (zh) 全芯片管脚复用自动化验证方法、装置、设备及存储介质
CN112306568A (zh) 服务实例配置方法、装置、电子设备及存储介质
CN113626342B (zh) 一种模型在线测试方法及装置
CN112578270A (zh) 基准电压自动校准的测试方法、装置、存储介质和终端
CN108304330B (zh) 内容提取方法、装置和计算机设备
CN116431467A (zh) 页面测试方法、装置、设备及介质
CN112631852B (zh) 宏检查方法、装置、电子设备和计算机可读存储介质
CN114218032A (zh) 一种硬件设计验证方法、装置及电子设备和存储介质
CN110018957B (zh) 一种资损核对脚本检测方法及装置
CN108762959B (zh) 一种选取系统参数的方法、装置及设备
TWI509408B (zh) 死結偵測方法以及機器可讀媒體
CN112181812A (zh) 一种版本测试的方法及装置
JP2005164373A (ja) アナログ回路の故障検出シミュレーションシステム
CN116861829B (zh) 用于定位逻辑系统设计中错误的方法、电子设备
CN117573422A (zh) 针对机器学习模型的比特翻转控制方法、系统以及装置
US10853546B1 (en) Method and system for sequential equivalence checking

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination