CN109086173A - 一种操作系统的设备测试方法、装置和存储介质 - Google Patents
一种操作系统的设备测试方法、装置和存储介质 Download PDFInfo
- Publication number
- CN109086173A CN109086173A CN201710443449.9A CN201710443449A CN109086173A CN 109086173 A CN109086173 A CN 109086173A CN 201710443449 A CN201710443449 A CN 201710443449A CN 109086173 A CN109086173 A CN 109086173A
- Authority
- CN
- China
- Prior art keywords
- equipment
- tested
- structure body
- internal storage
- storage structure
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Abstract
本发明实施例提供了一种操作系统的设备测试方法、装置和存储介质,所述方法包括:获取通过特定接口接入操作系统的待测试设备的数量,所述待测试设备具有相应的设备信息;确定与所述待测试设备的数量相同的内存结构体;将每个待测试设备与每个内存结构体一一对应关联;分别将每个待测试设备的设备信息存储至关联的一个内存结构体中;依据所述设备信息,分别采用每个内存结构体对关联的每个待测试设备进行测试,解决了现有技术中对于不同的操作系统,当待测试设备的数量发生变化时不能进行设备测试的问题,简化了操作系统的设备测试流程,提高了测试的效率。
Description
技术领域
本发明涉及设备测试技术领域,特别是涉及一种操作系统的设备测试方法、一种操作系统的设备测试装置和一种存储介质。
背景技术
操作系统(Operating System,简称OS)是一种管理和控制计算机硬件与软件资源的计算机程序。通常,操作系统可以运行在不同的硬件环境上,但是由于不同的硬件环境存在的设备接口数目可能不同,从而根据需要可能连接的实际设备个数也不相同。因此,为了测试连接的设备是否能够正常工作,便需要对该操作系统进行设备测试。
目前,操作系统的设备测试需要首先知道硬件环境的接口个数和操作系统支持的接口个数,再确定要测试的操作系统的接口个数,然后经调试后逐个进行设备的测试。但是,一旦设备的数量发生变化就无法直接使用当前的操作系统继续测试,而需要重新对操作系统进行调试,测试过程十分繁琐。
发明内容
鉴于上述问题,提出了本发明实施例的一种操作系统的设备测试方法、一种操作系统的设备测试装置和一种存储介质,以解决对于不同的操作系统,当待测试设备的数量发生变化时不能进行设备测试的问题。
为了解决上述问题,本发明实施例公开了一种操作系统的设备测试方法,包括:
获取通过特定接口接入操作系统的待测试设备的数量,所述待测试设备具有相应的设备信息;
确定与所述待测试设备的数量相同的内存结构体;
将每个待测试设备与每个内存结构体一一对应关联;
分别将每个待测试设备的设备信息存储至关联的一个内存结构体中;
依据所述设备信息,分别采用每个内存结构体对关联的每个待测试设备进行测试。
可选地,所述获取通过特定接口接入操作系统的待测试设备的数量的步骤包括:
当待测试设备通过特定接口接入操作系统时,确定所述待测试设备的设备名称;
遍历预置的操作系统设备链表,所述预置的操作系统设备链表包括多个目标设备名称;
当所述多个目标设备名称中包括所述待测试设备的设备名称时,累加待测试设备的数量。
可选地,所述待测试设备的信息包括设备描述符,所述依据所述设备信息,分别采用每个内存结构体对关联的每个待测试设备进行测试的步骤包括:
采用所述设备描述符开启所述待测试设备;
在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备进行读写测试,所述读写测试具有对应的读写测试结果;
依据所述读写测试结果,获得所述待测试设备的测试结果。
可选地,所述在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备进行读写测试的步骤包括:
在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备执行写操作,所述写操作具有对应的写操作数据;
在所述写操作完成后,对所述待测试设备执行读操作,所述读操作具有对应的读操作数据;
比较所述写操作数据和所述读操作数据是否相同,以获得所述读写测试结果。
可选地,在所述分别采用每个内存结构体对关联的每个待测试设备进行测试的步骤后,还包括:
释放对所述待测试设备进行测试时占用的资源。
为了解决上述问题,本发明实施例公开了一种操作系统的设备测试装置,包括:
获取模块,用于获取通过特定接口接入操作系统的待测试设备的数量,所述待测试设备具有相应的设备信息;
确定模块,用于确定与所述待测试设备的数量相同的内存结构体;
关联模块,用于将每个待测试设备与每个内存结构体一一对应关联;
存储模块,用于分别将每个待测试设备的设备信息存储至关联的一个内存结构体中;
测试模块,用于依据所述设备信息,分别采用每个内存结构体对关联的每个待测试设备进行测试。
可选地,所述获取模块包括:
确定子模块,用于当待测试设备通过特定接口接入操作系统时,确定所述待测试设备的设备名称;
遍历子模块,用于遍历预置的操作系统设备链表,所述预置的操作系统设备链表包括多个目标设备名称;
累加子模块,用于当所述多个目标设备名称中包括所述待测试设备的设备名称时,累加待测试设备的数量。
可选地,所述待测试设备的信息包括设备描述符,所述测试模块包括:
开启子模块,用于采用所述设备描述符开启所述待测试设备;
测试子模块,用于在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备进行读写测试,所述读写测试具有对应的读写测试结果;
获得子模块,用于依据所述读写测试结果,获得所述待测试设备的测试结果。
可选地,所述测试子模块包括:
写操作单元,用于在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备执行写操作,所述写操作具有对应的写操作数据;
读操作单元,用于在所述写操作完成后,对所述待测试设备执行读操作,所述读操作具有对应的读操作数据;
数据比较单元,用于比较所述写操作数据和所述读操作数据是否相同,以获得所述读写测试结果。
可选地,还包括:
释放模块,用于释放对所述待测试设备进行测试时占用的资源。
为了解决上述问题,本发明实施例公开了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述一个或多个的操作系统的设备测试方法。
与背景技术相比,本发明实施例包括以下优点:
本发明实施例,通过获取通过特定接口接入操作系统的待测试设备的数量,依据待测试设备的数量,确定出相应数量的内存结构体并将每个待测试设备的设备信息存储至关联的一个内存结构体中,然后分别采用每个内存结构体对关联的每个待测试设备进行测试,从而可以自动探测设备接口数目不同的操作系统中的待测试设备,并完成测试,解决了现有技术中对于不同的操作系统,当待测试设备的数量发生变化时不能进行设备测试的问题,简化了操作系统的设备测试流程,提高了测试的效率。
附图说明
图1是本发明的一种操作系统的设备测试方法实施例一的步骤流程图;
图2是本发明的一种操作系统的设备测试方法实施例二的步骤流程图;
图3是本发明的获取接入操作系统的待测试设备的数量的函数流程图;
图4是本发明的对待测试设备进行读写测试的函数流程图;
图5是本发明的释放对待测试设备进行测试时占用的资源的函数流程图;
图6是本发明的操作系统的设备测试方法的函数流程图;
图7是本发明的一种操作系统的设备测试装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
通常,在进行设备测试时,需要根据操作系统硬件的接口个数、操作系统可支持的接口个数以及当前实际要测试的接口个数对系统进行调试,然后逐一对设备进行测试。但是一旦设备的数量发生变化就需要重新对操作系统进行调试后,才能继续测试。例如,制定的某个测试方法用于测试5个同类型的设备,当该测试方法运行在另一个操作系统(例如,该操作系统有3个设备或者6个设备)时,就会出现后两个设备打开错误,或者当多于5个设备时,多余的设备无法测试的情况。因此,每次更换操作系统时,都需要首先掌握配置的实际设备的情况,通过修改测试方法中的设备的个数,再进行设备测试,操作十分繁琐。而且,对于支持热插拔的设备,在热插拔设备被插入或被拔出,从而导致连接操作系统的热插拔设备的数目发生变化时,按照上述测试方式也无法继续进行设备的测试。因此,提出了本发明的核心构思在于,通过自动探测接入操作系统的设备数量,动态地申请内存用于存储每个设备的设备信息,从而能够实现在接口数量不同的操作系统进行设备测试。
参照图1,示出了本发明的一种操作系统的设备测试方法实施例一的步骤流程图,具体可以包括如下步骤:
步骤101,获取通过特定接口接入嵌入式操作系统的待测试设备的数量,所述待测试设备具有相应的设备信息;
需要说明的是,本发明实施例中的操作系统可以是嵌入式操作系统。嵌入式操作系统(Embedded Operating System,简称:EOS)是一种用于嵌入式系统的操作系统,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动,能够通过装卸某些模块来达到系统所要求的功能。
具体地,嵌入式操作系统可以包括嵌入式实时操作系统μC/OS-II、嵌入式Linux、Windows Embedded、VxWorks等操作系统,以及应用在智能手机或平板电脑上的Android、iOS等操作系统,本发明实施例对操作系统的具体类型不作限定。
在本发明实施例中,特定接口可以是嵌入式操作系统提供的接口,包括串口、USB、VGA、DVI、PS/2、SATA、IDE、WLAN等接口中的一种或多种。
通常,为了测试设备在接入操作系统后是否能够正常运行,需要对设备进行测试。
在本发明实施例中,待测试设备可以通过串口、USB、VGA、DVI、PS/2、SATA、IDE、WLAN等接口接入嵌入式操作系统。当然,不同的操作系统支持的接口可能不同,本发明实施例对此不作限定。
在具体实现中,当待测试设备接入操作系统后,可以通过调用FindDeviceMumber(char*deviceName)函数获取接入操作系统的待测试设备的数量。FindDeviceMumber(char*deviceName)函数的参数为查找待测试设备的设备名称,相应的返回值为接入操作系统中待测试设备的数量。通过调用FindDeviceMumber(char*deviceName)函数,能够实时地自动探测接入操作系统的待测试设备。每个待测试设备均具有相应的设备信息,该设备信息可以包括待测试设备的设备名称、设备描述符等等,本发明实施例对待测试设备的设备信息的具体类型不作限定。
步骤102,确定与所述待测试设备的数量相同的内存结构体;
在本发明实施例中,当获取到接入操作系统的待测试设备的数量后,可以首先确定出相应数量的内存结构体。该内存结构体可以用于存储各个待测试设备的相关信息,以方便后续的设备测试。
内存结构体是指内存的一种存储结构,可以包括有栈区(stack sagment)、堆区(heap sagment)、全局区(data sagment)、文字常量区和程序代码区等,每个部分分别存储不同的信息。例如,栈区可以存放函数的参数的值,局部变量的值等;文字常量区可以存放常量字符串;程序代码区可以存放函数体的二进制代码等等。
在具体实现中,可以依据待测试设备的数量动态申请内存。对于操作系统而言,在接收到内存申请后,可以为每个待测试设备动态分配内存。动态分配内存(Dynamic MemoryAllocation)就是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法,能够由系统根据程序的需要即时分配,且分配的大小就是程序要求的大小。
步骤103,将每个待测试设备与每个内存结构体一一对应关联;
在本发明实施例中,可以分别将每个待测试设备与确定的每个内存结构体关联起来,使得每个待测试设备均能够与唯一的一个内存结构体一一对应。
步骤104,分别将每个待测试设备的设备信息存储至关联的一个内存结构体中;
在本发明实施例中,在确定出相应数量的内存结构体之后,可以获取待测试设备的设备信息,并将待测试设备的设备信息存储至内存结构体中。
具体地,每个待测试设备对应的内存结构体可以表示如下:
typedef struct device{
UINT32 devicefd;
UINT32 devicetid;
}DEVICE;
其中,devicefd为设备描述符,devicetid为待测试设备对应的测试任务。
步骤105,依据所述设备信息,分别采用每个内存结构体对关联的每个待测试设备进行测试。
需要说明的是,在对待测试设备进行测试时,需要首先开启待测试设备,具体地,可以采用设备描述符开启待测试设备,然后根据待测试设备的数量,循环创建测试任务,进而通过调用deviceTest(DEVICE deviceInformation)函数进行设备测试。deviceTest(DEVICE deviceInformation)函数的参数为存储待测试设备的信息的内存结构体地址,返回值为0或者-1,其中0表示函数执行成功,-1则表示函数执行失败。通过调用deviceTest(DEVICE deviceInformation)函数,能够对待测试设备进行读、写测试,并获得相应的测试结果。
在本发明实施例中,通过获取通过特定接口接入操作系统的待测试设备的数量,依据待测试设备的数量,确定出相应数量的内存结构体并将每个待测试设备的设备信息存储至关联的一个内存结构体中,然后分别采用每个内存结构体对关联的每个待测试设备进行测试,从而可以自动探测设备接口数目不同的操作系统中的待测试设备,并完成测试,解决了现有技术中对于不同的操作系统,当待测试设备的数量发生变化时不能进行设备测试的问题,简化了操作系统的设备测试流程,提高了测试的效率。
参照图2,示出了本发明的一种操作系统的设备测试方法实施例二的步骤流程图,具体可以包括如下步骤:
步骤201,获取通过特定接口接入操作系统的待测试设备的数量;
需要说明的是,本发明实施例中的操作系统可以是嵌入式操作系统,例如,VxWorks操作系统。VxWorks操作系统是一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分,具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。VxWorks操作系统主要由5个部分组成,包括板级支持包BSP、Wind微内核、网络设备系统、文件系统以及I/O系统。当然,本发明实施例还可以应用于其他类型的嵌入式操作系统中,本发明实施例对此不作限定。
在本发明实施例中,当待测试设备通过特定接口接入操作系统时,可以首先确定所述待测试设备的设备名称,通过遍历预置的操作系统设备链表,所述预置的操作系统设备链表包括多个目标设备名称,从而当所述多个目标设备名称中包括所述待测试设备的设备名称时,累加待测试设备的数量。
通常,不同的操作系统由于具有的设备接口不同,其能够支持的设备也不同。因此,每个操作系统都可以预先生成一操作系统设备链表,在该设备链表中可以记录有该操作系统能够支持的设备的数量以及设备名称。
在初始化时,可以设定待测试设备的数量为零。当有设备接入操作系统时,系统总线能够实时探测到接入的设备的设备名称,若设备名称属于在设备链表中记录的设备名称时,则可以认为该设备属于当前接入的操作系统支持的设备,从而可以对待测试设备的数量加1。
需要说明的是,上述获取接入操作系统的待测试设备的数量的过程可以通过调用FindDeviceMumber(char*deviceName)函数来实现。
如图3所示,是本发明的获取接入操作系统的待测试设备的数量的函数流程图。在图3中,可以设定Int deviceNum=0,即定义待测试设备的数量的初始值为0,然后根据系统总线实时探测的设备名称遍历预置的操作系统设备链表,当该设备名称与系统链表中的目标设备名称一致时,对deviceNum变量值进行累加,从而获得待测试设备的数量。
步骤202,确定与所述待测试设备的数量相同的内存结构体;
在本发明实施例中,可以当获取到接入操作系统的待测试设备的数量后,可以动态地向内存申请相应数量的内存结构体。
具体地,每个内存结构体可以表示如下:
typedef struct device{
UINT32 devicefd;
UINT32 devicetid;
}DEVICE;
步骤203,将每个待测试设备与每个内存结构体一一对应关联;
通过将每个待测试设备与每个内存结构体一一对应关联,能够使得每个内存结构体只负责处理唯一的一个待测试设备的测试任务。
步骤204,获取待测试设备的设备信息;
在本发明实施例中,待测试设备的设备信息可以包括待测试设备的设备名称、设备描述符等等,本发明实施例对待测试设备的设备信息的具体类型不作限定。
步骤205,分别将每个待测试设备的设备信息存储至关联的一个内存结构体中;
当获取到待测试设备的设备信息后,可以将该信息存储至与每个待测试设备相对应的内存结构体中,其中,devicefd用于存储设备描述符,devicetid用于存储待测试设备对应的测试任务。
在本发明实施例中,将待测试设备的设备信息存储至内存结构体之后,还可以生成一设备信息链表,该设备信息链表可以保存待测试设备的设备描述符和测试任务等信息,用于在后续测试完成后,释放资源。
步骤206,采用所述设备描述符开启所述待测试设备;
需要说明的是,在对待测试设备进行测试时,需要首先开启待测试设备,具体地,可以采用设备描述符开启待测试设备。
步骤207,在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备进行读写测试,所述读写测试具有对应的读写测试结果;
在本发明实施例中,在开启待测试设备后,可以创建相应的测试任务,然后对待测试设备进行读写测试。
在具体实现中,在开启待测试设备后,可以首先分别采用每个内存结构体对关联的每个待测试设备执行写操作,所述写操作具有对应的写操作数据,然后在写操作完成后,对待测试设备执行读操作,所述读操作具有对应的读操作数据,进而比较写操作数据和读操作数据是否相同,以获得对应的读写测试结果。
步骤208,依据所述读写测试结果,获得所述待测试设备的测试结果;
具体地,当写操作数据和读操作数据相同时,可以判定测试通过;当写操作数据和读操作数据不相同时,则判定测试失败。
需要说明的是,上述对待测试设备进行读写测试的过程可以通过调用deviceTest(DEVICE deviceInformation)函数来实现。
如图4所示,是本发明的对待测试设备进行读写测试的函数流程图。在图4中,可以测试待测试设备的写操作,然后判断写操作是否成功,如果写操作失败,则可以在磁盘中记录下写操作错误测试的日志;如果写操作成功,则继续测试待测试设备的读操作,如果读操作失败,则同样可以在磁盘中记录下读操作错误测试的日志;如果读操作成功,则通过比较读操作数据与写操作数据是否一致,若二者一致,则认为测试成功,可以在磁盘中记录下待测试设备测试通过的日志,如果二者不一致,则认为测试失败,相应的,可以记录下测试失败的日志。
步骤209,释放对所述待测试设备进行测试时占用的资源。
在具体实现中,在测试完成后,可以通过调用quit DeviceTest(DEVICEdeviceInformation)函数释放内存结构体占用的内存资源,quit DeviceTest(DEVICEdeviceInformation)函数的参数为存储待测试设备的信息的内存结构体地址,返回值为0或者-1,其中0表示函数执行成功,-1表示函数执行失败。该函数可以由deviceTest()函数在退出测试的调用,负责释放设备测试过程中占用的资源,包括释放动态申请的内存、关闭设备描述符、删除设备测试任务等等。
如图5所示,是本发明的释放对待测试设备进行测试时占用的资源的函数流程图。在图5中,在测试完成后,可以通过遍历设备信息链表,然后关闭设备描述符、删除设备测试任务、释放动态申请的内存等。
为了便于理解,下面以一个完整的示例对本发明的操作系统的设备测试方法作一介绍。
如图6所示,是本发明的操作系统的设备测试方法的函数流程图。可以通过调用FindDeviceMumber()函数获取接入操作系统的待测试设备的数量,根据待测试设备的数量,动态申请内存,从而将待测试设备的信息存储至相应的内存结构体中,然后在进行测试时,首先开启每一个待测试设备,循环创建测试任务,执行deviceTest()函数进行测试,并在测试完成后,由deviceTest()函数调用quit DeviceTest()函数,释放设备测试过程中占用的资源。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图7,示出了本发明的一种操作系统的设备测试装置实施例的结构框图,具体可以包括如下模块:
获取模块701,用于获取通过特定接口接入操作系统的待测试设备的数量,所述待测试设备具有相应的设备信息;
确定模块702,用于确定与所述待测试设备的数量相同的内存结构体;
关联模块703,用于将每个待测试设备与每个内存结构体一一对应关联;
存储模块704,用于分别将每个待测试设备的设备信息存储至关联的一个内存结构体中;
测试模块705,用于依据所述设备信息,分别采用每个内存结构体对关联的每个待测试设备进行测试。
在本发明实施例中,所述获取模块701具体可以包括如下子模块:
确定子模块,用于当待测试设备通过特定接口接入操作系统时,确定所述待测试设备的设备名称;
遍历子模块,用于遍历预置的操作系统设备链表,所述预置的操作系统设备链表包括多个目标设备名称;
累加子模块,用于当所述多个目标设备名称中包括所述待测试设备的设备名称时,累加待测试设备的数量。
在本发明实施例中,所述待测试设备的信息包括设备描述符,所述测试模块705具体可以包括如下子模块:
开启子模块,用于采用所述设备描述符开启所述待测试设备;
测试子模块,用于在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备进行读写测试,所述读写测试具有对应的读写测试结果;
获得子模块,用于依据所述读写测试结果,获得所述待测试设备的测试结果。
在本发明实施例中,所述测试子模块具体可以包括如下单元:
写操作单元,用于在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备执行写操作,所述写操作具有对应的写操作数据;
读操作单元,用于在所述写操作完成后,对所述待测试设备执行读操作,所述读操作具有对应的读操作数据;
数据比较单元,用于比较所述写操作数据和所述读操作数据是否相同以获得所述读写测试结果。
在本发明实施例中,所述获得子模块具体可以包括如下单元:
第一判定单元,用于当所述写操作数据和所述读操作数据相同时,判定所述测试通过;
第二判定单元,用于当所述写操作数据和所述读操作数据不相同时,判定所述测试失败。
在本发明实施例中,所述装置还可以包括如下模块:
释放模块,用于释放对所述待测试设备进行测试时占用的资源。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行一种操作系统的设备测试方法,所述方法包括:获取通过特定接口接入操作系统的待测试设备的数量,所述待测试设备具有相应的设备信息;确定与所述待测试设备的数量相同的内存结构体;将每个待测试设备与每个内存结构体一一对应关联;分别将每个待测试设备的设备信息存储至关联的一个内存结构体中;依据所述设备信息,分别采用每个内存结构体对关联的每个待测试设备进行测试。。
可选地,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备还可以执行如下的方法:当待测试设备通过特定接口接入操作系统时,确定所述待测试设备的设备名称;遍历预置的操作系统设备链表,所述预置的操作系统设备链表包括多个目标设备名称;当所述多个目标设备名称中包括所述待测试设备的设备名称时,累加待测试设备的数量。。
可选地,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备还可以执行如下的方法:采用所述设备描述符开启所述待测试设备;在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备进行读写测试,所述读写测试具有对应的读写测试结果;依据所述读写测试结果,获得所述待测试设备的测试结果。
可选地,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备还可以执行如下的方法:在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备执行写操作,所述写操作具有对应的写操作数据;在所述写操作完成后,对所述待测试设备执行读操作,所述读操作具有对应的读操作数据;比较所述写操作数据和所述读操作数据是否相同,以获得所述读写测试结果。
可选地,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备还可以执行如下的方法:释放对所述待测试设备进行测试时占用的资源。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种操作系统的设备测试方法、一种操作系统的设备测试装置和一种存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种操作系统的设备测试方法,其特征在于,包括:
获取通过特定接口接入操作系统的待测试设备的数量,所述待测试设备具有相应的设备信息;
确定与所述待测试设备的数量相同的内存结构体;
将每个待测试设备与每个内存结构体一一对应关联;
分别将每个待测试设备的设备信息存储至关联的一个内存结构体中;
依据所述设备信息,分别采用每个内存结构体对关联的每个待测试设备进行测试。
2.根据权利要求1所述的方法,其特征在于,所述获取通过特定接口接入操作系统的待测试设备的数量的步骤包括:
当待测试设备通过特定接口接入操作系统时,确定所述待测试设备的设备名称;
遍历预置的操作系统设备链表,所述预置的操作系统设备链表包括多个目标设备名称;
当所述多个目标设备名称中包括所述待测试设备的设备名称时,累加待测试设备的数量。
3.根据权利要求1所述的方法,其特征在于,所述待测试设备的信息包括设备描述符,所述依据所述设备信息,分别采用每个内存结构体对关联的每个待测试设备进行测试的步骤包括:
采用所述设备描述符开启所述待测试设备;
在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备进行读写测试,所述读写测试具有对应的读写测试结果;
依据所述读写测试结果,获得所述待测试设备的测试结果。
4.根据权利要求3所述的方法,其特征在于,所述在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备进行读写测试的步骤包括:
在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备执行写操作,所述写操作具有对应的写操作数据;
在所述写操作完成后,对所述待测试设备执行读操作,所述读操作具有对应的读操作数据;
比较所述写操作数据和所述读操作数据是否相同,以获得所述读写测试结果。
5.根据权利要求1所述的方法,其特征在于,在所述分别采用每个内存结构体对关联的每个待测试设备进行测试的步骤后,还包括:
释放对所述待测试设备进行测试时占用的资源。
6.一种操作系统的设备测试装置,其特征在于,包括:
获取模块,用于获取通过特定接口接入操作系统的待测试设备的数量,所述待测试设备具有相应的设备信息;
确定模块,用于确定与所述待测试设备的数量相同的内存结构体;
关联模块,用于将每个待测试设备与每个内存结构体一一对应关联;
存储模块,用于分别将每个待测试设备的设备信息存储至关联的一个内存结构体中;
测试模块,用于依据所述设备信息,分别采用每个内存结构体对关联的每个待测试设备进行测试。
7.根据权利要求6所述的装置,其特征在于,所述获取模块包括:
确定子模块,用于当待测试设备通过特定接口接入操作系统时,确定所述待测试设备的设备名称;
遍历子模块,用于遍历预置的操作系统设备链表,所述预置的操作系统设备链表包括多个目标设备名称;
累加子模块,用于当所述多个目标设备名称中包括所述待测试设备的设备名称时,累加待测试设备的数量。
8.根据权利要求6所述的装置,其特征在于,所述待测试设备的信息包括设备描述符,所述测试模块包括:
开启子模块,用于采用所述设备描述符开启所述待测试设备;
测试子模块,用于在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备进行读写测试,所述读写测试具有对应的读写测试结果;
获得子模块,用于依据所述读写测试结果,获得所述待测试设备的测试结果。
9.根据权利要求8所述的装置,其特征在于,所述测试子模块包括:
写操作单元,用于在开启所述待测试设备后,分别采用每个内存结构体对关联的每个待测试设备执行写操作,所述写操作具有对应的写操作数据;
读操作单元,用于在所述写操作完成后,对所述待测试设备执行读操作,所述读操作具有对应的读操作数据;
数据比较单元,用于比较所述写操作数据和所述读操作数据是否相同,以获得所述读写测试结果。
10.根据权利要求6所述的装置,其特征在于,还包括:
释放模块,用于释放对所述待测试设备进行测试时占用的资源。
11.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-5中一个或多个所述的操作系统的设备测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710443449.9A CN109086173B (zh) | 2017-06-13 | 2017-06-13 | 一种操作系统的设备测试方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710443449.9A CN109086173B (zh) | 2017-06-13 | 2017-06-13 | 一种操作系统的设备测试方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109086173A true CN109086173A (zh) | 2018-12-25 |
CN109086173B CN109086173B (zh) | 2022-08-16 |
Family
ID=64838697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710443449.9A Active CN109086173B (zh) | 2017-06-13 | 2017-06-13 | 一种操作系统的设备测试方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109086173B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347085A (zh) * | 2019-07-16 | 2019-10-18 | 广州小鹏汽车科技有限公司 | 自动化测试系统、方法、车辆以及计算机可读介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1516014A (zh) * | 2003-01-07 | 2004-07-28 | 英业达股份有限公司 | 外围部件互连总线的测试方法 |
JP2004280588A (ja) * | 2003-03-17 | 2004-10-07 | Cats Kk | システムlsi設計支援装置およびシステムlsi設計支援プログラム |
CN1573707A (zh) * | 2003-05-15 | 2005-02-02 | 三星电子株式会社 | 测试硬盘驱动器的方法 |
CN1737773A (zh) * | 2004-08-16 | 2006-02-22 | 上海华为技术有限公司 | 对嵌入式系统进行在线监测的方法及其系统 |
CN103412769A (zh) * | 2013-07-25 | 2013-11-27 | 华为技术有限公司 | 外接卡参数配置方法、设备以及系统 |
CN105260191A (zh) * | 2015-11-03 | 2016-01-20 | 中国电子科技集团公司第四十一研究所 | 一种基于配置的测试程序与操作员界面数据交互方法 |
CN105373469A (zh) * | 2014-08-25 | 2016-03-02 | 广东金赋信息科技有限公司 | 一种基于接口的软件自动化测试方法 |
CN106713015A (zh) * | 2016-12-07 | 2017-05-24 | 武汉斗鱼网络科技有限公司 | 一种方案测试的方法及服务器 |
-
2017
- 2017-06-13 CN CN201710443449.9A patent/CN109086173B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1516014A (zh) * | 2003-01-07 | 2004-07-28 | 英业达股份有限公司 | 外围部件互连总线的测试方法 |
JP2004280588A (ja) * | 2003-03-17 | 2004-10-07 | Cats Kk | システムlsi設計支援装置およびシステムlsi設計支援プログラム |
CN1573707A (zh) * | 2003-05-15 | 2005-02-02 | 三星电子株式会社 | 测试硬盘驱动器的方法 |
CN1737773A (zh) * | 2004-08-16 | 2006-02-22 | 上海华为技术有限公司 | 对嵌入式系统进行在线监测的方法及其系统 |
CN103412769A (zh) * | 2013-07-25 | 2013-11-27 | 华为技术有限公司 | 外接卡参数配置方法、设备以及系统 |
CN105373469A (zh) * | 2014-08-25 | 2016-03-02 | 广东金赋信息科技有限公司 | 一种基于接口的软件自动化测试方法 |
CN105260191A (zh) * | 2015-11-03 | 2016-01-20 | 中国电子科技集团公司第四十一研究所 | 一种基于配置的测试程序与操作员界面数据交互方法 |
CN106713015A (zh) * | 2016-12-07 | 2017-05-24 | 武汉斗鱼网络科技有限公司 | 一种方案测试的方法及服务器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347085A (zh) * | 2019-07-16 | 2019-10-18 | 广州小鹏汽车科技有限公司 | 自动化测试系统、方法、车辆以及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109086173B (zh) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108133732B (zh) | 闪存芯片的性能测试方法、装置、设备及存储介质 | |
CN105074671B (zh) | 用于在内核模块和设备驱动程序中检测并发编程错误的方法和系统 | |
US9141518B2 (en) | GUI testing | |
CN107193733A (zh) | 模拟Monkey测试的方法、装置和系统 | |
US7277827B2 (en) | Device testing framework for creating device-centric scenario-based automated tests | |
CN106649084A (zh) | 函数调用信息的获取方法及装置、测试设备 | |
CN103530118A (zh) | 将自定义dll注入目标进程的方法及装置 | |
CN103198122B (zh) | 重启内存数据库的方法和装置 | |
CN107368426B (zh) | 一种测试方法及测试装置 | |
CN110515641A (zh) | 服务器固件的更新方法、装置及系统 | |
CN112286823A (zh) | 一种操作系统内核的测试方法和装置 | |
CN103530552A (zh) | Native API函数重构方法及装置 | |
CN107608609A (zh) | 一种事件对象发送方法与装置 | |
CN109271789A (zh) | 恶意进程检测方法、装置、电子设备及存储介质 | |
US8874966B1 (en) | Storage device error simulator tool | |
CN109086176A (zh) | 一种基于fio的ssd稳态测试方法、装置、设备及存储介质 | |
US20180157605A1 (en) | Configuration of a memory controller for copy-on-write | |
CN107733866A (zh) | Rpc请求、rpc请求处理方法、装置以及设备 | |
CN114356802A (zh) | 直接访问内存物理地址的方法和装置、系统及存储介质 | |
US20140278334A1 (en) | Method to verify correctness of computer system software and hardware components and corresponding test environment | |
CN109086173A (zh) | 一种操作系统的设备测试方法、装置和存储介质 | |
CN109189688A (zh) | 一种测试用例脚本的生成方法、生成装置及电子设备 | |
CN107908552A (zh) | 一种基于链接的测试方法、装置及设备 | |
Park et al. | Self-adaptive middleware framework for internet of things | |
CN114691496A (zh) | 单元测试方法、装置、计算设备及介质 |
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 | ||
CB02 | Change of applicant information |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |