设备驱动程序数据清理函数可靠性测试的方法及装置制造方法及图纸

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

Method and device of reliability test for data cleaning function of device driver

【技术实现步骤摘要】
设备驱动程序数据清理函数可靠性测试的方法及装置
本专利技术属于计算机数据处理
,尤其涉及一种设备驱动程序数据清理函数可靠性测试的方法及装置。
技术介绍
设备驱动程序是计算机中操作或控制一个附着在其中的、特定设备的程序,它提供对一个硬件设备进行读写访问的软件接口,使操作系统和其它计算机程序能便捷地访问硬件设备所提供的功能。设备驱动程序的核心事务是数据操作,数据操作一般包括数据传输和数据清理两大类,而对数据操作的测试是设备驱动程序测试中的核心工作。其中,数据清理是将驱动发送缓存中的待发送数据立即发送或直接丢弃、将驱动接收缓存中的数据直接丢弃、将当前发送请求中止以及将当前接收请求中止等操作。现有技术中,对数据清理操作的测试方法可以为:模拟实际运行情况,采用与数据传输操作串行执行的方式来测试数据清理操作的相关函数是否正常。然而,串行执行的测试方式难以触发出设备驱动程序对数据缓存访问的竞争状态,因此难以充分地发现设备驱动程序中对缓存数据的访问上隐藏的缺陷,导致问题被漏测。另外,数据清理操作容易引起接收缓存或发送缓存的指针、长度等指示异常,进而导致后续发送或接收过程出错或者端口关闭操作异常,但其发生概率较低,且由于数据清理操作出现问题时往往自身并无挂死、蓝屏等明显现象,因而独立和直接测试数据清理操作函数难以发现数据清理操作所隐藏的问题。
技术实现思路
有鉴于此,本专利技术实施例提供了一种设备驱动程序数据清理函数可靠性测试的方法及装置,旨在解决现有技术中易对缓存数据访问隐藏缺陷漏测以及数据清理操作引起的异常漏测的问题。为实现上述目的,本专利技术实施例的第一方面提供了一种设备驱动程序数据清理函数可靠性测试方法,包括:初始化控制参数;依次创建数据传输测试子线程和数据清理测试子线程;采用不同的所述控制参数控制所述数据传输测试子线程和所述数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定所述设备驱动程序的错误或者遍历完预设的测试项。作为本申请另一实施例,所述控制参数包括数据传输控制参数、数据清理控制参数和公用参数;所述数据传输控制参数,用于控制所述数据传输测试子线程的运行;所述数据清理控制参数用于控制所述数据清理子线程的运行;所述公用参数,同时用于所述数据传输测试子线程和所述数据清理测试子线程。作为本申请另一实施例,所述数据传输测试子线程的运行流程包括:当所述设备端口打开成功时,通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行;当接收的数据与发送的数据相同时,确定当前收发循环计数参数,当所述当前收发循环计数参数等于所述数据传输控制参数中的单次连接中额定的发送或接收轮次参数时,执行所述设备端口关闭处理;当所述设备端口关闭时,确定连接循环计数参数,当所述连接循环计数参数等于所述数据传输控制参数中的额定连接次数参数时,终止所述数据传输测试子线程的测试。作为本申请另一实施例,在所述确定当前收发循环计数参数之前,还包括:当接收的数据与发送的数据相同时,执行额外接收数据处理,并检测是否接收到额外数据,所述额外数据为除所述发送的数据之外的数据;当未接收到所述额外数据时,确定当前收发循环计数参数。作为本申请另一实施例,在所述设备端口打开成功之后,还包括:设置数据长度参数并赋值;在所述确定当前收发循环计数参数之后还包括:当所述当前收发循环计数参数小于所述单次连接中额定的发送或接收轮次参数时,根据所述数据传输控制参数中的发送数据长度变化方式参数更新所述数据长度参数,并继续通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行。作为本申请另一实施例,所述执行所述设备端口关闭处理,包括:执行所述设备端口关闭通知处理和关闭通知检测;当所述关闭通知检测的结果符合第一预设条件时,执行所述设备端口的关闭处理以及关闭处理检测;当所述关闭处理检测的结果符合第二预设条件时,确定已打开的设备端口成功关闭。作为本申请另一实施例,所述数据清理子线程的运行流程包括:读取所述公用参数中的设备端口句柄参数,并根据所述设备端口句柄参数的值检测所述设备端口是否打开;当所述设备端口打开时,读取所述数据清理控制参数中的清理操作节拍参数,并将所述清理操作节拍参数的值赋值给延时时长参数;在所述延时时长参数对应的时间内,根据所述公共参数中的公共变量设备关闭通知与应答标志参数的值,执行所述数据清理控制参数中的清理操作类型参数所指定的清理操作,以及对设备关闭通知进行应答。本专利技术实施例的第二方面提供了一种设备驱动程序数据清理函数可靠性测试装置,包括:初始化模块,用于初始化控制参数;创建模块,用于依次创建数据传输测试子线程和数据清理测试子线程;处理模块,用于采用不同的所述控制参数控制所述数据传输测试子线程和所述数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定所述设备驱动程序的错误或者遍历完预设的测试项。本专利技术实施例的第三方面提供了一种设备驱动程序数据清理函数可靠性测试的系统,包括主设备和从设备,所述主设备用于执行上述任一实施例所述的设备驱动程序数据清理函数可靠性测试的方法;所述从设备,用于根据所述主设备发送的通知,打开对应的从设备端口,并从所述从设备端口接收数据,当接收到的数据的字节数大于预设值时,将接收到的数据向打开的所述从设备端口发送,循环执行接收数据以及后续操作流程。本专利技术实施例的第四方面提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一实施例所述的设备驱动程序数据清理函数可靠性测试的所述的步骤。本专利技术实施例与现有技术相比存在的有益效果是:与现有技术相比,本专利技术采用不同的所述控制参数控制所述数据传输测试子线程和所述数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定所述设备驱动程序的错误或者遍历完预设的测试项,从而可以间接的方式通过监控并行运行的端口打开、数据发送、数据接收、额外接收以及端口关闭流程中的运行情况,来测试数据清理函数的可靠性,且采用数据传输测试子线程和所述数据清理测试子线程并行运行的方式测试数据清理函数可靠性,可以增大问题复现的概率,从而可以提高测试质量以及测量效率,解决现有技术中易对缓存数据访问隐藏缺陷漏测以及数据清理操作引起的异常漏测的问题。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例本文档来自技高网...

【技术保护点】
1.一种设备驱动程序数据清理函数可靠性测试的方法,其特征在于,包括:/n初始化控制参数;/n依次创建数据传输测试子线程和数据清理测试子线程;/n采用不同的所述控制参数控制所述数据传输测试子线程和所述数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定所述设备驱动程序的错误或者遍历完预设的测试项。/n

【技术特征摘要】
1.一种设备驱动程序数据清理函数可靠性测试的方法,其特征在于,包括:
初始化控制参数;
依次创建数据传输测试子线程和数据清理测试子线程;
采用不同的所述控制参数控制所述数据传输测试子线程和所述数据清理测试子线程多次并行运行,并监测并行运行的设备驱动程序所服务的设备端口的状态以及数据收发情况,直至确定所述设备驱动程序的错误或者遍历完预设的测试项。


2.如权利要求1所述的设备驱动程序数据清理函数可靠性测试的方法,其特征在于,所述控制参数包括数据传输控制参数、数据清理控制参数和公用参数;
所述数据传输控制参数,用于控制所述数据传输测试子线程的运行;所述数据清理控制参数用于控制所述数据清理子线程的运行;所述公用参数,同时用于所述数据传输测试子线程和所述数据清理测试子线程。


3.如权利要求2所述的设备驱动程序数据清理函数可靠性测试的方法,其特征在于,所述数据传输测试子线程的运行流程包括:
当所述设备端口打开成功时,通过向打开的设备端口发送以及接收数据测试所述数据传输测试子线程的运行;
当接收的数据与发送的数据相同时,确定当前收发循环计数参数,当所述当前收发循环计数参数等于所述数据传输控制参数中的单次连接中额定的发送或接收轮次参数时,执行所述设备端口关闭处理;
当所述设备端口关闭时,确定连接循环计数参数,当所述连接循环计数参数等于所述数据传输控制参数中的额定连接次数参数时,终止所述数据传输测试子线程的测试。


4.如权利要求3所述的设备驱动程序数据清理函数可靠性测试的方法,其特征在于,在所述确定当前收发循环计数参数之前,还包括:
当接收的数据与发送的数据相同时,执行额外接收数据处理,并检测是否接收到额外数据,所述额外数据为除所述发送的数据之外的数据;
当未接收到所述额外数据时,确定当前收发循环计数参数。


5.如权利要求3所述的设备驱动程序数据清理函数可靠性测试的方法,其特征在于,在所述设备端口打开成功之后,还包括:
设置数据长度参数并赋值;
在所述确定当前收发循环计数参数之后,还包括:
当所述当前收发循环计数参数小于所述单次连接中额定的发送或接收轮次参数时,根据所述数据传输控制参数中的发送数据长度变化方式参数更新所述数据长度参数,并继续通过向打...

【专利技术属性】
技术研发人员:董时舫
申请(专利权)人:百富计算机技术深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1