功能驱动程序测试方法、终端设备及存储介质技术

技术编号:21658451 阅读:20 留言:0更新日期:2019-07-20 05:35
本申请适用于程序测试技术领域,提供了一种功能驱动程序测试方法、终端设备及存储介质,其中,功能驱动程序测试方法包括:监听功能驱动程序的输入输出请求包;当根据预设的过滤控制条件丢弃输入输出请求包时,触发收发重试流程;判断是否收到功能驱动程序重发的各个输入输出请求包;当未收到所述功能驱动程序重发的任一输入输出请求包时,判定收发重试流程在过滤控制条件下未通过测试。本申请实施例提供的功能驱动程序测试方法,通过过滤控制条件能够主动并可控地丢弃功能驱动程序的输入输出请求包,从而实现触发功能驱动程序中重试流程的外部条件,解决了现有技术不能主动触发收发重试流程的问题。

Functional Driver Test Method, Terminal Device and Storage Media

【技术实现步骤摘要】
功能驱动程序测试方法、终端设备及存储介质
本申请属于程序测试
,尤其涉及一种功能驱动程序测试方法、终端设备及存储介质。
技术介绍
功能驱动程序是一个设备(例如POS机)的主要驱动程序,简称驱动或驱动程序。它提供对一个设备进行读写访问的操作接口,用于设备与操作系统中现成的、特定的总线驱动程序进行交互。数据传输通常是功能驱动程序的核心事务,数据传输的可靠性是功能驱动程序的重要指标。功能驱动程序一般通过重试流程来保证数据传输的可靠性,重试流程包括发送重试流程和接收重试流程,简称收发重试流程。常规的对功能驱动程序中的收发重试流程进行测试的方法,主要依靠长时间大数据量收发交互测试来验证,或者是采用多台设备在多种不同的环境下进行收发交互测试来验证。收发重试流程需要在接收或发送出现超时或错误的特殊情景下才被触发,而该情景在常规环境下出现的几率通常极低,因此,上述两种常规的测试方法具有明显的被动性,且测试工作量巨大、测试效率较低,不易发现收发重试流程中隐藏的问题,从而造成测试遗漏。
技术实现思路
有鉴于此,本申请实施例提供了一种功能驱动程序测试方法、终端设备及存储介质,以解决现有技术不能主动触发收发重试流程的问题。根据第一方面,本申请实施例提供了一种功能驱动程序测试方法,包括:监听功能驱动程序的输入输出请求包;当根据预设的过滤控制条件丢弃所述输入输出请求包时,触发收发重试流程;判断是否收到所述功能驱动程序重发的各个输入输出请求包,所述功能驱动程序重发的各个输入输出请求包分别与丢弃的各个输入输出请求包对应;当未收到所述功能驱动程序重发的任一输入输出请求包时,判定所述收发重试流程在所述过滤控制条件下未通过测试。本申请实施例提供的功能驱动程序测试方法,通过过滤控制条件能够主动并可控地丢弃功能驱动程序的输入输出请求包,从而实现触发功能驱动程序中重试流程的外部条件,解决了现有技术不能主动触发收发重试流程的问题。由于本申请实施例提供的功能驱动程序测试方法能够以设定的任意概率来模拟和复现实际运行环境中出现概率极低的传输不稳定问题,从而可以快速和准确地检测出功能驱动程序的重试流程中深入隐藏的缺陷,进而能以更高的效率来保障功能驱动程序及其收发重试流程的可靠性。结合第一方面,在第一方面第一实施方式中,所述功能驱动程序测试方法还包括:当收到所述功能驱动程序重发的各个输入输出请求包时,判定所述收发重试流程在所述过滤控制条件下通过测试。本申请实施例提供的功能驱动程序测试方法,通过预设的过滤控制条件主动丢弃功能驱动程序的某些输入输出请求包,从而造成触发重试流程的外部条件,并在触发收发重试流程且成功接收到所有被丢弃的输入输出请求包后,判定该收发重试流程通过本次测试,能够在每次丢弃输入输出请求包后得到确定的测试结果,从而使得针对功能驱动程序收发重试流程的每次测试均有据可循。结合第一方面第一实施方式,在第一方面第二实施方式中,所述功能驱动程序测试方法还包括:更换所述过滤控制条件;重复执行所述监听功能驱动程序的输入输出请求包;当根据预设的过滤控制条件丢弃所述输入输出请求包时,触发收发重试流程,判断是否收到所述功能驱动程序重发的各个输入输出请求包;所述功能驱动程序重发的各个输入输出请求包分别与丢弃的各个输入输出请求包对应的步骤,直至判定所述收发重试流程在所述过滤控制条件下未通过测试,或者,直至遍历所有的过滤控制条件。本申请实施例提供的功能驱动程序测试方法,由于能够根据需要自由设定并更换过滤控制条件,从而使测试过程可以以任意概率来模拟和复现实际运行环境中出现概率极低的传输不稳定问题,进而实现对功能驱动程序收发重试流程全面深入地测试。由于只有在遍历所有的过滤控制条件,且收发重试流程均通过各个过滤控制条件下的测试时,才会判定该收发重试流程通过全部测试,使得对收发重试流程测试的可靠性能够得到有效保证。结合第一方面第二实施方式,在第一方面第三实施方式中,所述监听功能驱动程序的输入输出请求包包括:获取所述输入输出请求包的输入输出控制码和数据传输功能码;根据所述输入输出控制码和所述数据传输功能码,识别所述输入输出请求包中的目标输入输出请求包。本申请实施例提供的功能驱动程序测试方法,通过各个输入输出请求包的输入输出控制码和数据传输功能码,能够识别由待检测的功能驱动程序发出的各个输入输出请求包,即识别目标输入输出请求包。由于不同传输功能所对应的输入输出控制码和数据传输功能码均是唯一的,且相互不同,因此,输入输出控制码和数据传输功能码是与数据传输功能一一对应的,而每个功能驱动程序均具有唯一的数据传输功能,从而使得通过输入输出控制码和数据传输功能码能够识别出与功能驱动程序对应的目标输入输出请求包。结合第一方面第三实施方式,在第一方面第四实施方式中,所述过滤控制条件包括过滤模式、过滤计数周期、过滤起始计数和连续过滤数;根据预设的过滤控制条件丢弃所述输入输出请求包的过程包括:获取所述目标输入输出请求包对应的序号;所述序号为所述目标输入输出请求包在对应的过滤计数周期内的序号;当所述序号大于或等于所述过滤起始计数,且所述序号小于所述过滤起始计数与所述连续过滤数之和时,丢弃所述目标输入输出请求包。本申请实施例提供的功能驱动程序测试方法,通过过滤起始计数和连续过滤数,筛选目标输入输出请求包在对应的过滤计数周期内的序号,并将筛选出的序号对应的目标输入输出请求包丢弃,从而实现针对输入输出请求包的主动丢弃。由于用户可以根据实际检测需要自由设置过滤计数周期、过滤起始计数和连续过滤数,从而实行以任意概率来模拟和复现实际运行环境中出现概率极低的传输不稳定问题。此外,在本申请实施例提供的功能驱动程序测试方法中,由于在过滤控制条件中设置了过滤模式,使用户可以根据检测需要自由设定过滤模式,例如不过滤、固定过滤或随机过滤,从而实现在多种不同模式下针对收发重试流程的可靠性测试。结合第一方面第四实施方式,在第一方面第五实施方式中,在所述丢弃所述目标输入输出请求包的步骤之后,所述根据预设的过滤控制条件丢弃所述输入输出请求包的过程还包括:通过预设的取消历程处理丢弃的所述目标输入输出请求包。本申请实施例提供的功能驱动程序测试方法,通过取消历程处理丢弃的目标输入输出请求包,能够避免功能驱动程序发生死锁进而使测试无法继续。结合第一方面或第一方面第一至第五中的任一实施方式,在第一方面第六实施方式中,所述功能驱动程序测试方法还包括:构建过滤驱动程序;所述过滤驱动程序用于监听所述功能驱动程序的输入输出请求包,以及用于根据预设的过滤控制条件丢弃所述输入输出请求包。本申请实施例提供的功能驱动程序测试方法,通过过滤驱动程序对待测试的功能驱动程序进行监听,并主动丢弃该功能驱动程序的某些输入输出请求包,从而实现触发功能驱动程序中收发重试流程的外部条件。用户通过设置过滤驱动程序对应的过滤控制条件,能够对输入输出请求包进行可控地丢弃。根据第二方面,本申请实施例提供了一种功能驱动程序测试装置,包括:监听单元,用于监听功能驱动程序的输入输出请求包;收发重试触发单元,当根据预设的过滤控制条件丢弃所述输入输出请求包时,用于触发收发重试流程,判断是否收到所述功能驱动程序重发的各个输入输出请求包,所述功能驱动程序重发的各个输入输出请求包本文档来自技高网...

【技术保护点】
1.一种功能驱动程序测试方法,其特征在于,包括:监听功能驱动程序的输入输出请求包;当根据预设的过滤控制条件丢弃所述输入输出请求包时,触发收发重试流程;判断是否收到所述功能驱动程序重发的各个输入输出请求包,所述功能驱动程序重发的各个输入输出请求包分别与丢弃的各个输入输出请求包对应;当未收到所述功能驱动程序重发的任一输入输出请求包时,判定所述收发重试流程在所述过滤控制条件下未通过测试。

【技术特征摘要】
1.一种功能驱动程序测试方法,其特征在于,包括:监听功能驱动程序的输入输出请求包;当根据预设的过滤控制条件丢弃所述输入输出请求包时,触发收发重试流程;判断是否收到所述功能驱动程序重发的各个输入输出请求包,所述功能驱动程序重发的各个输入输出请求包分别与丢弃的各个输入输出请求包对应;当未收到所述功能驱动程序重发的任一输入输出请求包时,判定所述收发重试流程在所述过滤控制条件下未通过测试。2.如权利要求1所述的功能驱动程序测试方法,其特征在于,所述功能驱动程序测试方法还包括:当收到所述功能驱动程序重发的各个输入输出请求包时,判定所述收发重试流程在所述过滤控制条件下通过测试。3.如权利要求2所述的功能驱动程序测试方法,其特征在于,所述功能驱动程序测试方法还包括:更换所述过滤控制条件;重复执行所述监听功能驱动程序的输入输出请求包,当根据预设的过滤控制条件丢弃所述输入输出请求包时,触发收发重试流程,判断是否收到所述功能驱动程序重发的各个输入输出请求包,所述功能驱动程序重发的各个输入输出请求包分别与丢弃的各个输入输出请求包对应的步骤,直至判定所述收发重试流程在所述过滤控制条件下未通过测试,或者,直至遍历所有的过滤控制条件。4.如权利要求3所述的功能驱动程序测试方法,其特征在于,所述监听功能驱动程序的输入输出请求包包括:获取所述输入输出请求包的输入输出控制码和数据传输功能码;根据所述输入输出控制码和所述数据传输功能码,识别所述输入输出请求包中的目标输入输出请求包。5.如权利要求4所述的功能驱动程序测试方法,其特征在于,所述过滤控制条件包括过滤模式、过滤计数周期、过滤起始计数和连续过滤数;根据预设的过滤控制条件丢弃所述输入输出请求包的...

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

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

1