掌桥专利:专业的专利平台
掌桥专利
首页

功能测试方法、装置、电子设备及计算机存储介质

文献发布时间:2024-04-18 20:02:18


功能测试方法、装置、电子设备及计算机存储介质

技术领域

本公开涉及功能安全技术领域,具体而言,本公开涉及一种功能测试方法、装置、电子设备及计算机存储介质。

背景技术

随着汽车电子系统的不断发展,对汽车电子系统的安全性和可靠性要求也越来越高,系统安全性是指计算机系统抵御各种威胁和攻击的能力,确保系统的机密性、完整性和可用性,一个安全的计算机系统应该能够有效地防止未经授权的访问、数据泄露、恶意软件感染等安全威胁,并且能够及时发现和应对潜在的安全漏洞和攻击行为。

目前在功能安全领域被广泛应用于的是双核锁步系统(Dual-Core LockstepSystem,DCLS),通过DCLS诊断系统是否出现故障或错误,以向用户进行告警实现系统的安全性,但是实施双核锁步技术需要使用两个独立的处理器核心以及更多的硬件资源来实现冗余备份和同步执行,花费的成本较高。

发明内容

本公开实施例旨在解决现有的功能安全测试方法硬件资源需求大,成本较高的问题。所述技术方案如下:

第一方面,本公开提供了一种功能测试方法,应用于待测试的功能模块,包括:

将中断请求发送至系统处理器;中断请求包括待测试的目标功能;

接收系统处理器中的软件测试库针对中断请求发送的测试命令;测试命令包括测试数据和测试序列;

基于测试数据运行测试序列以对目标功能进行测试,获取测试结果,并将测试结果发送至系统处理器;软件测试库用于将测试结果与预设标准数据进行比较,获取比较结果;比较结果用于表征目标功能是否运行异常。

在第一方面的可选实施例中,将中断请求发送至系统处理器,基于如下任一种条件触发:

若检测到距离上一次发送中断请求的时间到达第一预设阈值,接收所述系统处理器发送的历史命令列表;若检测到所述历史命令列表不为空,则发送所述中断请求;历史命令列表包括上一次测试完成之后已运行的历史功能命令;

若检测到下一个功能命令的预测运行时长超过第二预设阈值,则发送中断请求。

在第一方面的可选实施例中,方法还包括:

若检测到距离上一次测试的时间大于预设的测试时间间隔,则发送中断提示至系统处理器;中断提示用于使系统处理器向用户发出检测超时警告。

在第一方面的可选实施例中,功能模块还包括控制模块和内核调度模块;系统处理器包括多个处理器内核;

基于测试数据运行测试序列以对目标功能进行测试之前,包括:

根据中断请求通过控制模块向内核调度模块发送内核调度指令,以使内核调度模块优先响应发送测试命令的处理器内核。

第二方面,本公开提供了一种功能测试方法,应用于系统处理器,包括:

接收功能模块发送的中断请求;中断请求包括待测试的目标功能;

通过软件测试库确定与目标功能对应的测试命令,并将测试命令发送至功能模块;测试命令包括测试数据和测试序列;

接收功能模块发送的测试结果;测试结果是功能模块基于测试数据运行测试序列得到的;

通过软件测试库将测试结果与预设标准数据进行比较,获取比较结果;比较结果用于表征目标功能是否运行异常。

在第二方面的可选实施例中,方法还包括:

当比较结果为存在运行异常,则生成目标功能对应的错误警告并发送给用户。

第三方面,本公开提供了一种功能测试系统,其特征在于,包括系统处理器和待测试的功能模块,系统处理器中包括软件测试库,其中,

系统处理器用于接收功能模块发送的中断请求;中断请求包括待测试的目标功能;

软件测试库用于针对中断请求确定并发送目标功能对应的测试命令至功能模块;

待测试的功能模块用于基于测试数据运行测试序列以对目标功能进行测试,获取测试结果,并将测试结果发送至系统处理器;

软件测试库用于将测试结果与预设标准数据进行比较,获取比较结果;比较结果用于表征目标功能是否运行异常。

第四方面,提供了一种功能测试装置,应用于待测试的功能模块,包括:

中断发送模块,用于将中断请求发送至系统处理器;中断请求包括待测试的目标功能;

命令接收模块,用于接收系统处理器中的软件测试库针对中断请求发送的测试命令;测试命令包括测试数据和测试序列;

测试模块,用于基于测试数据运行测试序列以对目标功能进行测试,获取测试结果,并将测试结果发送至系统处理器;软件测试库用于将测试结果与预设标准数据进行比较,获取比较结果;比较结果用于表征目标功能是否运行异常。

第五方面,提供了一种功能测试装置,应用于系统处理器,包括:

中断接收模块,用于接收功能模块发送的中断请求;中断请求包括待测试的目标功能;

命令发送模块,用于通过软件测试库确定与目标功能对应的测试命令,并将测试命令发送至功能模块;测试命令包括测试数据和测试序列;

结果接收模块,用于接收功能模块发送的测试结果;测试结果是功能模块基于测试数据运行测试序列得到的;

比较模块,用于通过软件测试库将测试结果与预设标准数据进行比较,获取比较结果;比较结果用于表征目标功能是否运行异常。

第六方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,处理器执行计算机程序以实现本公开第一方面和第二方面中任一项方法的步骤。

第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现本公开第一方面和第二方面中任一项所示的功能测试方法。

本公开实施例提供的技术方案带来的有益效果是:

本公开提供的功能测试方法,待测试的功能模块通过将中断请求发送至系统处理器,指示系统处理器中的软件测试库确定目标功能对应的测试命令,并返回到功能模块中,功能模块根据测试命令对目标功能进行测试获取测试结果,系统处理器通过软件测试库读取测试结果并与标准数据进行对比,获取比较结果,确定目标功能是否存在异常,使用本公开中的功能测试系统以及软件测试库进行功能测试,能够降低功能测试开发成本,快速完成功能测试,有效提升功能测试效率。

进一步的,本公开中对于目标功能进行测试的测试命令由软件测试库确定,测试结果和标准数据的比对也由软件测试库完成,由于软件测试库占用硬件资源少,部署需要的硬件面积很少,能够有效节约硬件资源,且软件测试库能够较为容易地进行更新,具有良好的可扩展性,适用于不同功能的测试。

附图说明

为了更清楚地说明本公开实施例中的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单地介绍。

图1为本公开实施例提供的一种功能测试方法的应用场景示意图;

图2为本公开实施例提供的一种应用于待测试的功能模块的功能测试方法的流程示意图;

图3为本公开实施例提供的一种功能测试方法中功能模块的架构示意图;

图4为本公开实施例提供的一种应用于系统处理器的功能测试方法的流程示意图;

图5为本公开实施例提供的一种功能测试系统的架构示意图;

图6为本公开实施例提供的一种功能测试方法的示例的流程示意图;

图7为本公开实施例提供的一种应用于待测试的功能模块的功能测试装置的结构示意图;

图8为本公开实施例提供的一种应用于系统处理器的功能测试装置的结构示意图;

图9为本公开实施例提供的一种功能测试方法适用的电子设备的结构示意图。

具体实施方式

下面结合本公开中的附图描述本公开的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本公开实施例的技术方案的示例性描述,对本公开实施例的技术方案不构成限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本公开实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作和组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。本公开使用的术语“或”、“和/或”、“包括以下至少一个”等可被解释为包括性的,或意味着任一个或任何组合。例如,“包括以下至少一个:A、B、C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”,再如,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”。

为了更好的说明和理解本公开实施例提供的方案,首先对本公开实施例中所涉及的一些相关的技术用语进行介绍:

软件测试库(Software Test Library,STL):是一种基于软件的安全机制,可以成为汽车、工业和其他需要运行应用程序且必须展示功能安全性的市场的安全相关设计的重要组件。

为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。

现有技术中,在进行功能安全测试的时候,往往使用的是双核锁步,也就是指对安全关键型的核心处理模块进行复制,在每一个时钟周期对双核的输出进行比较,在发生故障时输出错误标识信号,以供系统及时采取应对措施,但是此方法需要使用两个独立的处理器核心以及更多的硬件资源来实现冗余备份和同步执行,需要的芯片面积较大,成本较高。

针对相关技术中所存在的至少一个技术问题或需要改善的地方,本公开提出一种功能测试方法、装置、电子设备及计算机存储介质,该方案提供的功能测试方法,待测试的功能模块通过将中断请求发送至系统处理器,指示系统处理器中的软件测试库确定目标功能对应的测试命令,并返回到功能模块中,功能模块根据测试命令对目标功能进行测试获取测试结果,系统处理器通过软件测试库读取测试结果并与标准数据进行对比,获取比较结果,确定目标功能是否存在异常,使用本公开中的功能测试系统以及软件测试库进行功能测试,能够降低功能测试开发成本,快速完成功能测试,有效提升功能测试效率。

进一步的,本公开中对于目标功能进行测试的测试命令由软件测试库确定,测试结果和标准数据的比对也由软件测试库完成,由于软件测试库占用硬件资源少,部署需要的硬件面积很少,能够有效节约硬件资源,且软件测试库能够较为容易地进行更新,具有良好的可扩展性,适用于不同功能的测试。

下面通过对几个示例性实施方式的描述,对本公开实施例的技术方案以及本公开的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。

图1为本公开实施例提供的功能测试方法的应用场景示意图,其中,应用环境可以包括一个可以进行上述功能安全测试方法的终端101,终端101可以包括系统处理器和若干待测试功能模块,系统处理器中可以部署有软件测试库。

具体的,终端101中的待测试功能模块将中断请求发送至系统处理器,中断请求中包括待测试的目标功能,接收系统处理器中的软件测试库针对中断请求发送的测试命令,基于测试命令中的测试数据和测试序列对目标功能进行测试,获取测试结果并发送至系统处理器,通过软件测试库将该测试结果与预设标准数据进行比较,获取比较结果,根据比较结果确定目标功能是否运行异常,若发现异常,终端101可以生成告警信息以提示用户功能测试发现异常。

上述的应用场景只是一个示例,并不对本公开功能测试方法的应用场景进行限制。

本技术领域技术人员可以理解,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、笔记本电脑、数字广播接收器、MID(Mobile Internet Devices,移动互联网设备)、PDA(个人数字助理)、台式计算机、智能家电、车载终端(例如车载导航终端、车载电脑等)、智能音箱、智能手表等,终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,但并不局限于此。

服务器可以包括安装有能够处理数据库操作的服务器。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。本发明实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。具体也可基于实际应用场景需求确定,在此不作限定。

在一些可能的实施方式中,以执行主体为待测试的功能模块为例,本公开实施例提供了一种功能测试方法,如图2所示,可以包括如下步骤:

S201,将中断请求发送至系统处理器。

其中,中断请求包括待测试的目标功能。

在具体实施过程中,功能模块生成中断请求,将中断请求发送至系统处理器以获取对应的测试命令,如图3所示,控制模块生成并发送中断请求,中断请求用于提示系统处理器需要对目标功能进行测试,此时系统处理器可以停止向该功能模块发送命令行;中断请求可以包括多种中断类型,例如:周期中断、插入中断和超时中断,系统处理器可以根据接收到的中断请求的类型确定需要进行的步骤,例如,若中断类型为周期中断,则认为该功能需要进行测试,若中断类型为超时中断,则可以生成超时警告发送给用户。

S202,接收系统处理器中的软件测试库针对中断请求发送的测试命令。

其中,测试命令包括测试数据和测试序列。

具体的,系统处理器在接收到中断请求之后,可以通过查询中断源确定需要测试的功能模块,从而确定功能模块对应的测试命令。

在具体实施过程中,功能模块中可以包括控制架构,如图3所示,控制架构中包括命令解析器,控制模块和内核调度模块,其中,命令解析器可以获取系统处理器发送的测试命令,解析测试命令获取测试开始命令行和测试结束命令行,测试开始命令行和测试结束命令行解析可以发送到控制模块中,使得控制模块继续步骤,其中,测试开始命令行可以表示接下来发送的命令行皆是测试命令,测试结束命令行可以表示测试命令发送结束,也可以用于清空历史命令列表。

S203,基于测试数据运行测试序列以对目标功能进行测试,获取测试结果,并将测试结果发送至系统处理器。

其中,软件测试库用于将测试结果与预设标准数据进行比较,获取比较结果;比较结果用于表征目标功能是否运行异常。

其中,预设标准数据可以是使用第三方标准库预先计算出来的标准数据。

具体的,测试序列可以是预先设置好的,能够充分暴露问题的测试命令行,功能模块基于测试数据和测试序列进行测试,能够获取符合要求的测试结果,将该测试结果发送至系统处理器,以确定异常。

在具体实施过程中,对目标功能进行测试后,测试结果可以保存在预设的存储位置,当系统处理器需要获取测试结果进行比较时,系统处理器可以直接从功能模块的存储位置中获取测试结果。

在具体实施过程中,测试命令可以指示对应的功能模块对目标功能进行测试,测试命令中包括测试数据和测试时需要执行的测试序列,根据测试结果确定目标功能是否异常的步骤可以是所有能够确定测试结果和标准数据之间差异的方法,本方案中可以将测试结果与标准数据进行对比,获取差异信息,根据差异信息确定该目标功能是否出现异常。

在一些可能的实施方式中,上述S201中将中断请求发送至系统处理器,基于如下任一种条件触发:

(1)若检测到距离上一次发送中断请求的时间到达第一预设阈值,接收所述系统处理器发送的历史命令列表;若检测到所述历史命令列表不为空,则发送所述中断请求。

其中,历史命令列表包括从上一次测试完成之后已运行的历史功能命令。

具体的,功能模块中可以设置有对应的定时触发器,可以实时检测当前发送中断请求时刻的距离上一次发送中断请求时刻的间隔时间,若间隔时间到达第一预设阈值,等待功能模块的当前命令执行完毕,获取历史命令列表,判断历史命令列表是否为空,若历史命令列表不为空,则发送中断请求。

在具体实施过程中,系统处理器发送的命令包括:测试命令开始命令行、测试命令和测试命令结束命令行,其中,测试命令开始命令行和测试命令结束命令行用于表示测试命令的开始和结束。

在具体实施过程中,功能模块中可以包括控制架构,如图3所示,控制架构中包括命令解析器,控制模块和内核调度模块,其中,上述历史命令列表(即图中所示的激活命令列表)可以是解析命令行获取的,历史命令列表中记录相邻的功能测试之间,系统处理器所发送的命令,此处的命令包括功能命令,若当前间隔时间满足第一预设阈值并且该历史命令列表不为空,则发送中断请求(即图中所示的周期中断)。

(2)若检测到下一个功能命令的预测运行时长超过第二预设阈值,则发送中断请求。

具体的,系统处理器发送功能命令时,可以同时发送该功能命令的预测运行时长,当功能模块接收到对应的功能命令以及预测运行时长,将该运行时长与第二预设阈值进行比较,若预测运行时长超过第二预设阈值,则向系统处理器发送中断请求。

在具体实施过程中,预测运行时长可以是根据历史同类型命令获取的,也可以是编写该命令时就进行设置的,进一步的,在系统信息配置过程中,可以通过调整命令的运行时间,调整配置,使得相邻测试的时间间隔不会超过故障检测时间间隔,调整后得到长命令运行时间阈值,即为上述的第二预设阈值;在对长命令运行时间阈值进行调整的步骤中,控制模块可以使用长命令超时中断来辅助校准。

在具体实施过程中,如图5所示,当功能模块包括对称加密功能模块、摘要生成功能模块和非对称加密功能模块时,进行长命令运行时间阈值校准的过程中,加密解密运算或消息摘要生成运算所使用的数据块大小,或非对称运算所适用的大数都可以作为判断下一个功能命令是否为长命令的依据,其中,大数是指非对称运算中超过计算机处理能力范围的整数。

在具体实施过程中,当检测到下一个功能命令的预测运行时长超过第二预设阈值时,可以通过预设的长命令指示器进行提示,如图3所示,功能模块中可以包括控制架构,控制架构中包括命令解析器和控制模块,其中,可以基于命令解析器解析命令行以获取长命令指示器,当确定下一条功能命令的预测运行时长超过第二预设阈值,通过长命令指示器发出长命令提示,以指示功能模块向系统处理器发送中断请求(即图中所示的插入中断),使得功能测试能够在长命令执行之前进行,避免相邻的功能测试的时间超过故障检测时间间隔。需要注意的是,长命令指示器并不是每接收到一条命令时,就解析获得,在本方案中,只需要保证包含有长命令指示器的命令在发送长命令之前发送,防止时间超过故障检测时间间隔的要求即可。

在一些可能的实施方式中,上述方法还包括:

(1)若检测到距离上一次测试的时间大于预设的测试时间间隔,则发送中断提示至系统处理器;中断提示用于使系统处理器向用户发出检测超时警告。

在具体实施过程中,功能模块中可以包括控制架构,如图3所示,控制架构中包括命令解析器,控制模块和内核调度模块,具体的,控制模块会实时监控当前时间距离上一次测试的时间,若检测到距离上一次测试的时间大于预设的测试时间间隔,则发送中断提示(即图3中所示的超时中断)至系统处理器。

在具体实施过程中,控制模块会监控相邻的测试命令运行时间间隔,如果时间间隔超过了软件配置的故障检测时间间隔,控制模块向系统控制模块发送超时中断,当系统控制模块接收到来自控制模块的超时中断时,及时向用户发出警报。

在一些可能的实施方式中,上述功能模块还包括控制模块和内核调度模块;系统处理器包括多个处理器内核;

基于测试数据运行测试序列以对目标功能进行测试之前,包括:

(1)根据中断请求通过控制模块向内核调度模块发送内核调度指令,以使内核调度模块优先响应发送测试命令的处理器内核。

具体的,如图3所示,控制架构中包括控制模块(即图中所示的控制器)和内核调度模块(即图中所示的主机仲裁器),当控制模块发送中断请求至系统管理器,控制模块可以向内核调度模块发送指示信息,以使内核调度模块优先响应发送测试命令的处理器内核。

在具体实施过程中,系统处理器可以包括多个处理器内核,在本公开中,系统中的处理器内核会向功能模块发送测试序列,因为中断请求是由控制模块发出的,它知道接下来要运行测试序列,所以它会通知内核调度模块优先响应和服务发送该测试序列的处理器内核。

在一些可能的实施方式中,以执行主体为系统处理器为例,本公开实施例提供了一种功能测试方法,如图4所示,可以包括如下步骤:

S401,接收功能模块发送的中断请求。

其中,中断请求包括待测试的目标功能。

具体的,系统处理器可以根据接收到的中断请求,查询对应的中断源,确定需要进行测试的功能模块,以及对应的目标功能,确定出目标功能之后,根据系统处理器中的软件测试库确定目标功能对应的测试命令。

S402,通过软件测试库确定与目标功能对应的测试命令,并将测试命令发送至功能模块。

其中,测试命令包括测试数据和测试序列。

具体的,软件测试库中预先存储有多种功能对应的测试信息,包括测试命令、测试数据、测试序列和预先计算得到的标准数据,其中,标准数据是使用第三方标准库预先计算出来的,计算过程中使用的测试数据和测试序列,在向功能模块发送测试命令时一同发送,这样能够使得测试获得的测试结果与软件测试库中的标准数据基于相同的测试数据和测试序列获得的,能够提高测试结果的准确度。

具体实施过程中,测试命令可以包括测试开始命令行和测试结束命令行,也就是说,测试命令可以是一次性发完的,也可以是以预设的条数依次发送的,上述测试开始命令行可以表示接下来发送的命令行皆是测试命令,测试结束命令行可以表示测试命令发送结束。

S403,接收功能模块发送的测试结果。

其中,测试结果是功能模块基于测试数据运行测试序列得到的。

具体的,测试结果是基于系统控制器发送的测试数据测试得到的,标准数据也是根据同样的测试数据测试得到的,测试序列可以是预先设置好的,能够充分暴露问题的测试命令行,所以在获取测试结果后,可以初步确定测试结果是否存在形式上的简单错误,之后再将测试结果与标准数据进行比较获取更加详细的异常结果。

S404,通过软件测试库将测试结果与预设标准数据进行比较,获取比较结果。

其中,比较结果用于表征目标功能是否运行异常。

具体的,将测试结果与预设的标准数据进行比较,能够快速获得测试结果相对于标准数据存在差异的地方,在获取异常信息之后,可以向用户发送运行异常提示,也可以结合各种工具,例如可视化工具,将发生异常的地方直观的展示给用户,提升用户体验。

在具体实施过程中,在确定异常时,可以结合历史异常数据或者日志摘要,进行异常定位以及提供预选解决方案,给用户更多选择,提升系统可用性。

在一些可能的实施方式中,上述功能测试方法还包括:

(1)当比较结果为存在运行异常,则生成目标功能对应的错误警告并发送给用户。

具体的,当比较结果为存在运行异常,可以生成错误警告信息发送给用户,也可以获取具体的异常信息,在向用户发送运行异常提示时,结合各种工具,例如可视化工具,将发生的异常直观的展示给用户,并尽可能的提供针对异常的解决方案,有效提升用户体验。

上述实施例中,待测试的功能模块通过将中断请求发送至系统处理器,指示系统处理器中的软件测试库确定目标功能对应的测试命令,并返回到功能模块中,功能模块根据测试命令对目标功能进行测试获取测试结果,系统处理器通过软件测试库读取测试结果并与标准数据进行对比,获取比较结果,确定目标功能是否存在异常,使用本公开中的功能测试系统以及软件测试库进行功能测试,能够降低功能测试开发成本,快速完成功能测试,有效提升功能测试效率。

进一步的,本公开中对于目标功能进行测试的测试命令由软件测试库确定,测试结果和标准数据的比对也由软件测试库完成,由于软件测试库占用硬件资源少,部署需要的硬件面积很少,能够有效节约硬件资源,且软件测试库能够较为容易地进行更新,具有良好的可扩展性,适用于不同功能的测试。

在一个示例中,本公开的功能测试系统,如图5所示,包括系统处理器和待测试的功能模块,系统处理器中包括软件测试库,其中,

系统处理器用于接收功能模块发送的中断请求;中断请求包括待测试的目标功能;

软件测试库用于针对中断请求确定并发送目标功能对应的测试命令至功能模块;

待测试的功能模块用于基于测试数据运行测试序列以对目标功能进行测试,获取测试结果,并将测试结果发送至系统处理器;

软件测试库用于将测试结果与预设标准数据进行比较,获取比较结果;比较结果用于表征目标功能是否运行异常。

具体的,系统处理器包括软件测试库以及一些相关组件,系统处理器用于接收功能模块发送的中断请求,并将软件测试库获取的测试命令发送至功能模块,并接收功能模块返回的测试结果。

具体的,软件测试库接收到中断请求,便可以及时地获取中断请求对应的测试相关信息,发送测试命令,在接收到测试结果后,可以进行比对以确定该功能是否运行异常。

具体的,一个系统中的功能模块可以有多个,多个功能模块可以集成在一个模块中,每个功能模块中包括对应的控制架构,例如,图5中所示的密码运算加速模块,该模块用于加速该模块中各个功能模块的运行或测试速率,能够加速功能测试的过程,提高测试效率,图中的功能模块包括:直接访问内存功能模块、对称加密功能模块、摘要生成功能模块和非对称加密功能模块,各个功能模块中包括实现功能测试的控制架构,其中对称加密功能模块、摘要生成功能模块和非对称加密功能模块是使用上述测试过程进行测试,而由于直接访问内存功能模块的功能是为其他功能模块搬运数据的,所以是在其余各个功能模块进行测试的时候就可以检测是否异常。

在具体实施过程中,本方案并不限于图中所展示的密码运算的相关功能,也可以应用于其它可以使用软件测试库进行测试的功能,对于不同的功能,可以修改软件测试库以满足不同功能的测试,具体的功能可以根据实际需求确定。

具体的,图中所示的架构还包括寄存器模块和计时器模块,寄存器模块是用户存储软件配置信息的,比如故障检测间隔时间超时配置,长命令运行时间配置,在具体实施过程中,在图中的对称加密功能模块、摘要生成功能模块和非对称加密功能模块的控制架构中也有存储模块,其中存储有上述激活命令列表;各个功能模块可以有其对应的计时器模块,用于监测对应模块的时间相关信息。

在一个示例中,本公开的功能测试方法,如图6所示,可以包括:

待测试的功能模块将中断请求发送至系统处理器,中断请求包括待测试的目标功能;

其中,中断请求基于如下任一种条件触发:

若检测到距离上一次发送中断请求的时间到达第一预设阈值,功能模块接收系统处理器发送的命令,根据控制架构中的命令解析器,解析获得历史命令列表;等待当前的命令执行完毕,获取历史命令列表,若检测到历史命令列表不为空,则发送中断请求;

若检测到下一个功能命令的预测运行时长超过了预设的第二预设阈值,则发送中断请求;

系统处理器中的软件测试库接收到中断请求,确定对应的测试命令,将测试命令发送给功能模块,测试命令中包括测试数据和测试序列;

功能模块接收到测试命令,根据中断请求通过控制架构中的控制模块向内核调度模块发送内核调度指令,以使内核调度模块优先响应发送测试命令的内核;

功能模块基于测试数据运行测试序列以对目标功能进行测试,获取测试结果;

系统处理器获取测试结果,使用软件测试库将测试结果与预设标准数据进行比较,获取比较结果;

软件测试库分析该比较结果,确定对应的目标功能是否运行异常,若存在异常,则生成目标功能对应的错误警告并发送给用户。

另外,若检测到距离上一次测试的时间大于预设的测试时间间隔,则发送中断提示至系统处理器,系统处理器接收到中断提示向用户发出检测超时警告。

上述功能测试方法,待测试的功能模块通过将中断请求发送至系统处理器,指示系统处理器中的软件测试库确定目标功能对应的测试命令,并返回到功能模块中,功能模块根据测试命令对目标功能进行测试获取测试结果,系统处理器通过软件测试库读取测试结果并与标准数据进行对比,获取比较结果,确定目标功能是否存在异常,使用本公开中的功能测试系统以及软件测试库进行功能测试,能够降低功能测试开发成本,快速完成功能测试,有效提升功能测试效率。

进一步的,本公开中对于目标功能进行测试的测试命令由软件测试库确定,测试结果和标准数据的比对也由软件测试库完成,由于软件测试库占用硬件资源少,部署需要的硬件面积很少,能够有效节约硬件资源,且软件测试库能够较为容易地进行更新,具有良好的可扩展性,适用于不同功能的测试。

本公开实施例提供了一种功能测试装置,如图7所示,该装置70可以包括:中断发送模块701、命令接收模块702以及测试模块703,其中,

中断发送模块701,用于将中断请求发送至系统处理器;中断请求包括待测试的目标功能;

命令接收模块702,用于接收系统处理器中的软件测试库针对中断请求发送的测试命令;测试命令包括测试数据和测试序列;

测试模块703,用于基于测试数据运行测试序列以对目标功能进行测试,获取测试结果,并将测试结果发送至系统处理器;软件测试库用于将测试结果与预设标准数据进行比较,获取比较结果;比较结果用于表征目标功能是否运行异常。

本公开实施例提供了一种功能测试装置,如图8所示,该装置80可以包括:中断接收模块801、命令发送模块802、结果接收模块803以及比较模块804,其中,

中断接收模块801,用于接收功能模块发送的中断请求;中断请求包括待测试的目标功能;

命令发送模块802,用于通过软件测试库确定与目标功能对应的测试命令,并将测试命令发送至功能模块;测试命令包括测试数据和测试序列;

结果接收模块803,用于接收功能模块发送的测试结果;测试结果是功能模块基于测试数据运行测试序列得到的;

比较模块804,用于通过软件测试库将测试结果与预设标准数据进行比较,获取比较结果;比较结果用于表征目标功能是否运行异常。

本公开提供的功能测试装置,通过待测试的功能模块通过将中断请求发送至系统处理器,指示系统处理器中的软件测试库确定目标功能对应的测试命令,并返回到功能模块中,功能模块根据测试命令对目标功能进行测试获取测试结果,系统处理器通过软件测试库读取测试结果并与标准数据进行对比,获取比较结果,确定目标功能是否存在异常,使用本公开中的功能测试系统以及软件测试库进行功能测试,能够降低功能测试开发成本,快速完成功能测试,有效提升功能测试效率。

进一步的,本公开中对于目标功能进行测试的测试命令由软件测试库确定,测试结果和标准数据的比对也由软件测试库完成,由于软件测试库占用硬件资源少,部署需要的硬件面积很少,能够有效节约硬件资源,且软件测试库能够较为容易地进行更新,具有良好的可扩展性,适用于不同功能的测试。

本公开实施例的装置可执行本公开实施例所提供的方法,其实现原理相类似,且具有相应的技术效果。本公开各实施例的装置中的各模块所执行的动作是与本公开各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。

本公开实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现功能测试方法的步骤,与相关技术相比可实现:结合软件测试库使用较低的硬件成本完成功能测试。

在一个可选实施例中提供了一种电子设备,如图9所示,图9所示的电子设备9000包括:处理器9001和存储器9003。其中,处理器9001和存储器9003相连,如通过总线9002相连。可选地,电子设备9000还可以包括收发器9004,收发器9004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器9004不限于一个,该电子设备9000的结构并不构成对本公开实施例的限定。

处理器9001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本公开公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器9001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

总线9002可包括一通路,在上述组件之间传送信息。总线9002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线9002可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器9003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。

存储器9003用于存储执行本公开实施例的计算机程序,并由处理器9001来控制执行。处理器9001用于执行存储器9003中存储的计算机程序,以实现前述方法实施例所示的步骤。

其中,电子设备包括但不限于:能应用上述功能测试方法的终端和服务器。

本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。

本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除图示或文字描述以外的顺序实施。

应该理解的是,虽然本公开实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本公开实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本公开实施例对此不限制。

以上所述仅是本公开部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开的方案技术构思的前提下,采用基于本公开技术思想的其他类似实施手段,同样属于本公开实施例的保护范畴。

相关技术
  • Monkey测试方法、装置、电子设备及计算机可读存储介质
  • Monkey测试方法、装置、电子设备及计算机可读存储介质
  • 测试方法、装置、电子设备及计算机可读取存储介质
  • 点播分发系统压力测试方法及装置、计算机装置及计算机存储介质
  • 保险产品的测试方法及装置、存储介质及电子设备
  • 存储器测试方法、装置、计算机可读存储介质及电子设备
  • 功能测试方法、功能测试装置及计算机可读存储介质
技术分类

06120116583311