一种操作系统的测试方法、装置、设备、系统和介质与流程

文档序号:17160311发布日期:2019-03-20 00:36阅读:150来源:国知局
一种操作系统的测试方法、装置、设备、系统和介质与流程

本发明实施例涉及计算机系统测试技术,尤其涉及一种操作系统的测试方法、装置、设备、系统和介质。



背景技术:

通常情况下的软件测试,测试人员需要首先设计合理的测试用例,按照预定测试计划流程,实现基于测试用例的软件测试并得到测试结果,最后与预期结果进行比对,形成软件测试结论。

目前嵌入式软件自动化黑盒测试主要使用仿真测试环境,即嵌入式软件运行在宿主机的非真实硬件环境当中,通过仿真设备代替真实的硬件环境。与一般的嵌入式软件不同,操作系统作为应用软件的运行环境,重要功能之一就是管理cpu、内存、外设等硬件资源,因此在进行操作系统黑盒测试时,测试环境应使用真实的硬件环境。工业服务器操作系统在进行黑盒测试时,除了紧密依赖硬件环境外,还跟具体的应用分区配置相关,目前的嵌入式软件自动化测试环境还未能提供很好的支持。



技术实现要素:

本发明实施例提供一种操作系统的测试方法、装置、设备、系统和介质,以实现对操作系统的自动化高效测试。

第一方面,本发明实施例提供了操作系统的测试方法,包括:

宿主机根据用户选择的操作系统待测组件,在配置文件中查找所述操作系统待测组件对应的测试用例和开发环境在数据库服务器中的存储路径,根据所述存储路径从所述数据库服务器获取所述测试用例和所述开发环境;其中,所述配置文件保存每类操作系统组件对应的测试用例在数据库服务器中的存储路径;

所述宿主机基于所述开发环境和所述测试用例构建所述测试用例的可执行文件;

所述宿主机将所述测试用例的可执行文件下发至目标机,接收所述目标机反馈的测试结果。

第二方面,本发明实施例提供了一种操作系统的测试装置,配置于宿主机中,所述装置包括:

测试用例获取模块,用于根据用户选择的操作系统待测组件,在配置文件中查找所述操作系统待测组件对应的测试用例和开发环境在数据库服务器中的存储路径,根据所述存储路径从所述数据库服务器获取所述测试用例和所述开发环境;其中,所述配置文件保存每类操作系统组件对应的测试用例在数据库服务器中的存储路径;

可执行文件确定模块,用于基于所述开发环境和所述测试用例构建所述测试用例的可执行文件;

可执行文件下发模块,用于将所述测试用例的可执行文件下发至目标机,接收所述目标机反馈的测试结果。

第三方面,本发明实施例提供了一种电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的操作系统的测试方法。

第四方面,本发明实施例提供了操作系统的测试,包括宿主机和数据库服务器;其中,所述数据库服务器用于存储测试用例;所述宿主机采用第五方面所述的电子设备。

第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的操作系统的测试方法。

本发明实施例提供了一种操作系统的测试方法、装置、设备、系统和介质,宿主机通过用户选择的操作系统待测组件,从数据库服务器获取对应的测试用例和开发环境,宿主机再基于对应的开发环境和测试用例构建测试用例的可执行文件,并将测试用例的可执行文件下发至目标机,接收目标机反馈的测试结果,解决了现有技术中,嵌入式软件测试仅依赖宿主机的非真实硬件环境,没有真实硬件环境支持,且自动化程度较差的问题,实现了提高测试操作系统的测试效率以及自动化程度的效果。

附图说明

图1是本发明实施例一提供的一种操作系统的测试方法的流程图;

图2是本发明实施例二提供的一种操作系统的测试方法的流程图;

图3是本发明实施例三提供的一种操作系统的测试方法的流程图;

图4是本发明实施例四提供的一种操作系统的测试装置的结构示意图;

图5是本发明实施例五提供的一种电子设备的结构示意图;

图6a是本发明实施例六提供的一种操作系统的测试系统的结构示意图;

图6b是本发明实施例六提供的一种操作系统的测试系统的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种操作系统的测试方法的流程图,本实施例可适用于对操作系统进行测试的情况,典型的,该操作系统为服务器操作系统,该方法可以由本发明实施例提供的操作系统的测试装置来执行,该装置可采用软件和/或硬件的方式实现,一般可以集成在各种通用计算机设备中,并最终运用于本发明实施例提供的操作系统的测试系统中,如图1所示,本实施例的操作系统的测试方法具体包括如下步骤:

步骤110、宿主机根据用户选择的操作系统待测组件,在配置文件中查找操作系统待测组件对应的测试用例和开发环境在数据库服务器中的存储路径,根据存储路径从数据库服务器获取测试用例和开发环境;其中,配置文件保存每类操作系统组件对应的测试用例在数据库服务器中的存储路径。

其中,操作系统待测组件是用户根据测试需求从操作系统组件中选择的测试组件,操作系统待测组件包含但不限于文件系统、网络协议栈以及内核;配置文件是存储于宿主机本地的,用于保存每类操作系统组件对应的测试用例在数据库服务器中的存储路径的文件;本实施例中操作系统组件对应的测试用例包括目标机中至少两个应用分区的配置信息,该配置信息包含但不限于进程信息,线程信息以及存储空间信息,目标机的至少两个应用分区为服务器操作系统包括的至少两个实时操作系统,针对一次测试需求,测试用例的数量至少为两个;开发环境是与测试用例对应的,用于编译测试用例的源文件,生成可执行文件的环境,例如,当测试用例的源文件后缀为“.c”时,与该测试用例对应的开发环境为c语言编译环境,利用c语言编译环境可将后缀为“.c”的源文件编译为后缀为“.exe”的可执行文件。

在本实施例中,宿主机根据用户选择的操作系统待测组件以及本地配置文件信息,调度数据库服务器中对应的测试用例和开发环境,该过程中,宿主机通过以太网与数据库服务器进行通信交互。

在数据库服务器中,仅存储测试用例以及测试环境,而不存储具体的可执行文件,这样设置可以减少存储过程中的对应关系,从而便于对数据库服务器的维护与扩展。

在一个具体的例子中,用户选择的操作系统待测组件为文件系统,根据配置文件记录的信息,确定在数据库服务器中对应的测试用例有10个,其中,有7个测试用例需要在c开发环境下编译,有7个测试用例需要在java开发环境下编译,则宿主机获取这10个测试用例,以及对应的c开发环境和java开发环境。

步骤120、宿主机基于开发环境和测试用例构建测试用例的可执行文件。

在本实施例中,宿主机根据待执行的测试用例,确定用例构建任务,并根据从数据服务器下载的至少一个测试用例和开发环境,构建至少一个测试用例的可执行文件,并将生成的测试用例的可执行文件存储在指定的目录下。

这样设置的原因是:由于文件编译过程中可能产生一些不会随着文件编译结束而销毁的数据,这些数据可能会影响其他测试用例,例如,被添加到其他测试用例的源文件中,所以将可执行文件在宿主机本地构建,而非在数据库服务器端构建,可以保证数据库服务器端数据的纯净性。

步骤130、宿主机将测试用例的可执行文件下发至目标机,接收目标机反馈的测试结果。

其中,目标机中包含测试操作系统的真实硬件环境,测试用例的可执行文件在目标机内运行时,可以调用目标机内的硬件资源,达到真实有效测试的目的。

在本实施例中,宿主机通过以太网和串口与目标机进行通信交互,宿主机将测试用例的可执行文件下发至目标机,该可执行文件在目标机中运行,宿主机从目标机的串口逐条获取测试过程信息,作为测试结果。

在本实施例中,测试用例中设置有测试过程输出代码,测试过程输出代码包括串口打印语句,用于在被执行时,如果执行过程参数符合代码设定条件,则从串口输出过程结果信息,例如,设置如下测试过程输出代码,当满足测试通过条件时,打印测试成功标识以及测试用例名称,当不满足测试通过条件时,打印测试失败标识以及测试用例名称。

if(判断测试通过的条件)

{

printf(“***testpass***%s”,casename);

}

else

{

printf(“***testfail***%s”,casename);

}

本发明实施例提供了一种操作系统的测试方法,宿主机通过用户选择的操作系统待测组件,从数据库服务器获取对应的测试用例和开发环境,宿主机再基于对应的开发环境和测试用例构建测试用例的可执行文件,并将测试用例的可执行文件下发至目标机,接收目标机反馈的测试结果,解决了现有技术中,嵌入式软件测试仅依赖宿主机的非真实硬件环境,没有真实硬件环境支持,且自动化程度较差的问题,实现了提高测试操作系统的测试效率以及自动化程度的效果。

可选的,在宿主机根据存储路径从数据库服务器获取测试用例和开发环境之后,还包括:

宿主机通过人机交互界面向用户提供从数据库服务器获取的所有测试用例的数量和每个测试用例的名称;

宿主机通过人机交互界面接收用户选择的本次测试指定的测试用例。

其中,人机交互界面可以是被调用的其他应用的交互界面,例如,通过调用网页端口,使用浏览器的交互界面作为本可选技术方案中的人机交互界面,也可以是开发人员直接设计的交互界面,例如,使用vb(visualbasic,基于对象的程序设计语言)加载不同的控件,设计出的人机交互界面。

在本可选的技术方案中,宿主机通过人机交互界面向用户展示与测试需求匹配的所有可用的测试用例的数量和每个测试用例的名称,用户根据实际作业需求进一步选取本次测试指定的测试用例。

这样设置的好处是:由于软件测试可以分为多个阶段,一般包括:单元测试、集成测试、系统测试、功能测试、性能测试以及压力测试等,在每一测试阶段,都会有不同的测试用例,而且,针对一个具体的操作系统组件,由于其功能不单一,例如,操作系统的内核主要用于管理存储器、文件、外设和系统资源,所有对应的功能测试用例也是多样的,本可选的技术方案利用人机交互界面,向用户提供了所有可选的测试用例,使用户可以有针对性的选取需要执行的测试用例,一方面节约了测试资源,另一方面提高了测试效率。

在一个具体的例子中,本次测试需求为测试操作系统内核调度系统资源的性能,宿主机通过人机交互界面向用户提供从数据库服务器获取的所有与内核测试有关的测试用例,列举出其数量以及对应测试用例的名称,首先,用户可以根据测试阶段,选取其中涉及性能测试的测试用例,再根据测试用例实现的具体功能,选取其中与调度系统资源有关的测试用例。

本可选的技术方案,提供了用户选取本次测试指定的测试用例的方法,既节约了测试成本又提高了测试效率。

实施例二

图2为本发明实施例二提供的一种操作系统的测试方法的流程图,本实施例在上一实施例的基础上进一步细化,提供了宿主机将测试用例的可执行文件下发至目标机的具体实施步骤。下面结合图2对本发明实施例二提供的一种操作系统的测试方法进行说明,包括以下步骤:

步骤210、宿主机根据用户选择的操作系统待测组件,在配置文件中查找操作系统待测组件对应的测试用例和开发环境在数据库服务器中的存储路径,根据存储路径从数据库服务器获取测试用例和开发环境;其中,配置文件保存每类操作系统组件对应的测试用例在数据库服务器中的存储路径。

步骤220、宿主机基于开发环境和测试用例构建测试用例的可执行文件。

步骤230、宿主机的测试后端的流程控制模块,在测试用例的可执行文件构建完成后,分配测试执行任务给用例执行模块。

在本实施例中,测试用例的可执行文件构建完成后,宿主机的测试后端用例构建模块将构建完成的测试用例的可执行文件存储在指定目录下,宿主的测试后端的流程控制模块根据用例构建模块反馈的构建完成信息,将测试执行任务分配到宿主机测试后端的用例执行模块中。

步骤240、用例执行模块按照测试用例的顺序,确定当前测试用例。

在本实施例中,宿主机测试后端的用例执行模块根据指定目录中测试用例的排列顺序,确定当前要执行的测试用例。

步骤250、用例执行模块将当前测试用例的可执行文件,通过目标机通信模块下发至目标机。

在本实施例中,宿主机测试后端的用例执行模块与目标机通信模块通过以太网进行通信,当确定通讯正常后,将当前测试用例的可执行文件通过目标机通信模块下发至目标机。

步骤260、用例执行模块通过目标机通信模块,接收到目标机反馈的测试完成指示时,向目标机发送重启指示,并在目标机重启完成后,按照测试用例的顺序更新当前测试用例,且返回执行可执行文件下发至目标机的操作,直至测试结束。

其中,测试完成指示是由测试用例产生的,在本实施例中,测试用例的结尾设置有串口打印语句,用于在被执行时,通过串口输出测试完成指示,例如,在测试用例的结尾添加如下代码,用于判断该测试用例是否执行完毕。

printf(“***testend***%s”,casename)

在本实施例中,由于测试用例的数量为至少两个,则宿主机在当前测试用例测试完成之后,且在下一个测试用例的可执行文件之前,需要向目标机发送重启指示,待目标机重启完成后,更新当前测试用例,并下发至目标机执行直至本次测试指定的所有测试用例全部在目标机上执行为止。

设置目标机重启的好处是:在上一测试用例运行之后,可能会在目标机系统中存留一些临时文件,或者存在没有被释放的系统资源,在这种情况下,如果直接执行下一个测试用例,会对测试用例的执行结果产生影响,因此,需要在每次执行完一个测试用例后,对目标机进行重启操作,保证每次测试用例执行的环境干净,从而使测试结果准确。

步骤270、宿主机接收目标机反馈的测试结果。

本实施例的技术方案,在上一实施例的基础上进行了仔细说明,将宿主机将测试用例的可执行文件下发至目标机进一步细化为具体的实施步骤,通过确定当前测试用例,并利用用例执行模块将当前测试用例的可执行文件下发至目标机,目标机在测试完成后反馈测试完成指令,使目标机可以重启并进入下一测试用例的测试阶段,提高了测试结果的准确性。

实施例三

图3为本发明实施例三提供的一种操作系统的测试方法的流程图,本实施例在上述实施例的基础上进一步说明,提供宿主机根据用户选择的操作系统待测组件,在配置文件中查找操作系统待测组件对应的测试用例和开发环境在数据库服务器中的存储路径,根据存储路径从服务器获取测试用例和开发环境的具体实施步骤,下面结合图3对本发明实施例三提供的一种操作系统的测试方法进行说明,包括以下步骤:

步骤310、宿主机的测试前端,通过web模块调用浏览器,展示人机交互界面,并通过人机交互界面接收用户选择的操作系统待测组件。

在本实施例中,宿主机的测试前端的web模块通过端口调用,利用浏览器应用的网页界面实现宿主机与用户的交互,接收用户选择的与本次测试有关的操作系统待测组件。

步骤320、测试前端的web模块,根据操作系统待测组件,在本地配置文件中查询对应测试用例在数据库服务器中的存储路径。

其中,配置文件保存每类操作系统组件对应的测试用例在数据库服务器中的存储路径,该配置文件需要与数据库服务器同步维护。

在本实施例中,操作系统待测组件与其对应的测试用例之间存在映射关系,例如,在测试用例的名称中加入测试组件的名称,或者以编号的形式形成对应关系,这样在选定操作系统待测组件后,就可以确定于其对应的测试用例,并根据本地配置文件查询对应测试用例在数据库服务器中的存储路径。

步骤330、测试前端基于查询到测试用例的存储路径,通过后端通信模块向数据库服务器发送测试用例获取请求。

在本实施例中,宿主机的测试前端的后端通信模块将测试用例获取请求发送至宿主机的测试后端,由宿主机测试后端的相关模块实现与数据库服务器的连接,从而获取相关数据。

步骤340、宿主机的测试后端,通过流程控制模块将测试用例获取请求任务分配给测试后端的测试配置模块。

在本实施例中,宿主机的测试后端的流程控制模块将从测试前端获取的测试用例获取请求以下发任务的形式分配给测试后端的测试配置模块。

步骤350、测试配置模块向数据库服务器发送测试用例获取请求,并从数据库服务器下载测试用例和开发环境。

在本实施例中,宿主机的测试后端的测试配置模块根据测试用例获取请求,从数据库服务器中通过以太网通信下载测试用例以及开发环境,并将该测试用例以及开发环境存储在宿主机本地指定的目录下。

步骤360、测试配置模块向流程控制模块反馈测试用例获取结果。

在本实施例中,宿主机的测试后端的测试配置模块在下载测试用例以及开发环境后,向宿主机的测试后端的流程控制模块反馈测试用例获取结果,该获取结果反映本次下载任务是否全部完成,若没有全部完成,反馈完成比例以及未完成原因。

在一个具体的例子中,测试配置模块向流程控制模块反馈的测试用例获取结果为:

下载进度70%;

未下载测试用例序号:3、7、16;

未完成原因:没有发现对应存储目录。

则根据该反馈信息,可以准确定位没有下载到测试用例,并查看是都没有将配置文件与数据库服务器同步维护,倒是存储目录有误。

步骤370、宿主机通过人机交互界面向用户提供从数据库服务器获取的所有测试用例的数量和每个测试用例的名称。

步骤380、宿主机通过人机交互界面接收用户选择的本次测试指定的测试用例。

步骤390、宿主机基于开发环境和测试用例构建测试用例的可执行文件。

在本实施例中,宿主机的测试后端的流程控制模块根据待执行的测试用例,分配用例构建任务给宿主机的测试后端的用例构建模块;用例构建模块根据从数据服务器下载的至少一个测试用例和开发环境,构建至少一个测试用例的可执行文件,生成构建信息,在构建完成后,将生成的测试用例的可执行文件存储在指定的目录下。

步骤3100、宿主机的测试后端的流程控制模块,在测试用例的可执行文件构建完成后,分配测试执行任务给用例执行模块。

步骤3110、用例执行模块按照测试用例的顺序,确定当前测试用例。

步骤3120、用例执行模块将当前测试用例的可执行文件,通过目标机通信模块下发至目标机。

步骤3130、用例执行模块通过目标机通信模块,接收到目标机反馈的测试完成指示时,向目标机发送重启指示,并在目标机重启完成后,按照测试用例的顺序更新当前测试用例,且返回执行可执行文件下发至目标机的操作,直至测试结束。

步骤3140、宿主机接收目标机反馈的测试结果。

本实施例中,宿主机的测试后端的用例执行模块,通过目标机通信模块从目标机的串口逐条获取测试过程信息,反馈给宿主机的测试后端的流程控制模块作为测试结果;宿主机的测试前端的后端通信模块从流程控制模块中获取测试过程信息;宿主机的测试前端的报告生成模块从后端通信模块获取测试过程信息,并生成测试报告;报告生成模块将测试报告,通过宿主机的测试前端的web模块转换成网页格式,并调用浏览器进行显示。

本发明实施例提供了一种操作系统的测试方法,在上述宿主机根据用户选择的操作系统待测组件,在配置文件中查找操作系统待测组件对应的测试用例和开发环境在数据库服务器中的存储路径,根据存储路径从服务器获取测试用例和开发环境进一步细化为具体的实施步骤,通过利用宿主机的测试后端的测试配置模块从目标机下载测试用例和开发环境,并反馈获取结果,实现了实时监控下载流程,保证了下载数据的完整性和准确性。

可选的,宿主机通过人机交互界面向用户提供从数据库服务器获取的所有测试用例的数量和每个测试用例的名称,通过人机交互界面接收用户选择的本次测试指定的测试用例,包括:

测试后端的流程控制模块将测试用例获取结果通过后端通信模块发送给测试前端的web模块;

测试前端的web模块根据测试用例获取结果,将获取的测试用例名称通过人机交互界面进行显示,并确定用户选取的目标测试用例;

web模块将目标测试用例的选取结果通过后端通信模块发送给流程控制模块,以确定待执行的测试用例和开发环境。

本可选的技术方案,通过利用宿主机的测试前端的web模块,后端通信模块以及测试后端的流程控制模块,实现了用户选取指定测试用例以及宿主机接收该指定测试用例的技术方案,保证了用户能够准确选取与测试需求相关的测试用例,用于后续发送目标机测试。

具体的,以测试操作系统的内核调度多个线程能力为例,说明本实施例的技术方案。宿主机的测试前端,通过web模块调用浏览器,展示人机交互界面,并通过人机交互界面接收用户选择的操作系统内核组件,web模块根据用户选择的内核组件,在本地配置文件中查询对应测试用例在数据库服务器中的存储路径,确定存储路径为:数据库服务器根目录\测试用例\内核组件\,测试前端基于该存储路径,通过宿主机的测试前端的后端通信模块将测试用例获取请求发送至宿主机的测试后端,测试后端的流程控制模块将测试用例获取请求任务分配给测试后端的测试配置模块,测试配置模块向数据库服务器发送测试用例获取请求,在数据库服务器响应该请求后,从数据库服务器下载存储于本例中上述存储路径下的测试用例和测试用例对应的开发环境,在本次下载任务中,测试用例的个数为20,涉及测试3个应用分区的内核线程调度用例,对应的开发环境包括c编译环境以及opencl(opencomputinglanguage,开放运算语言)编译环境,测试配置模块在测试任务完成后,向流程控制模块反馈测试用例获取结果,说明本次下载任务中,所有测试用例以及开发环境已完全下载并存储于宿主机指定的存储目录下,流程控制模块将测试用例获取结果通过后端通信模块发送给web模块,web模块根据测试用例获取结果,将获取的测试用例名称按照1至20的序号排列在人机交互界面上显示,用户选取本次测试的目标测试用例,其中目标测试用例为序号1至13的测试用例,web模块将目标测试用例的选取结果通过后端通信模块发送给流程控制模块,以确定待执行的测试用例和开发环境,流程控制模块根据待执行的测试用例,分配用例构建任务给宿主机的测试后端的用例构建模块,用例构建模块根据从数据服务器下载的13个测试用例和对应的开发环境,构建13个测试用例的可执行文件,生成构建信息,在构建完成后,将生成的测试用例的可执行文件存储在宿主机上指定的目录下,流程控制模块分配测试执行任务给测试后端的用例执行模块,用例执行模块按照测试用例的顺序,确定第一个测试用例为当前测试用例,用例执行模块将当前测试用例的可执行文件,通过目标机通信模块下发至目标机,当前测试用例的可执行文件在目标机环境下运行。

在测试用例运行过程中,由于测试用例的结尾设置有串口打印语句,用于在被执行时,通过串口输出测试完成指示,在本例中,测试完成代码为:printf(“***testend***%s”,casename),当用例执行模块通过目标机通信模块,接收到目标机反馈的上述测试完成指示时,向目标机发送重启指示,并在目标机重启完成后,按照测试用例的顺序更新第二个测试用例作为当前测试用例,返回执行可执行文件下发至目标机的操作,直至13个测试用例的可执行文件全部在目标机上运行完毕。

上述测试用例中,除了包括测试完成代码,还包括测试过程输出代码,测试过程输出代码包括串口打印语句,用于在被执行时,如果执行过程参数符合代码设定条件,则从串口输出过程结果信息,在本例中,测试过程输出代码为:

if(判断测试通过的条件)

在每一个测试用例执行完毕后,用例执行模块通过目标机通信模块从目标机的串口获取测试过程信息,反馈给流程控制模块作为测试结果,后端通信模块从流程控制模块中获取测试过程信息,并发送至宿主机的测试前端的报告生成模块,待13个测试用例全部只执行完毕后,生成测试报告,报告生成模块将测试报告,通过web模块转换成网页格式,并调用浏览器向用户显示。

实施例四

图4为本发明实施例四提供的一种操作系统的测试装置的结构示意图,如图4所示,所述操作系统的测试装置包括:测试用例获取模块410、可执行文件确定模块420以及可执行文件下发模块430,其中:

测试用例获取模块410,用于根据用户选择的操作系统待测组件,在配置文件中查找操作系统待测组件对应的测试用例和开发环境在数据库服务器中的存储路径,根据存储路径从数据库服务器获取测试用例和开发环境;其中,配置文件保存每类操作系统组件对应的测试用例在数据库服务器中的存储路径;

可执行文件确定模块420,用于基于开发环境和测试用例构建测试用例的可执行文件;

可执行文件下发模块430,用于将测试用例的可执行文件下发至目标机,接收目标机反馈的测试结果。

本发明实施例提供了一种操作系统的测试装置,宿主机通过用户选择的操作系统待测组件,从数据库服务器获取对应的测试用例和开发环境,宿主机再基于对应的开发环境和测试用例构建测试用例的可执行文件,并将测试用例的可执行文件下发至目标机,接收目标机反馈的测试结果,解决了现有技术中,嵌入式软件测试仅依赖宿主机的非真实硬件环境,没有真实硬件环境支持,且自动化程度较差的问题,实现了提高测试操作系统的测试效率以及自动化程度的效果。

可选的,测试用例获取模块410之后,还包括:

测试用例数量及名称提供模块,用于宿主机通过人机交互界面向用户提供从数据库服务器获取的所有测试用例的数量和每个测试用例的名称;

指定测试用例接收模块,用于宿主机通过人机交互界面接收用户选择的本次测试指定的测试用例。

可选的,测试用例获取模块410,包括:

待测组件接收单元,用于宿主机的测试前端,通过web模块调用浏览器,展示人机交互界面,并通过人机交互界面接收用户选择的操作系统待测组件;

存储路径查询单元,用于测试前端的web模块,根据操作系统待测组件,在本地配置文件中查询对应测试用例在数据库服务器中的存储路径;

获取请求发送单元,用于测试前端基于查询到测试用例的存储路径,通过后端通信模块向数据库服务器发送测试用例获取请求;

获取请求分配单元,用于宿主机的测试后端,通过流程控制模块将测试用例获取请求任务分配给测试后端的测试配置模块;

测试用例和开发环境下载单元,用于测试配置模块向数据库服务器发送测试用例获取请求,并从数据库服务器下载测试用例和开发环境;

获取结果反馈单元,用于测试配置模块向流程控制模块反馈测试用例获取结果。

可选的,测试用例数量及名称提供模块和指定测试用例接收模块,包括:

获取结果发送单元,用于测试后端的流程控制模块将测试用例获取结果通过后端通信模块发送给测试前端的web模块;

目标测试用例确定单元,用于测试前端的web模块根据测试用例获取结果,将获取的测试用例名称通过人机交互界面进行显示,并确定用户选取的目标测试用例;

测试用例和开发环境确定单元,用于web模块将目标测试用例的选取结果通过后端通信模块发送给流程控制模块,以确定待执行的测试用例和开发环境。

可选的,可执行文件下发模块430,包括:

测试执行任务分配单元,用于宿主机的测试后端的流程控制模块,在测试用例的可执行文件构建完成后,分配测试执行任务给用例执行模块;

当前测试用例确定单元,用于用例执行模块按照测试用例的顺序,确定当前测试用例;

可执行文件下发单元,用于用例执行模块将当前测试用例的可执行文件,通过目标机通信模块下发至目标机;

当前测试用例更新单元,用于用例执行模块通过目标机通信模块,接收到目标机反馈的测试完成指示时,向目标机发送重启指示,并在目标机重启完成后,按照测试用例的顺序更新当前测试用例,且返回执行可执行文件下发至目标机的操作,直至测试结束。

上述操作系统的测试装置可执行本发明任意实施例所提供的操作系统的测试方法,具备执行方法相应的功能模块和有益效果。

实施例五

图5为本发明实施例五提供的一种电子设备的结构示意图,如图5所示,该设备包括处理器50和存储器51;计算机设备中处理器50的数量可以是一个或多个,图5中以一个处理器50为例;设备中的处理器50和存储器51可以通过总线或其他方式连接,图5中以通过总线连接为例。

存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种操作系统的测试方法对应的程序指令/模块(例如,操作系统的测试装置中的测试用例获取模块410、可执行文件确定模块420以及可执行文件下发模块430)。处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的操作系统的测试方法。

存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

实施例六

图6a为本发明实施例六提供的一种操作系统的测试系统的结构示意图,如图6a所示,该系统包括宿主机610和数据库服务器620,宿主机610和数据库服务器620之间通过以太网通信。宿主机610是一种如实施例五所述的电子设备,用于实现人机交互,分配测试任务,调度测试用例和开发环境,生成测试用例的可执行文件,发送测试用例并获取测试结果以及生成最终测试报告;数据库服务器620用于存储测试用例以及对应的开发环境。

宿主机610包括测试前端和测试后端,测试前端与测试后端相连,测试前端用于实现人机交互,即宿主机610与用户之间的数据交流;测试后端用于实现宿主机610与数据库服务器620以及目标机之间的数据传输和资源调度,如图6b所示。

宿主机610的测试前端包括:web模块611、后端通信模块612以及报告生成模块613,其中:

web模块611与后端通信模块612相连,用于接收用户选择的操作系统待测组件以及本次测试指定的测试用例,并向后端通信模块612发送测试用例获取请求,以及向用户显示最终的测试报告。

后端通信模块612分别与web模块611、报告生成模块613和测试后端相连,用于接收web模块611发送的测试用例获取请求,并将该请求发送至测试后端,还用于接收测试后端发送的测试结果数据,将测试结果数据发送至报告生成模块613。

报告生成模块613与web模块611相连,用于将接收到的测试结果数据,识别测试通过与否的标识,生成测试报告,将测试报告发送至web模块611。

宿主机610的测试后端包括:流程控制模块614、测试配置模块615、用例构建模块616以及用例执行模块617,其中:

流程控制模块614分别与测试前端的后端通信模块612、测试配置模块615、用例构建模块616以及用例执行模块617相连,流程控制模块614与后端通信模块612相连,用于将测试后端获取的测试进度以及测试结果通过后端通信模块612反馈给测试前端;流程控制模块614与测试配置模块615相连,用于向测试配置模块615分配测试用例获取请求任务;流程控制模块614与用例构建模块616相连,用于根据待执行的测试用例,分配用例构建任务给用例构建模块616;流程控制模块614与用例执行模块617相连,用于在测试用例的可执行文件构建完成后,分配测试执行任务给用例执行模块617。

测试配置模块615与分别与数据库服务器620和流程控制模块614相连,用于向数据库服务器620发送测试用例获取请求,并从数据库服务器620下载测试用例和开发环境,以及向流程控制模块614反馈测试用例获取结果。

用例构建模块616与流程控制模块614相连,用于根据从数据服务器620下载的测试用例和开发环境,构建可执行文件,生成构建信息,并将生成的测试用例的可执行文件存储在指定的目录下,向流程控制模块614反馈构建进度。

用例执行模块617分别与目标机和流程控制模块614相连,用于通过目标机通信模块下发测试用例的可执行文件至目标机,控制目标机的运行和重启,接收并保存目标机串口返回的信息,并将该信息反馈给流程控制模块614。

在本实施例的操作系统的测试系统中,宿主机610和数据库服务器620配合实现测试用例和开发环境的有利调度,使测试用例可以在目标机的真实硬件环境中运行,目标机作为所述系统的硬件测试平台,根据测试需求更换,目标机与宿主机之间通过以太网以及串口通信。

实施例七

本发明实施例七还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种操作系统的测试方法,该方法包括:

宿主机根据用户选择的操作系统待测组件,在配置文件中查找操作系统待测组件对应的测试用例和开发环境在数据库服务器中的存储路径,根据存储路径从数据库服务器获取测试用例和开发环境;其中,配置文件保存每类操作系统组件对应的测试用例在数据库服务器中的存储路径;

宿主机基于开发环境和测试用例构建测试用例的可执行文件;

宿主机将测试用例的可执行文件下发至目标机,接收目标机反馈的测试结果。

当然,本发明实施例所提供的包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的操作系统的测试方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述一种操作系统的测试装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1