CN111274132B - 设备驱动程序数据清理函数可靠性测试的方法及装置 - Google Patents

设备驱动程序数据清理函数可靠性测试的方法及装置 Download PDF

Info

Publication number
CN111274132B
CN111274132B CN202010052522.1A CN202010052522A CN111274132B CN 111274132 B CN111274132 B CN 111274132B CN 202010052522 A CN202010052522 A CN 202010052522A CN 111274132 B CN111274132 B CN 111274132B
Authority
CN
China
Prior art keywords
data
parameter
thread
cleaning
test sub
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.)
Active
Application number
CN202010052522.1A
Other languages
English (en)
Other versions
CN111274132A (zh
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.)
Shenzhen Zhaolong Technology Co ltd
Original Assignee
Shenzhen Zhaolong Technology Co ltd
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 Shenzhen Zhaolong Technology Co ltd filed Critical Shenzhen Zhaolong Technology Co ltd
Priority to CN202010052522.1A priority Critical patent/CN111274132B/zh
Publication of CN111274132A publication Critical patent/CN111274132A/zh
Application granted granted Critical
Publication of CN111274132B publication Critical patent/CN111274132B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

本发明适用于计算机数据处理技术领域,提供了一种设备驱动程序数据清理函数可靠性测试的方法及装置,该方法包括:初始化控制参数;依次创建数据传输测试子线程和数据清理测试子线程;采用不同的控制参数控制数据传输测试子线程和数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定设备驱动程序的错误或者遍历完预设的测试项。本发明采用两个子线程并行运行的方式测试数据清理函数可靠性,并以间接的方式监控设备端口,可以增大问题复现的概率,提高测试质量以及测量效率,解决现有技术中易对缓存数据访问隐藏缺陷漏测以及数据清理操作引起的异常漏测的问题。

Description

设备驱动程序数据清理函数可靠性测试的方法及装置
技术领域
本发明属于计算机数据处理技术领域,尤其涉及一种设备驱动程序数据清理函数可靠性测试的方法及装置。
背景技术
设备驱动程序是计算机中操作或控制一个附着在其中的、特定设备的程序,它提供对一个硬件设备进行读写访问的软件接口,使操作系统和其它计算机程序能便捷地访问硬件设备所提供的功能。设备驱动程序的核心事务是数据操作,数据操作一般包括数据传输和数据清理两大类,而对数据操作的测试是设备驱动程序测试中的核心工作。其中,数据清理是将驱动发送缓存中的待发送数据立即发送或直接丢弃、将驱动接收缓存中的数据直接丢弃、将当前发送请求中止以及将当前接收请求中止等操作。现有技术中,对数据清理操作的测试方法可以为:模拟实际运行情况,采用与数据传输操作串行执行的方式来测试数据清理操作的相关函数是否正常。
然而,串行执行的测试方式难以触发出设备驱动程序对数据缓存访问的竞争状态,因此难以充分地发现设备驱动程序中对缓存数据的访问上隐藏的缺陷,导致问题被漏测。另外,数据清理操作容易引起接收缓存或发送缓存的指针、长度等指示异常,进而导致后续发送或接收过程出错或者端口关闭操作异常,但其发生概率较低,且由于数据清理操作出现问题时往往自身并无挂死、蓝屏等明显现象,因而独立和直接测试数据清理操作函数难以发现数据清理操作所隐藏的问题。
发明内容
有鉴于此,本发明实施例提供了一种设备驱动程序数据清理函数可靠性测试的方法及装置,旨在解决现有技术中易对缓存数据访问隐藏缺陷漏测以及数据清理操作引起的异常漏测的问题。
为实现上述目的,本发明实施例的第一方面提供了一种设备驱动程序数据清理函数可靠性测试方法,包括:
初始化控制参数;
依次创建数据传输测试子线程和数据清理测试子线程;
采用不同的所述控制参数控制所述数据传输测试子线程和所述数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定所述设备驱动程序的错误或者遍历完预设的测试项。
作为本申请另一实施例,所述控制参数包括数据传输控制参数、数据清理控制参数和公用参数;
所述数据传输控制参数,用于控制所述数据传输测试子线程的运行;所述数据清理控制参数用于控制所述数据清理子线程的运行;所述公用参数,同时用于所述数据传输测试子线程和所述数据清理测试子线程。
作为本申请另一实施例,所述数据传输测试子线程的运行流程包括:
当所述设备端口打开成功时,通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行;
当接收的数据与发送的数据相同时,确定当前收发循环计数参数,当所述当前收发循环计数参数等于所述数据传输控制参数中的单次连接中额定的发送或接收轮次参数时,执行所述设备端口关闭处理;
当所述设备端口关闭时,确定连接循环计数参数,当所述连接循环计数参数等于所述数据传输控制参数中的额定连接次数参数时,终止所述数据传输测试子线程的测试。
作为本申请另一实施例,在所述确定当前收发循环计数参数之前,还包括:
当接收的数据与发送的数据相同时,执行额外接收数据处理,并检测是否接收到额外数据,所述额外数据为除所述发送的数据之外的数据;
当未接收到所述额外数据时,确定当前收发循环计数参数。
作为本申请另一实施例,在所述设备端口打开成功之后,还包括:
设置数据长度参数并赋值;
在所述确定当前收发循环计数参数之后还包括:
当所述当前收发循环计数参数小于所述单次连接中额定的发送或接收轮次参数时,根据所述数据传输控制参数中的发送数据长度变化方式参数更新所述数据长度参数,并继续通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行。
作为本申请另一实施例,所述执行所述设备端口关闭处理,包括:
执行所述设备端口关闭通知处理和关闭通知检测;
当所述关闭通知检测的结果符合第一预设条件时,执行所述设备端口的关闭处理以及关闭处理检测;
当所述关闭处理检测的结果符合第二预设条件时,确定已打开的设备端口成功关闭。
作为本申请另一实施例,所述数据清理子线程的运行流程包括:
读取所述公用参数中的设备端口句柄参数,并根据所述设备端口句柄参数的值检测所述设备端口是否打开;
当所述设备端口打开时,读取所述数据清理控制参数中的清理操作节拍参数,并将所述清理操作节拍参数的值赋值给延时时长参数;
在所述延时时长参数对应的时间内,根据所述公共参数中的公共变量设备关闭通知与应答标志参数的值,执行所述数据清理控制参数中的清理操作类型参数所指定的清理操作,以及对设备关闭通知进行应答。
本发明实施例的第二方面提供了一种设备驱动程序数据清理函数可靠性测试装置,包括:
初始化模块,用于初始化控制参数;
创建模块,用于依次创建数据传输测试子线程和数据清理测试子线程;
处理模块,用于采用不同的所述控制参数控制所述数据传输测试子线程和所述数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定所述设备驱动程序的错误或者遍历完预设的测试项。
本发明实施例的第三方面提供了一种设备驱动程序数据清理函数可靠性测试的系统,包括主设备和从设备,所述主设备用于执行上述任一实施例所述的设备驱动程序数据清理函数可靠性测试的方法;
所述从设备,用于根据所述主设备发送的通知,打开对应的从设备端口,并从所述从设备端口接收数据,当接收到的数据的字节数大于预设值时,将接收到的数据向打开的所述从设备端口发送,循环执行接收数据以及后续操作流程。
本发明实施例的第四方面提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一实施例所述的设备驱动程序数据清理函数可靠性测试的所述的步骤。
本发明实施例与现有技术相比存在的有益效果是:与现有技术相比,本发明采用不同的所述控制参数控制所述数据传输测试子线程和所述数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定所述设备驱动程序的错误或者遍历完预设的测试项,从而可以间接的方式通过监控并行运行的端口打开、数据发送、数据接收、额外接收以及端口关闭流程中的运行情况,来测试数据清理函数的可靠性,且采用数据传输测试子线程和所述数据清理测试子线程并行运行的方式测试数据清理函数可靠性,可以增大问题复现的概率,从而可以提高测试质量以及测量效率,解决现有技术中易对缓存数据访问隐藏缺陷漏测以及数据清理操作引起的异常漏测的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的设备驱动程序数据清理函数可靠性测试的方法的实现流程示意图;
图2是本发明实施例提供的数据传输测试子线程的运行流程的示意图;
图3是本发明实施例提供的数据清理测试子线程的运行流程的示意图;
图4是本发明实施例提供的设备驱动程序数据清理函数可靠性测试的装置的示例图;
图5是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1为本发明实施例提供的设备驱动程序数据清理函数可靠性测试的方法的实现流程示意图,其中设备驱动程序数据清理函数可靠性测试的方法的执行主体为主设备。主设备为设备驱动程序所驱动的设备,与主设备进行连接和通讯的设备称为从设备,主设备和从设备组成的设备驱动程序数据清理函数可靠性测试的系统共同执行本方案中的测试事务。主设备和从设备上均运行相匹配的测试程序,其中,主设备上的测试程序和流程是本方案的核心。
设备驱动程序数据清理函数可靠性测试的方法的执行条件为:假定用于测试的主设备除待测设备驱动程序尚待验证之外,所有硬件及其它软件均功能正常;假定从设备的所有硬件及软件均功能正常;假定主设备和从设备之间的物理连接完好。设备驱动程序数据清理函数可靠性测试的方法详述如下。
步骤101,初始化控制参数。
可选的,在初始化控制参数之前,在宿主进程中定义控制测试方式的相关控制参数。宿主进程可用于依次创建数据传输测试子线程和数据清理测试子线程。
可选的,所述控制参数包括数据传输控制参数、数据清理控制参数和公用参数。需要说明的是,在本实施例中,控制参数也称为控制变量,变量是参数的具体实现方式,两者实质上相同,在本文中以参数进行描述。
所述数据传输控制参数,用于控制所述数据传输测试子线程的运行;所述数据清理控制参数用于控制所述数据清理子线程的运行;所述公用参数,同时用于所述数据传输测试子线程和所述数据清理测试子线程。
可选的,公用参数包括但不限于:设备句柄参数、设备关闭通知与应答标志参数以及设备关闭应答超时时限参数。其中,设备句柄参数采用mDevHd表示,设备关闭通知与应答标志参数采用mCloseIo表示,设备关闭应答超时时限参数采用mCloseTimeout表示。
设备句柄参数是计算机中设备被打开后的设备对象索引。设备关闭通知与应答标志参数用于数据传输测试子线程和数据清理测试子线程进行设备关闭时的信息交互。设备关闭应答超时时限参数用于控制数据传输测试子线程接收数据清理测试子线程对关闭设备通知的应答时限。
可选的,数据传输控制参数包括但不限于:起始发送包数据长度参数、发送数据长度变化方式参数、最大发送长度参数、接收超时时限参数、单次连接中额定的发送或接收轮次参数、额外接收的时长参数、两次连接的间隔时长参数以及额定连接次数参数。其中,起始发送包数据长度参数采用tStartLen表示、发送数据长度变化方式参数采用tLenMode表示、最大发送长度参数采用tLenMaxLen表示、接收超时时限参数采用tRxTimeout表示、单次连接中额定的发送或接收轮次参数采用tTxRxTurns表示、额外接收的时长参数采用tExtraRxTime表示、两次连接的间隔时长参数采用tInterval表示、额定连接次数参数采用tRatedConnects表示。
其中,起始发送包数据长度参数用于指示单次主设备和从设备的连接中首个发送包的数据字节数。
发送数据长度变化方式参数用于指示当前发送包的数据长度相对于上次的变化方式,其中发送数据长度变化方式参数包括:固定不变、循环递增、循环递减、随机变化等,其可以依次用数字、字母等编码方式进行表示,例如采用0、1、2、3等或a、b、c、d等来表示。
最大发送长度参数用于指示单次发送所容许的最大数据字节数。
接收超时时限参数用于指示接收整个数据包的最大允许耗用时长。时间长度的单位可以根据设备的通讯传输速度选择,例如可以为纳秒、微秒、毫秒或秒等。作为示例,本实施例中的所有时长单位均选择为毫秒。
单次连接中额定的发送或接收轮次参数是指每次主设备与从设备连接后循环进行发送或接收的额定次数。
额外接收的时长参数是指常规的接收过程结束后再次进行接收的时长。在额外接收时长内,若接收到数据,则表明所测试的驱动程序出现异常。
两次连接的间隔时长参数是指从关闭上一次的连接到重新开启本次连接的等候时间。
额定连接次数参数表示本组合的参数配置下需要运行的连接总次数,从设备端口打开到设备端口关闭的整个过程称为一次连接。
可选的,数据清理控制参数包括但不限于:清理操作类型参数、清理操作节拍参数、周期清理下的间隔时长参数以及随机清理下的随机时长最大值参数。其中,清理操作节拍参数可以包括周期清理和随机清理。清理操作类型参数采用cOpType表示,清理操作节拍参数采用cOpMode表示,周期清理下的间隔时长参数采用cCycleInterval表示,随机清理下的随机时长最大值参数采用cRandomMax表示。
清理操作类型参数是指清理方式,包括:清除发送缓存、中止发送请求、立即完成发送请求、清除接收缓存、中止接收请求中的任一个或者其中几个的其组合。需要说明的是,中止发送请求与立即完成发送请求是互斥的方式,可分别与其它方式进行组合,但两者不同时组合在一个类型中。作为例子,依次定义上述清理方式的宏名为:TX_CLEAR、TX_ABORT、TX_FLUSH、RX_CLEAR、RX_ABORT,其对应值可依次设置为:1、2、4、8、16。
清理操作节拍参数包括周期清理和随机清理两种。周期清理是指间隔固定的时间进行清理操作,例如:每10毫秒执行一次清理操作;随机清理是指在所任意选择的时刻进行清理操作。可以依次用0、1或其它编码方式来表示。可选的,周期清理用“C”表示,随机清理用“R”来表示,“C”是Cyclic的首字母、“R”是Random的首字母。
周期清理下的间隔时长参数是指周期清理节拍下的间隔时间长度。
随机清理下的随机时长最大值参数是指随机清理节拍下最大容许随机时长。
可选的,本步骤中初始化控制参数,可以包括:分别设置公用参数中各个参数的值,以及分别为数据传输控制参数和数据清理控制参数进行赋值。
例如,将公用参数中mDevHd的值置为第一预设值,例如第一预设值可以为-1,表示设备端口处于未打开状态;将mCloseIo清零,即mCloseIo的值为0;将mCloseTimeout的值设定为时长T。具体示例,T可以等于100毫秒。
可以通过参数文件、参数编辑对话框、参数文件与参数编辑对话框同时采用的方式根据需求给上述数据传输控制参数和数据清理控制参数进行赋值。
例如,tStartLen=100,tLenMode=0,tLenMaxLen=10240,tRxTimeout=500,tTxRxTurns=100,tExtraRxTime=1000,tInterval=10,tRatedConnects=10000,cOpType=TX_CLEAR,cOpMode=‘C’,cCycleInterval=1000,cRandomMax=1000。
步骤102,依次创建数据传输测试子线程和数据清理测试子线程。
可选的,测试主进程中,依次创建两个测试子线程:数据传输测试子线程和数据清理测试子线程。线程是计算机中能被调度程序独立管理的最小程序化指令序列,它由一个主进程创建,是该主进程的一部分,与创建它的宿主进程一起并发运行。一个进程可以创建多个线程,同一宿主进程的多个线程也可以并发运行,且都共享宿主进程的所有变量,但各线程的自有变量是彼此独立的。也就是说,控制参数中数据传输控制参数是数据传输测试子线程的自有变量,数据清理控制参数是数据清理子线程的自有变量,公用参数为数据传输测试子线程和数据清理子线程共享。两个并行线程之间采用共享内存的方式进行通讯同步,从而可以使得测试实现简单,对操作系统的依赖更小,实用性更广。
步骤103,采用不同的所述控制参数控制所述数据传输测试子线程和所述数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定所述设备驱动程序的错误或者遍历完预设的测试项。
可选的,在步骤103中可以包括数据传输测试子线程的运行流程以及数据清理测试子线程的运行流程,如图2所示数据传输测试子线程的运行流程包括以下步骤。
步骤201,当所述设备端口打开成功时,通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行。
可选的,在本步骤之前,先将连接循环计数参数清零,连接循环计数参数可以采用nConnect表示,用于控制数据传输测试子线程的运行流程中的连接次数。然后调用系统所提供的相关API函数,用于打开设备驱动程序所服务的设备端口,即主设备的设备端口,并与从设备建立通讯连接。
若设备端口打开失败,则生成错误提示并终止测试所述数据传输测试子线程。若设备端口打开成功,则将返回的设备句柄参数存入公共参数mDevHd。一般设备成功打开后返回的设备句柄是一个非负的整数。
当设备端口打开成功时,将收发循环计数参数nTurn清零,nTurn用于控制后续向打开的设备端口发送/接收操作的循环次数。
将起始发送包数据长度参数tStartLen的值赋给待发送的数据长度参数Ltx。即在打开的设备端口发送长度为Ltx的数据,可以根据接收到数据的长度检测是否接收数据成功。
可选的,所述通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行,可以包括:
1)调用系统所提供的相关API函数,向已打开的设备端口发送长度为Ltx的数据,其中发送的数据可为随机数据或预设数据。若发送数据失败,则生成错误提示并终止测试所述数据传输测试子线程。
2)调用系统所提供的相关API函数,从已打开的设备端口接收数据,此时接收的数据期望长度为Ltx,设定接收超时参数为tRxTimeout所指定的值。将实际接收到的字节数放入变量Lrx中,将接收到的数据放入缓存变量V中。
3)检测接收函数的执行结果。执行结果可以包括三部分:第一,接收函数的返回值指示接收超时以外的异常信息,此时生成错误提示并终止测试所述数据传输测试子线程;第二,接收到的数据的长度Lrx与期望长度Ltx相同,但接收到的数据的字节与发送的数据的字节不同,表示两个数据串不同,此时也需要生成错误提示并终止测试所述数据传输测试子线程;第三,接收到的数据的长度Lrx与期望长度Ltx相同,且接收到的数据的字节与发送的数据的字节也相同,此时执行步骤202。
可选的,在判断接收的数据与发送的数据相同之后,在步骤202确定当前收发循环计数参数之前,还包括:执行额外接收数据处理,并检测是否接收到额外数据,所述额外数据为除所述发送的数据之外的数据;当未接收到所述额外数据时,确定当前收发循环计数参数。
即在额外接收的时长参数tExtraRxTime所设定的时长内,继续接收数据。此时可以循环调用系统所提供的相关API函数,从已打开的设备端口接收数据,将实际接收到的字节数累加到变量S中。当tExtraRxTime所设定的时长耗尽后,结束循环额外接收的过程,并检测S的值。若S不为零,表明接收到额外数据,设备驱动程序出现异常,则生成错误提示并终止测试所述数据传输测试子线程。若S为零,表示未接收到额外数据,设备驱动程序正常。继续执行步骤202中确定当前收发循环计数参数的操作。
步骤202,当接收的数据与发送的数据相同时,确定当前收发循环计数参数,当所述当前收发循环计数参数等于所述数据传输控制参数中的单次连接中额定的发送或接收轮次参数时,执行所述设备端口关闭处理。
本步骤中“接收的数据与发送的数据相同”表示接收到的数据的长度Lrx与期望长度Ltx相同,且接收到的数据的字节与发送的数据的字节也相同。
可选的,所述确定当前收发循环计数参数可以包括将收发循环计数参数nTurn增一。在本步骤之前,设备端口打开成功时,将收发循环计数参数nTurn清零,此时一个收发操作完成,则将nTurn增一,当再一个收发操作完成后,再将nTurn增一,以此类推。
可选的,在确定当前收发循环计数参数之后还包括:当所述当前收发循环计数参数nTurn小于所述数据传输控制参数中的单次连接中额定的发送或接收轮次参数tTxRxTurns时,根据所述数据传输控制参数中的发送数据长度变化方式参数更新所述数据长度参数,并继续通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行。
可选的,所述根据所述数据传输控制参数中的发送数据长度变化方式参数更新所述数据长度参数,可以包括:
若发送数据长度变化方式参数tLenMode的值为第一值,则不改变数据长度参数Ltx的值;
若tLenMode的值为第二值,则将Ltx的值增1;
若tLenMode的值为第三值,则将Ltx的值减1;
若tLenMode的值为第四值,则生成一个随机整数,并将随机整数的值赋值给Ltx;其中,随机整数在(0,tLenMaxLen]区间内随机选择。tLenMaxLen表示数据传输控制参数中的最大发送长度参数。可选的,第一值可以为0,第二值可以为1,第三值可以为2,第四值可以为3。
进一步的,对更新后的Ltx进行检测。若更新后的Ltx大于tLenMaxLen时,则需要重新确定Ltx的长度,此时设置Ltx的值为第二预设值,可选的,第二预设值可以为1;若更新后的Ltx的值为0,则设置Ltx的值为最大发送长度参数的值。更新Ltx完成后,则继续执行步骤201,即继续通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行。
可选的,在本步骤中,当所述当前收发循环计数参数等于所述数据传输控制参数中的单次连接中额定的发送或接收轮次参数时,执行所述设备端口关闭处理,可以包括:执行所述设备端口关闭通知处理和关闭通知检测;当所述关闭通知检测的结果符合第一预设条件时,执行所述设备端口的关闭处理以及关闭处理检测;当所述关闭处理检测的结果符合第二预设条件时,确定已打开的设备端口成功关闭。
可选的,第一预设条件为在公共参数mCloseTimeout的值所表示的时长内,公共参数mCloseIo的值是否为0;第二预设条件为执行设备端口关闭的操作时间小于关闭函数正常耗时门限值。
可选的,所述执行所述设备端口关闭通知处理和关闭通知错误检测,包括:将公共参数mCloseIo的值设置为1,表示设备端口要关闭了,并通知数据清理测试子线程暂停数据清理操作;在公共参数mCloseTimeout的值所表示的时长内,不断地检测公共参数mCloseIo的值,若mCloseIo的值为0,则执行所述设备端口的关闭处理以及关闭处理错误检测;若在该时限内mCloseIo一直不等于0,则生成错误提示并终止测试所述数据传输测试子线程。
可选的,执行所述设备端口的关闭处理以及关闭处理检测,包括:将当前系统计时值赋值给计时参数t0,其中,系统计时值可以是系统从开机到当前所经历的滴答数,也可以是能精确到微秒或毫秒的高精度实时时钟计数;调用系统所提供的相关API函数,将已打开的设备端口关闭;若关闭函数返回关闭失败信息,则生成错误提示并终止测试所述数据传输测试子线程;若关闭函数返回成功关闭信息,读取当前系统计时值,并将当前系统计时值赋值给计时参数t1;计算关闭函数的耗时t2,其中t2=t1-t0;检测t2是否大于关闭函数正常耗时门限值T;当t2大于T时,表明设备驱动程序出现异常,则生成错误提示并终止测试所述数据传输测试子线程;当t2小于或等于T时,表明设备驱动程序正常,可继续执行后续流程。关闭函数正常耗时门限值T是根据设备性能、系统性能或需求等条件所设置的一个时长阈值,例如:T可以为100毫秒。
步骤203,当所述设备端口关闭时,确定连接循环计数参数,当所述连接循环计数参数等于所述数据传输控制参数中的额定连接次数参数时,终止所述数据传输测试子线程的测试。
可选的,在步骤203中确定连接循环计数参量之前,还包括:当所述设备端口关闭时,将公共参数mDevHd的值设置为-1,指示设备端口处于未打开的状态;并根据实际延时对tInterval的值所表示的时长参数进行延时处理。
可选的,将连接循环计数参数nConnect的值增一,表示当前完成一个连接循环。当再完成一个连接循环时,继续在nConnect的值上增一。
检测更新后的nConnect,当nConnect小于额定连接次数参数tRatedConnects的值时,继续执行步骤201,即继续执行通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行的步骤。当nConnect等于tRatedConnects时,表明额定的测试次数已达到且未发现问题,则报告本参数下的测试通过,终止所述数据传输测试子线程的测试。
如图3所示数据清理测试子线程的运行流程,包括以下步骤。
步骤301,读取所述公用参数中的设备端口句柄参数,并根据所述设备端口句柄参数的值检测所述设备端口是否打开。
由于数据清理测试子线程和数据传输测试子线程可以共享公共参数,因此数据清理测试子线程可以读取公用参数中的设备端口句柄参数mDevHd。当mDevHd的值小于预设值时,表示设备端口未打开,则继续读取设备端口句柄参数,若mDevHd的值大于或等于预设值时,表示设备端口已打开,则执行步骤302。可选的,预设值可以根据需求进行限定,在本实施例中预设值可以为零。
步骤302,当所述设备端口打开时,读取所述数据清理控制参数中的清理操作节拍参数,并将所述清理操作节拍参数的值赋值给延时时长参数。
可选的,本步骤中读取cOpMode的值,并定义一个临时延时时长参数tm,用于存取延时时长。若cOpMode的值为周期清理’C’,则将周期清理下的间隔时长参数的值赋值给tm;若cOpMode的值为随机清理’R’,则在(0,cRandomMax]区间内生成一随机整数,并将生成的随机整数赋值给tm。
步骤303,在所述延时时长参数对应的时间内,根据所述公共参数中的公共变量设备关闭通知与应答标志参数的值,执行所述数据清理控制参数中的清理操作类型参数所指定的清理操作,以及对设备关闭通知进行应答。
可选的,在tm所指定的时限内,不断地检测公共变量设备关闭通知与应答标志参数mCloseIo的值,若mCloseIo的值为1时,则清除此标志,将mCloseIo的值设置为0,表示对主设备发送的设备关闭通知的应答。若mCloseIo的值为0时,则继续执行后续步骤。
在定义的临时时限P内,不断地检测mDevHd的值,若mDevHd的值小于0,表明数据传输测试子线程已收到本线程的设备关闭通知应答并完成端口关闭,则继续执行循环处理过程,即继续执行步骤301。
可选的,约定的临时时限P应足够大,使得数据传输测试子线程中端口关闭函数足以执行完毕。例如,P可以设置为1秒。
如果在临时时限P内mDevHd一直大于或等于0,表明数据传输测试子线程异常,则生成错误提示并终止测试所述数据清理测试子线程。
可选的,调用系统所提供的相关API函数,对公共参数mDevHd所指示的设备端口执行清理操作类型参数cOpType所指定的清理操作,例如,可以采用清除发送缓存、中止发送请求、立即完成发送请求、清除接收缓存、中止接收请求中的任一个或者其中几个组合的清理方式清理数据,这样可以增强测试的灵活性和测试覆盖的全面性。
若该函数返回错误,则生成错误提示并终止测试所述数据清理测试子线程。
清理数据完成后继续执行步骤301继续进行数据清理流程。
可选的,当采用一种控制参数的组合完成一次上述的测量流程后,可以改变控制参数的组合继续执行上述步骤,直至确定所述设备驱动程序的错误或者遍历完预设的测试项。
需要说明的是,需要遍历的测试项,可以根据需求进行设定。例如:发送数据长度变化方式参数可以选取固定不变、循环递增、循环递减以及随机变化中的任意一种;清理操作类型参数可以选择清除发送缓存、中止发送请求、立即完成发送请求、清除接收缓存、中止接收请求等之一或者其组合;清理操作节拍参数可以选择周期清理或随机清理。
上述设备驱动程序数据清理函数可靠性测试的方法,通过采用不同的所述控制参数控制所述数据传输测试子线程和所述数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定所述设备驱动程序的错误或者遍历完预设的测试项,从而可以间接的方式通过监控并行运行的端口打开、数据发送、数据接收、额外接收以及端口关闭流程中的运行情况,来测试数据清理函数的可靠性。采用数据传输测试子线程和所述数据清理测试子线程并行运行的方式测试数据清理函数可靠性,可以增大问题复现的概率,从而可以提高测试质量以及测量效率。另外,两个并行线程之间采用共享内存的方式进行通讯同步,从而可以使得测试实现简单,对操作系统的依赖更小,实用性更广。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的设备驱动程序数据清理函数可靠性测试的方法,图4示出了本发明实施例提供的设备驱动程序数据清理函数可靠性测试的装置的示例图。如图4所示,该装置可以包括:初始化模块401、创建模块402和处理模块403。
初始化模块401,用于初始化控制参数;
创建模块402,用于依次创建数据传输测试子线程和数据清理测试子线程;
处理模块403,用于采用不同的所述控制参数控制所述数据传输测试子线程和所述数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定所述设备驱动程序的错误或者遍历完预设的测试项。
可选的,所述控制参数包括数据传输控制参数、数据清理控制参数和公用参数;所述数据传输控制参数,用于控制所述数据传输测试子线程的运行;所述数据清理控制参数用于控制所述数据清理子线程的运行;所述公用参数,同时用于所述数据传输测试子线程和所述数据清理测试子线程。
可选的,所述处理模块403可以用于:
当所述设备端口打开成功时,通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行;
当接收的数据与发送的数据相同时,确定当前收发循环计数参数,当所述当前收发循环计数参数等于所述数据传输控制参数中的单次连接中额定的发送或接收轮次参数时,执行所述设备端口关闭处理;
当所述设备端口关闭时,确定连接循环计数参数,当所述连接循环计数参数等于所述数据传输控制参数中的额定连接次数参数时,终止所述数据传输测试子线程的测试。
可选的,在所述处理模块403确定当前收发循环计数参数之前,还可以用于:当接收的数据与发送的数据相同时,执行额外接收数据处理,并检测是否接收到额外数据,所述额外数据为除所述发送的数据之外的数据;当未接收到所述额外数据时,确定当前收发循环计数参数。
可选的,在所述设备端口打开成功之后,处理模块403还可以用于:
设置数据长度参数并赋值;
在所述处理模块403确定当前收发循环计数参数之后,所述处理模块403还可以用于:
当所述当前收发循环计数参数小于所述单次连接中额定的发送或接收轮次参数时,根据所述数据传输控制参数中的发送数据长度变化方式参数更新所述数据长度参数,并继续通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行。
可选的,当所述数据传输测试子线程的运行流程中任一操作失败时,所述处理模块403均生成错误提示并终止测试所述数据传输测试子线程。
可选的,所述处理模块403执行所述设备端口关闭处理时,可以用于:
执行所述设备端口关闭通知处理和关闭通知检测;
当所述关闭通知检测的结果符合第一预设条件时,执行所述设备端口的关闭处理以及关闭处理检测;
当所述关闭处理检测的结果符合第二预设条件时,确定已打开的设备端口成功关闭。
可选的,所述处理模块403执行所述数据清理子线程的运行流程时,可以用于:
读取所述公用参数中的设备端口句柄参数,并根据所述设备端口句柄参数的值检测所述设备端口是否打开;
当所述设备端口打开时,读取所述数据清理控制参数中的清理操作节拍参数,并将所述清理操作节拍参数的值赋值给延时时长参数;
在所述延时时长参数对应的时间内,根据所述公共参数中的公共变量设备关闭通知与应答标志参数的值,执行所述数据清理控制参数中的清理操作类型参数所指定的清理操作,以及对设备关闭通知进行应答。
上述设备驱动程序数据清理函数可靠性测试的装置,通过处理模块采用不同的所述控制参数控制所述数据传输测试子线程和所述数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定所述设备驱动程序的错误或者遍历完预设的测试项,从而可以间接的方式通过监控并行运行的端口打开、数据发送、数据接收、额外接收以及端口关闭流程中的运行情况,来测试数据清理函数的可靠性。采用数据传输测试子线程和所述数据清理测试子线程并行运行的方式测试数据清理函数可靠性,可以增大问题复现的概率,从而可以提高测试质量以及测量效率。另外,两个并行线程之间采用共享内存的方式进行通讯同步,从而可以使得测试实现简单,对操作系统的依赖更小,实用性更广。
本实施例还提供一种设备驱动程序数据清理函数可靠性测试的系统,包括主设备和从设备,所述主设备用于执行上述任一实施例所述的设备驱动程序数据清理函数可靠性测试的方法;所述从设备,用于根据所述主设备发送的通知,打开对应的从设备端口,并从所述从设备端口接收数据,当接收到的数据的字节数大于预设值时,将接收到的数据向打开的所述从设备端口发送,循环执行接收数据以及后续操作流程。
可选的,接收的数据可以为期望长度的数据,此数据的长度可根据从设备的接收缓存的空间进行设定,例如若该从设备端口的接收缓存为10240字节,则期望的长度可设定为10240字节。可选的,可将实际接收到的字节数记录到变量R中,将接收到的数据保存到缓冲区B中。当R大于零时,将缓冲区B中的R字节数据向打开的从设备端口发送。
上述设备驱动程序数据清理函数可靠性测试的系统,通过主设备和从设备配合完成设备驱动程序数据清理函数可靠性测试,具备上述任一实施例所示的设备驱动程序数据清理函数可靠性测试的方法所具有的有益效果。
图5是本发明一实施例提供的终端设备的示意图。如图5所示,该实施例的终端设备500包括:处理器501、存储器502以及存储在所述存储器502中并可在所述处理器501上运行的计算机程序503,例如设备驱动程序数据清理函数可靠性测试的程序。所述处理器501执行所述计算机程序503时实现上述设备驱动程序数据清理函数可靠性测试方法实施例中的步骤,例如图1所示的步骤101至103,或者图2所示的步骤201至步骤203,或者图3所示的步骤301至步骤303,所述处理器501执行所述计算机程序503时实现上述各装置实施例中各模块的功能,例如图4所示模块401至403的功能。
示例性的,所述计算机程序503可以被分割成一个或多个程序模块,所述一个或者多个程序模块被存储在所述存储器502中,并由所述处理器501执行,以完成本发明。所述一个或多个程序模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序503在所述设备驱动程序数据清理函数可靠性测试的装置或者终端设备500中的执行过程。例如,所述计算机程序503可以被分割成初始化模块401、创建模块402和处理模块403,各模块具体功能如图4所示,在此不再一一赘述。
所述终端设备500可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器501、存储器502。本领域技术人员可以理解,图5仅仅是终端设备500的示例,并不构成对终端设备500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器501可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器502可以是所述终端设备500的内部存储单元,例如终端设备500的硬盘或内存。所述存储器502也可以是所述终端设备500的外部存储设备,例如所述终端设备500上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器502还可以既包括所述终端设备500的内部存储单元也包括外部存储设备。所述存储器502用于存储所述计算机程序以及所述终端设备500所需的其他程序和数据。所述存储器502还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (8)

1.一种设备驱动程序数据清理函数可靠性测试的方法,其特征在于,包括:
初始化控制参数,所述控制参数包括数据传输控制参数、数据清理控制参数和公用参数;
依次创建数据传输测试子线程和数据清理测试子线程;
采用不同的所述控制参数控制所述数据传输测试子线程和所述数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定所述设备驱动程序的错误或者遍历完预设的测试项;
其中,所述数据传输测试子线程的运行流程包括:
当所述设备端口打开成功时,通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行;
当接收的数据与发送的数据相同时,确定当前收发循环计数参数,当所述当前收发循环计数参数等于所述数据传输控制参数中的单次连接中额定的发送或接收轮次参数时,执行所述设备端口关闭处理;
当所述设备端口关闭时,确定连接循环计数参数,当所述连接循环计数参数等于所述数据传输控制参数中的额定连接次数参数时,终止所述数据传输测试子线程的测试;
所述数据清理测试子线程的运行流程包括:
读取所述公用参数中的设备端口句柄参数,并根据所述设备端口句柄参数的值检测所述设备端口是否打开;
当所述设备端口打开时,读取所述数据清理控制参数中的清理操作节拍参数,并将所述清理操作节拍参数的值赋值给延时时长参数;
在所述延时时长参数对应的时间内,根据所述公共参数中的公共变量设备关闭通知与应答标志参数的值,执行所述数据清理控制参数中的清理操作类型参数所指定的清理操作,以及对设备关闭通知进行应答。
2.如权利要求1所述的设备驱动程序数据清理函数可靠性测试的方法,其特征在于,所述数据传输控制参数,用于控制所述数据传输测试子线程的运行;所述数据清理控制参数用于控制所述数据清理测试子线程的运行;所述公用参数,同时用于所述数据传输测试子线程和所述数据清理测试子线程。
3.如权利要求1所述的设备驱动程序数据清理函数可靠性测试的方法,其特征在于,在所述确定当前收发循环计数参数之前,还包括:
当接收的数据与发送的数据相同时,执行额外接收数据处理,并检测是否接收到额外数据,所述额外数据为除所述发送的数据之外的数据;
当未接收到所述额外数据时,确定当前收发循环计数参数。
4.如权利要求1所述的设备驱动程序数据清理函数可靠性测试的方法,其特征在于,在所述设备端口打开成功之后,还包括:
设置数据长度参数并赋值;
在所述确定当前收发循环计数参数之后,还包括:
当所述当前收发循环计数参数小于所述单次连接中额定的发送或接收轮次参数时,根据所述数据传输控制参数中的发送数据长度变化方式参数更新所述数据长度参数,并继续通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行。
5.如权利要求1所述的设备驱动程序数据清理函数可靠性测试的方法,其特征在于,所述执行所述设备端口关闭处理,包括:
执行所述设备端口关闭通知处理和关闭通知检测;
当所述关闭通知检测的结果符合第一预设条件时,执行所述设备端口的关闭处理以及关闭处理检测;
当所述关闭处理检测的结果符合第二预设条件时,确定已打开的设备端口成功关闭。
6.一种设备驱动程序数据清理函数可靠性测试的装置,其特征在于,包括:
初始化模块,用于初始化控制参数,所述控制参数包括数据传输控制参数、数据清理控制参数和公用参数;
创建模块,用于依次创建数据传输测试子线程和数据清理测试子线程;
处理模块,用于采用不同的所述控制参数控制所述数据传输测试子线程和所述数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定所述设备驱动程序的错误或者遍历完预设的测试项;
其中,所述数据传输测试子线程的运行流程包括:
当所述设备端口打开成功时,通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行;
当接收的数据与发送的数据相同时,确定当前收发循环计数参数,当所述当前收发循环计数参数等于所述数据传输控制参数中的单次连接中额定的发送或接收轮次参数时,执行所述设备端口关闭处理;
当所述设备端口关闭时,确定连接循环计数参数,当所述连接循环计数参数等于所述数据传输控制参数中的额定连接次数参数时,终止所述数据传输测试子线程的测试;
所述数据清理测试子线程的运行流程包括:
读取所述公用参数中的设备端口句柄参数,并根据所述设备端口句柄参数的值检测所述设备端口是否打开;
当所述设备端口打开时,读取所述数据清理控制参数中的清理操作节拍参数,并将所述清理操作节拍参数的值赋值给延时时长参数;
在所述延时时长参数对应的时间内,根据所述公共参数中的公共变量设备关闭通知与应答标志参数的值,执行所述数据清理控制参数中的清理操作类型参数所指定的清理操作,以及对设备关闭通知进行应答。
7.一种设备驱动程序数据清理函数可靠性测试的系统,其特征在于,包括主设备和从设备,所述主设备用于执行上述权利要求1-5中任一项所述的设备驱动程序数据清理函数可靠性测试的方法;
所述从设备,用于根据所述主设备发送的通知,打开对应的从设备端口,并从所述从设备端口接收数据,当接收到的数据的字节数大于预设值时,将接收到的数据向打开的所述从设备端口发送,循环执行接收数据以及后续操作流程。
8.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
CN202010052522.1A 2020-01-17 2020-01-17 设备驱动程序数据清理函数可靠性测试的方法及装置 Active CN111274132B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010052522.1A CN111274132B (zh) 2020-01-17 2020-01-17 设备驱动程序数据清理函数可靠性测试的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010052522.1A CN111274132B (zh) 2020-01-17 2020-01-17 设备驱动程序数据清理函数可靠性测试的方法及装置

Publications (2)

Publication Number Publication Date
CN111274132A CN111274132A (zh) 2020-06-12
CN111274132B true CN111274132B (zh) 2023-07-25

Family

ID=70997264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010052522.1A Active CN111274132B (zh) 2020-01-17 2020-01-17 设备驱动程序数据清理函数可靠性测试的方法及装置

Country Status (1)

Country Link
CN (1) CN111274132B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463396B (zh) * 2021-02-03 2021-05-07 树根互联技术有限公司 压力测试数据的并行传输方法、压力测试工具及电子设备
CN115174442B (zh) * 2022-06-24 2024-04-05 硕橙(厦门)科技有限公司 一种多模态进程数据传输方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109948807A (zh) * 2019-03-14 2019-06-28 腾讯科技(深圳)有限公司 一种主动学习方法及装置
CN110032508A (zh) * 2019-03-04 2019-07-19 百富计算机技术(深圳)有限公司 功能驱动程序测试方法、终端设备及存储介质
WO2019199674A1 (en) * 2018-04-09 2019-10-17 Videojet Technologies Inc. System and method for tracking production line productivity with an industrial printer

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015027403A1 (en) * 2013-08-28 2015-03-05 Hewlett-Packard Development Company, L.P. Testing multi-threaded applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019199674A1 (en) * 2018-04-09 2019-10-17 Videojet Technologies Inc. System and method for tracking production line productivity with an industrial printer
CN110032508A (zh) * 2019-03-04 2019-07-19 百富计算机技术(深圳)有限公司 功能驱动程序测试方法、终端设备及存储介质
CN109948807A (zh) * 2019-03-14 2019-06-28 腾讯科技(深圳)有限公司 一种主动学习方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
谈良 ; 纪凌 ; .基于FPGA的多通道数据采集系统设计与实现.电子测量技术.2018,(05),全文. *
龚健 ; 华更新 ; 孙越 ; 衣学慧 ; .基于多种并发机制的卫星电子设备地面测试软件设计方法.空间控制技术与应用.2012,(03),全文. *

Also Published As

Publication number Publication date
CN111274132A (zh) 2020-06-12

Similar Documents

Publication Publication Date Title
US5630102A (en) In-circuit-emulation event management system
CA1186415A (en) Data processing system common bus utilization detection logic
CN111274132B (zh) 设备驱动程序数据清理函数可靠性测试的方法及装置
JP4885316B2 (ja) 試験装置および試験方法
US6385637B1 (en) Periodic process timer
CA1263759A (en) Arrangement for on-line diagnostic testing of an off- line standby processor in a duplicated processor configuration
US5715435A (en) Trace control circuit in emulation system
US7685325B2 (en) Synchronous bus controller system
CN110061896B (zh) 一种modbus-rtu总线地址冲突检测方法
US6633941B2 (en) Reduced networking interrupts
JPH10240572A (ja) 命令トレース供給方式
CN109921915B (zh) 测试实时时钟模块唤醒功能的方法、装置及电子设备
US20070074141A1 (en) Simulation apparatus and simulation method
CN109597653A (zh) Bios与bmc命令交互的方法、bios及bmc
CN108519883A (zh) 参数修改方法、装置、终端设备及存储介质
KR19980076203A (ko) 디지털 신호처리 프로세서의 비동기방식 직렬데이터 송수신 방법
GB2329048A (en) A debugger interface unit with a stepping mode
CN108369565A (zh) 通信装置、通信方法、程序、以及通信系统
CN116436540A (zh) Led显示屏接收卡测试方法、装置、测试卡及存储介质
CN106506074B (zh) 一种检测光口状态的方法和装置
US20060048011A1 (en) Performance profiling of microprocessor systems using debug hardware and performance monitor
CN113300909B (zh) 并机ups通信异常检测方法、装置及并机ups系统
CN115658446A (zh) 一种wdt仿真验证方法、装置、设备及介质
CN114968681A (zh) 监测i2c总线通信异常的方法及装置、i2c主设备
US20120240128A1 (en) Memory Access Performance Diagnosis

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230620

Address after: 518000 Room 401, Building 3, Shenzhen Software Park, Maling Community, Yuehai Street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Zhaolong Technology Co.,Ltd.

Address before: 401, 402, building 3, Shenzhen Software Park, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: PAX COMPUTER TECHNOLOGY (SHENZHEN) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant