发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于测试框架***的测试方法,该方法为用户提供了多种测试环境,使得用户可根据需求自由选择测试环境,方便了用户在同一个测试框架下完成在多种测试环境下的测试,方便了测试人员进行测试,提高了测试效率。
本发明的第二目的在于提出一种基于测试框架***的测试装置。
本发明的第三目的在于提出一种测试框架***。
为实现上述目的,本发明第一方面实施例提出了一种测试框架***的测试方法,包括以下步骤:为用户提供多种测试环境,根据所述用户的操作确定目标测试环境;接收所述用户编写的测试代码;基于所述目标测试环境对所述测试代码进行编译,并生成与所述目标测试环境相关的测试文件;在所述目标测试环境中运行所述测试文件,并生成测试结果;以及为所述用户提供测试结果。
根据本发明实施例的基于测试框架***的测试方法,首先为用户提供多种测试环境,根据用户的操作确定目标测试环境,然后接收用户编写的测试代码,并基于目标测试环境对测试代码进行编译,以及生成与目标测试环境相关的测试文件,而后在目标测试环境中运行测试文件,并生成测试结果,最后为用户提供测试结果。由此,为用户提供了多种测试环境,使得用户可根据需求自由选择测试环境,方便了用户在同一个测试框架下完成在多种测试环境下的测试,方便了测试人员进行测试,提高了测试效率。
另外,根据本发明上述基于测试框架***的测试方法还可以具有如下附加的技术特征:
在本发明的一个实施例中,所述为用户提供多种测试环境,根据所述用户的操作确定目标测试环境,包括:提供第一图形化配置界面,其中,所述第一图形化配置界面中包含多种测试环境;接收所述用户在所述第一图形化配置界面中输入的选择指令;将所述用户选择的测试环境作为所述目标测试环境。
在本发明的一个实施例中,所述为用户提供多种测试环境,根据所述用户的操作确定目标测试环境,包括:提供第二图形化配置界面,其中,所述第二图形化配置界面包括初始测试环境;当监控到用户未选择所述第二图形化配置界面中的所述初始测试环境时,提供第三图形化配置界面;接收所述用户在第三图形化配置界面中配置的测试环境参数信息;根据所述测试环境参数信息确定所述目标测试环境。
在本发明的一个实施例中,所述基于所述目标测试环境对所述测试代码进行编译,并生成与所述目标测试环境相关的测试文件,包括:接收所述用户输入的编译指令;根据所述编译指令对所述测试代码进行编译;判断所述测试代码是否通过编译;如果所述测试代码通过编译,则生成与所述目标测试环境相匹配的测试文件。
在本发明的一个实施例中,所述在所述目标测试环境中运行所述测试文件,并生成测试结果,包括:接收所述用户执行所述测试文件的指令,并在所述目标测试环境下运行所述测试文件,以及生成测试结果。
在本发明的一个实施例中,上述基于测试框架***的测试方法还包括:如果所述测试代码未通过编译,则为所述用户提供提示信息,以使所述用户根据所述提示信息修改所述测试代码。
在本发明的一个实施例中,所述目标测试环境包括编译型模拟器VCS仿真测试环境、硬件加速器环境、现场可编程门阵列FPGA环境、模拟器环境和真实***晶片SOC环境。
为实现上述目的,本发明第二方面实施例提出了一种基于测试框架***的测试装置,包括:确定模块,用于为用户提供多种测试环境,根据所述用户的操作确定目标测试环境;接收模块,用于接收所述用户编写的测试代码;生成模块,用于基于所述目标测试环境对所述测试代码进行编译,并生成与所述目标测试环境相关的测试文件;测试模块,用于在所述目标测试环境中运行所述测试文件,并生成测试结果;以及提供模块,用于为所述用户提供测试结果。
根据本发明实施例的基于测试框架***的测试装置,首先确定模块为用户提供多种测试环境,根据用户的操作确定目标测试环境,然后接收模块接收用户编写的测试代码,然后生成模块基于目标测试环境对测试代码进行编译,并生成与目标测试环境相关的测试文件,而后测试模块在目标测试环境中运行测试文件,并生成测试结果,,最后提供模块为用户提供测试结果。由此,为用户提供了多种测试环境,使得用户可根据需求自由选择测试环境,方便了用户在同一个测试框架下完成在多种测试环境下的测试,方便了测试人员进行测试,提高了测试效率。
上述基于测试框架***的测试装置还可以具有如下附加的技术特征:
在本发明的一个实施例中,所述确定模块,具体用于:提供第一图形化配置界面,其中,所述第一图形化配置界面中包含多种测试环境;接收所述用户在所述第一图形化配置界面中输入的选择指令;将所述用户选择的测试环境作为所述目标测试环境。
在本发明的一个实施例中,所述确定模块,还用于:提供第二图形化配置界面,其中,所述第二图形化配置界面包括初始测试环境;当监控到用户未选择所述第二图形化配置界面中的所述初始测试环境时,提供第三图形化配置界面;接收所述用户在第三图形化配置界面中配置的测试环境参数信息;根据所述测试环境参数信息确定所述目标测试环境。
在本发明的一个实施例中,所述生成模块,具体用于:接收所述用户输入的编译指令;根据所述编译指令对所述测试代码进行编译;判断所述测试代码是否通过编译;如果所述测试代码通过编译,则生成与所述目标测试环境相匹配的测试文件。
在本发明的一个实施例中,所述测试模块,具体用于:接收所述用户执行所述测试文件的指令,并在所述目标测试环境下运行所述测试文件,以及生成测试结果。
在本发明的一个实施例中,所述生成模块,还用于:如果所述测试代码未通过编译,则为所述用户提供提示信息,以使所述用户根据所述提示信息修改所述测试代码。
在本发明的一个实施例中,所述目标测试环境包括编译型模拟器VCS仿真测试环境、硬件加速器环境、现场可编程门阵列FPGA环境、模拟器环境和真实***晶片SOC环境。
为了实现上述目的,本发明第三方面实施例提出了一种测试框架***包括:本发明第二方面实施例的基于测试框架***的测试装置。
根据本发明实施例的测试框架***,首先为用户提供多种测试环境,根据用户的操作确定目标测试环境,然后接收用户编写的测试代码,并基于目标测试环境对测试代码进行编译,以及生成与目标测试环境相关的测试文件,而后在目标测试环境中运行测试文件,并生成测试结果,最后为用户提供测试结果。由此,为用户提供了多种测试环境,使得用户可根据需求自由选择测试环境,方便了用户在同一个测试框架下完成在多种测试环境下的测试,方便了测试人员进行测试,提高了测试效率。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图来描述根据本发明实施例提出的基于测试框架***的测试方法、装置和测试框架***。
图1是根据本发明一个实施例的基于测试框架***的测试方法的流程图。
如图1所示,该基于测试框架***的测试方法包括以下步骤:
S1,为用户提供多种测试环境,根据用户的操作确定目标测试环境。
其中,上述目标测试环境可以包括但不限于编译型模拟器VCS仿真测试环境、硬件加速器环境、现场可编程门阵列FPGA(Field-Programmable Gate Array)环境、模拟器环境和真实***晶片SOC(System-on-a-chip)环境。
其中,需要理解的是,用户可以在Linux或Windows操作***中操作测试框架***确定目标测试环境。
例如,在Linux操作***中,为用户提供多种测试环境,如果接收到用户选择的测试环境为模拟器环境,则将用户选择的模拟器环境作为目标测试环境,并在需要运行测试时,初始化该测试环境,并运行目标测试环境。
其中,需要理解的是,上述目标测试环境可以是测试框架***预先提供的测试环境。
在本发明的一个实施例中,如图2所示,为用户提供多种测试环境,根据用户的操作确定目标测试环境的具体过程可包括:
S11,提供第一图形化配置界面,其中,第一图形化配置界面中包含多种测试环境。
具体地,测试框架***可提供第一图形化配置界面,用户可以通过鼠标和键盘进行简单操作输入测试环境的选择指令。
其中,需要理解的是,上述第一图形化配置界面,即是一种可视化操作界面。
S12,接收用户在第一图形化配置界面中输入的选择指令。
S13,将用户选择的测试环境作为目标测试环境。
例如,在Linux操作***中,用户可通过鼠标点击或键盘敲击打开测试框架***中的第一图形化配置界面,并可通过鼠标或键盘进行简单操作输入测试环境的选择指令,而后,测试框架***根据该测试环境的选择指令确定目标测试环境。
在本发明的另一个实施例中,如图3所示,为用户提供多种测试环境,根据用户的操作确定目标测试环境的具体过程还可包括:
S101,提供第二图形化配置界面,其中,第二图形化配置界面包括初始测试环境。
其中,需要理解的是,上述第二图形化配置界面,即是可视化操作界面。
S102,当监控到用户未选择第二图形化配置界面中的初始测试环境时,提供第三图形化配置界面。
另外,如果监控到用户选择第二图形化配置界面中的初始测试环境,则在需要运行测试时,运行该测试环境。
其中,需要理解的,上述第三图形化配置界面是用户根据需求自主配置测试环境参数信息的可视化操作界面。
在本发明的实施例中,用户可以通过鼠标和键盘将上述测试环境参数信息输入上述第三图形化配置界面,以便确定目标测试环境。
S103,接收用户在第三图形化配置界面中配置的测试环境参数信息。
S104,根据测试环境参数信息确定目标测试环境。
具体地,在用户使用测试框架***对芯片进行测试的过程中,在接收到用户的启动测试框架***时,可为用户提供一个包含初始测试环境的第二图形化配置界面,如果监控到用户选择初始测试环境的指令,则确定该初始测试环境为目标测试环境;如果监控到用户未选择初始测试环境,则可为用户提供第三图形化配置界面,此时,用户可在该第三图形化配置界面中手动配置目标测试环境的测试环境参数,在用户完成配置后,测试框架***将根据用户配置的测试环境参数确定目标测试环境。
例如,在Linux操作***中,用户可通过鼠标点击或键盘敲击打开测试框架***中的第二图形化配置界面,并可通过鼠标或键盘进行简单操作选择第二图形化配置界面中的初始测试环境,或者打开测试框架***中第三图形化配置界面根据需求自主配置测试环境参数信息,而后,测试框架***根据选择的第二图形化配置界面中的初始测试环境或者根据需求自主配置测试环境参数信息的第三图形化配置界面,确定目标测试环境。
S2,接收用户编写的测试代码。
具体地,在根据测试环境参数信息确定目标测试环境后,测试框架***可自动加载与目标测试环境对应的测试目录,以使得用户在测试目录中的相应的测试子目录中编写测试代码。
其中,需要理解的是,用户在同一个测试子目录中的测试可以一次进行编译,也就是说,测试目录中所有的测试均可以进行编译。
其中,上述测试代码的编程语言可以根据实际情况进行标定,例如,汇编编程语言、C编程语言、C++编程语言和C#编程语言等。
S3,基于目标测试环境对测试代码进行编译,并生成与目标测试环境相关的测试文件。
S4,在目标测试环境中运行测试文件,并生成测试结果。
其中,需要理解的是,上述编译测试代码的过程可为先编译测试框架部分,后编译测试代码部分。
基于目标测试环境对测试代码进行编译,并生成与目标测试环境相关的测试文件,以及在目标测试环境中运行测试文件,并生成测试结果的具体过程,如图4所示,可以包括:
S31,接收用户输入的编译指令。
S32,根据编译指令对测试代码进行编译。
S33,判断测试代码是否通过编译,如果是,则执行步骤S34,如果否,则执行步骤S36。
S34,生成与目标测试环境相匹配的测试文件。
S35,接收用户执行测试文件的指令,并在目标测试环境下运行测试文件,以及生成测试结果。
S36,为用户提供提示信息,以使用户根据提示信息修改测试代码。
具体地,当测试框架***接收到用户输入的编译指令时,首先编译测试框架部分,而后编译测试代码部分。
如果两部分都编译完成(通过编译),则根据测试环境的需求,链接成相应的可执行文件,然后转换成测试环境相关的测试文件,在目标环境中进行测试,并生成测试结果。
如果两部分在编译的过程中出现问题(未通过编译)例如,测试代码中存在语法错误,则为用户提供提示信息,以使用户根据提示信息修改测试代码。
其中,需要理解的是,根据目标测试环境的不同上述测试文件的类型可能也会有所不同。例如,当目标测试环境为现场可编程门阵列FPGA环境时,上述测试文件可为二进制文件。
S5,为用户提供测试结果。
具体地,当测试框架***完成本轮的测试后,可将本轮测试的结果以测试结果文件的形式提供给用户,以便用户根据测试结果审查被测芯片、设备或集成环境的逻辑是否满足预估的结果。
需要理解的是,在该目标测试环境下完成测试后,测试框架***还可以接收用户切换测试环境的指令,并根据用户的指令重新为用户提供多种测试环境,以使用户完成其他测试环境下的测试。也就是说,该测试框架***是一种支持多种测试环境的测试框架***,用户通过简单地操作即可完成各种不同测试环境的快速切换。
根据本发明实施例的基于测试框架***的测试方法,首先为用户提供多种测试环境,根据用户的操作确定目标测试环境,然后接收用户编写的测试代码,并基于目标测试环境对测试代码进行编译,以及生成与目标测试环境相关的测试文件,而后在目标测试环境中运行测试文件,并生成测试结果,最后为用户提供测试结果。由此,为用户提供了多种测试环境,使得用户可根据需求自由选择测试环境,方便了用户在同一个测试框架下完成在多种测试环境下的测试,方便了测试人员进行测试,提高了测试效率。
为了实现上述实施例,本发明还提出一种基于测试框架***的测试装置。
图5是根据本发明一个实施例的基于测试框架***的测试装置的方框示意图。
如图5所示,该基于测试框架***的测试装置包括确定模块100、接收模块200、生成模块300、测试模块400和提供模块500。
具体地,确定模块100用于为用户提供多种测试环境,根据用户的操作确定目标测试环境。
其中,上述目标测试环境可以包括但不限于编译型模拟器VCS仿真测试环境、硬件加速器环境、现场可编程门阵列FPGA(Field-Programmable Gate Array)环境、模拟器环境和真实***晶片SOC(System-on-a-chip)环境。
其中,需要理解的是,用户通过确定模块100可以在Linux或Windows操作***中操作测试框架***确定目标测试环境。
例如,在Linux操作***中,确定模块100为用户提供多种测试环境,如果接收到用户选择的测试环境为模拟器环境,则将用户选择的模拟器环境作为目标测试环境,并在需要运行测试时,初始化该测试环境,并运行目标测试环境。
其中,需要理解的是,上述目标测试环境可以是测试框架***预先提供的测试环境。
在本发明的一个实施例中,确定模块100具体用于:
提供第一图形化配置界面,其中,第一图形化配置界面中包含多种测试环境。
具体地,确定模块100可提供第一图形化配置界面,用户可以通过鼠标和键盘进行简单操作输入测试环境的选择指令。
其中,需要理解的是,上述第一图形化配置界面,即是一种可视化操作界面。
以及,接收用户在第一图形化配置界面中输入的选择指令,并将用户选择的测试环境作为目标测试环境。
例如,在Linux操作***中,用户可通过鼠标点击或键盘敲击打开确定模块100中的第一图形化配置界面,并可通过鼠标或键盘进行简单操作输入测试环境的选择指令,而后,确定模块100根据该测试环境的选择指令确定目标测试环境。
在本发明的另一个实施例中,确定模块100还用于:
提供第二图形化配置界面,其中,第二图形化配置界面包括初始测试环境。
其中,需要理解的是,上述第二图形化配置界面,即是一种可视化操作界面。
并且,当监控到用户未选择第二图形化配置界面中的初始测试环境时,提供第三图形化配置界面。
另外,如果监控到用户选择第二图形化配置界面中的初始测试环境,则在需要运行测试时,运行该测试环境。
其中,需要理解的,上述第三图形化配置界面是用户根据需求自主配置测试环境参数信息的可视化操作界面。
在本发明的实施例中,用户可以通过鼠标和键盘将上述测试环境参数信息输入上述第三图形化配置界面,以便确定目标测试环境。
以及,接收用户在第三图形化配置界面中配置的测试环境参数信息,并根据测试环境参数信息确定目标测试环境。
具体地,在用户使用测试框架***对芯片进行测试的过程中,确定模块100在接收到用户的启动测试框架***时,可为用户提供一个包含初始测试环境的第二图形化配置界面,如果监控到用户选择初始测试环境的指令,则确定该初始测试环境为目标测试环境;如果监控到用户未选择初始测试环境,则可为用户提供第三图形化配置界面,此时,用户可在该第三图形化配置界面中手动配置目标测试环境的测试环境参数,在用户完成配置后,测试框架***将根据用户配置的测试环境参数确定目标测试环境。
例如,在Linux操作***中,用户可通过鼠标点击或键盘敲击打开确定模块100中的第二图形化配置界面,并可通过鼠标或键盘进行简单操作选择第二图形化配置界面中的初始测试环境,或者打开确定模块100中第三图形化配置界面根据需求自主配置测试环境参数信息,而后,确定模块100根据选择的第二图形化配置界面中的初始测试环境或者根据需求自主配置测试环境参数信息的第三图形化配置界面,确定目标测试环境。
接收模块200用于接收用户编写的测试代码。
具体地,确定模块100在根据测试环境参数信息确定目标测试环境后,接收模块200可自动加载与目标测试环境对应的测试目录,以使得用户在测试目录中的相应的测试子目录中编写测试代码。
其中,需要理解的是,用户在同一个测试子目录中的测试可以一次进行编译,也就是说,测试目录中所有的测试均可以进行编译。
其中,上述测试代码的编程语言可以根据实际情况进行标定,例如,汇编编程语言、C编程语言、C++编程语言和C#编程语言等。
生成模块300用于基于目标测试环境对测试代码进行编译,并生成与目标测试环境相关的测试文件。
测试模块400用于在目标测试环境中运行测试文件,并生成测试结果。
其中,需要理解的是,上述编译测试代码的过程可为先编译测试框架部分,后编译测试代码部分。
在本发明的一个实施例中,生成模块300具体用于接收用户输入的编译指令,并根据编译指令对测试代码进行编译,而后判断测试代码是否通过编译。如果测试代码通过编译,则生成与目标测试环境相匹配的测试文件。
如果测试代码未通过编译,则为用户提供提示信息,以使用户根据提示信息修改测试代码。
具体地,当生成模块300接收到用户输入的编译指令时,首先编译测试框架部分,而后编译测试代码部分。
如果两部分都编译完成(通过编译),则根据测试环境的需求,链接成相应的可执行文件,然后转换成测试环境相关的测试文件,而后,当测试模块400接收到用户执行测试文件的指令时,则在目标测试环境下运行测试文件,以及生成测试结果。
如果两部分在编译的过程中出现问题(未通过编译),例如,测试代码中存在语法错误,则为用户提供提示信息,以使用户根据提示信息修改测试代码。
其中,需要理解的是,根据目标测试环境的不同上述测试文件的类型可能也会有所不同。例如,当目标测试环境为现场可编程门阵列FPGA环境时,上述测试文件可为二进制文件。
在本发明的另一个实施例中,测试模块400具体用于接收用户执行测试文件的指令,并在目标测试环境下运行测试文件,以及生成测试结果。
具体地,当测试模块400接收到用户执行测试文件的指令时,则在目标测试环境下运行测试文件,并生成测试结果,以便用户获取本轮测试的测试结果。
提供模块500用于为用户提供测试结果。
具体地,当完成本轮的测试后,提供模块500可将本轮测试的结果以测试结果文件的形式提供给用户,以便用户根据测试结果审查被测芯片、设备或集成环境的逻辑是否满足预估的结果。
需要理解的是,在该目标测试环境下完成测试后,测试框架***还可以接收用户切换测试环境的指令,并根据用户的指令重新为用户提供多种测试环境,以使用户完成其他测试环境下的测试。也就是说,该测试框架***是一种支持多种测试环境的测试框架***,用户通过简单地操作即可完成各种不同测试环境的快速切换。
根据本发明实施例的基于测试框架***的测试装置,首先确定模块为用户提供多种测试环境,根据用户的操作确定目标测试环境,然后接收模块接收用户编写的测试代码,然后生成模块基于目标测试环境对测试代码进行编译,并生成与目标测试环境相关的测试文件,而后测试模块在目标测试环境中运行测试文件,并生成测试结果,最后提供模块为用户提供测试结果。由此,为用户提供了多种测试环境,使得用户可根据需求自由选择测试环境,方便了用户在同一个测试框架下完成在多种测试环境下的测试,方便了测试人员进行测试,提高了测试效率。
为了实现上述实施例,本发明还提出一种测试框架***。
本发明实施例的测试框架***包括本发明上述任一实施例的基于测试框架***的测试装置。
根据本发明实施例的测试框架***,首先为用户提供多种测试环境,根据用户的操作确定目标测试环境,然后接收用户编写的测试代码,并基于目标测试环境对测试代码进行编译,以及生成与目标测试环境相关的测试文件,而后在目标测试环境中运行测试文件,并生成测试结果,最后为用户提供测试结果。由此,为用户提供了多种测试环境,使得用户可根据需求自由选择测试环境,方便了用户在同一个测试框架下完成在多种测试环境下的测试,方便了测试人员进行测试,提高了测试效率。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。