本发明专利技术涉及一种基于统一指令集测试的测试方法,提供主设备以及从设备;主设备搭载一测试系统,通过该测试系统,主设备完成用例的构造、指令的封装、指令的发送以及收到指令响应数据的解析;从设备接收主设备发送的测试指令,并执行该测试指令;完成执行后,从设备将响应指令送回至主设备,主设备判断执行结果,整个系统完成测试指令从封装、发送、解析、执行以及回复一体化的自动测试。本发明专利技术所提供的一种基于统一指令集测试的测试方法,实现了对该类的指令集进行测试的统一,从而降低了测试人员测试该类产品的困难度。
【技术实现步骤摘要】
一种基于统一指令集测试的测试方法
本专利技术涉及指令集测试方法,特别是一种基于统一指令集测试的测试方法。
技术介绍
随着科学技术日新月异的发展,嵌入式产品已经散布在生活中的各个角落,这些产品的发展得益于嵌入式系统技术的快速发展,如手机、电脑、POS、密码键盘等就是嵌入式系统技术的应用。该技术正悄然地影响着我们的生活,给我们带来了巨大的便利。因此,人们对嵌入式软件的质量要求也愈来愈高,同时对其测试的要求也在不断的提高。对于密码键盘等嵌入式产品,他们是通过指令的交互来跟上位机进行功能交互的,它们的功能实现主要依赖指令集,通常统一系列或者厂家的设备上的指令集是统一的一套,但随着功能的丰富程度的提升,这些指令也随之增加,指令集的测试也变得越来越复杂,测试工作量也越来越大,传统的指令集测试方法有:在PC端写相应的指令,然后通过串口发送到设备上,观察实际现象是否符合预期的功能,从而达到对该产品的测试。此方法虽然可以测到该类产品的各个功能,但是测试步骤比较繁杂,不够自动化,很多判断的地方都需要人工判断,对测试人员较为依赖。为提高测试效率、降低指令测试的困难度,本专利技术设计一种测试方法及思路,来统一对该类的指令集进行测试,从而降低了测试人员测试该类产品的困难度。
技术实现思路
本专利技术的目的在于提供一种基于统一指令集测试的测试方法,以克服现有技术中存在的缺陷。为实现上述目的,本专利技术的技术方案是:一种基于统一指令集测试的测试方法,提供一主设备以及从设备;所述主设备搭载一测试系统,通过该测试系统,所述主设备完成用例的构造、指令的封装、指令的发送以及收到指令响应数据的解析;所述从设备接收所述主设备发送的测试指令,并执行该测试指令;完成执行后,所述从设备将响应指令送回至所述主设备,所述主设备判断执行结果,整个系统完成所述测试指令从封装、发送、解析、执行以及回复一体化的自动测试。在本专利技术一实施例中,在所述测试系统上运行测试用例,对所述从设备进行测试,该测试系统包括如下四层:第一层:确定所述从设备的功能、压力以及性能的测试用例,进行函数封装,并对所述主设备和所述从设备之间的通讯链路配置函数进行封装,通过该通讯链路配置函数实现对应通讯方式下进行指令集的测试;第二层:根据与所述从设备对应的开发手册或指令集文档,确定待测试指令对应的测试用例,通过调用第三层的函数传入不同的参数确定测试用例,实现不同类型的测试用例;第三层:对各个待测试指令进行指令封装,封装过程中由该层函数的参数传入指令数据或指令参数,以实现同一指令的不同功能;第四层:对各待测试指令进行打包,将打包好指令数据传输至所述从设备进行测试,并收取所述从设备响应的数据进行解析。在本专利技术一实施例中,在所述第一层中确定XXX_test_function()、XXX_test_press()、XXX_test_abnormal()以及comm_set();XXX_test_function()、XXX_test_press()以及XXX_test_abnormal()通过调用所述第二层中的函数test_XXX_cmd_Y,确定对所述从设备的功能、压力以及性能的测试代码;其中,XXX表示产品名称,XXX_test_function、XXX_test_press、XXX_test_abnormal分别表示功能测试函数、压力测试函数和性能测试函数,comm_set表示链路设置函数;test_XXX_cmd_Y表示指令Y的测试函数,该系统中根据待测试的指令数量有若干个不同指令的测试函数。在本专利技术一实施例中,在所述第二层中的test_XXX_cmd_Y函数,调用所述第三层中函数XXX_cmd_Y函数,通过不同参数对应的测试用例打包成对应的待测试指令,XXX_cmd_Y函数根据不同的参数实现Y指令不同功能的指令数据的打包工作;test_XXX_cmd_Y表示指令Y的测试函数,该系统中根据待测试的指令数量有若干个不同指令的测试函数。在本专利技术一实施例中,在所述第四层中,调用数据打包函数和数据的收发函数,将第三层中完成封装的不同功能的指令数据打包后发送给所述从设备,并接收所述从设备送回的响应数据进行解析,所述主设备判断指令的执行结果。在本专利技术一实施例中,所述指令打包函数采用封装函数XXX_pack_data(cmd,*data,datalen,frame),其中,cmd为用于区别每个功能指令的部分;*data为需要打包的数据;datalen为需要打包的数据的长度;*frame为将命令和数据打包完后的数据。在本专利技术一实施例中,所述对打包好指令数据的收发处理函数包括:对打包好指令数据的发送封装函数XXX_send_frame(*cmdstr,cmdlen)以及用于读取来自所述响应指令的封装函数XXX_recv_frame(*out,*outlen);其中,*cmdstr为打包完后的数据,cmdlen为打包完后的数据长度;Out是所述从设备发送因主设备之前发来指令而产生的数据,outlen是该数据的长度。相较于现有技术,本专利技术具有以下有益效果:本专利技术所提供的一种基于统一指令集测试的测试方法,能结合实际的使用场景与环境来测试指令集,减轻了测试人员或开发人员的工作,提高了测试效率,降低了测试人员测试该类产品的困难度。附图说明图1为本专利技术中一种基于统一指令集测试的测试方法的系统架构图。具体实施方式下面结合附图,对本专利技术的技术方案进行具体说明。本专利技术提供一种基于统一指令集测试的测试方法,在主设备(如POS机)运行所写的测试代码,使主设备发送各个指令对从设备(如密码键盘)进行测试,该处的从设备为具有多条指令集的待测试设备。从设备执行完指令后将响应指令送回主设备判断执行结果,从而达到指令从封装、发送、解析、执行、回复等一体化的自动测试。测试代码主要可以分为4大层,使得整个代码层次更加鲜明,并且有利于拓展。如图1所示,其中函数的封装由下至上依次是对指令集打包的封装函数、对打包好指令数据的收发处理封装函数、对各个具体指令使用的封装函数、对这些指令的设计的测试用例、对功能/压力/性能等设计具体的测试用例,此外还有主设备和从设备通讯链路配置函数等。进一步的,按照顺序来讲,程序从菜单选项进入后,就是调用如图1中的L4层XXX_test_function、XXX_test_press、XXX_test_abnormal、comm_set()等这些对功能、压力、性能、异常测试的封装函数。这一层通常需要通过比较全面的角度,来观察各个功能指令之间的联系来设计测试用例。其中,挑选比较重要的功能来做压力测试,而功能测试则是根据指令的流程来编写测试用例的。除此之外,这层中还有主设备和从设备之间的通讯链路配置函数。通过配置,可以选择主设备与从设备之间的的通讯方式并将其配置。具有良好的拓展性。以蓝牙打印机为例,在test_function中,主要是测试指令的各个功能。因此,在该封装函数里,应调用L3层中的各个test_XXX_cmd_Y,如测试设置打印字体大小、测试换行打印等。图中的L3层test_XXX_cmd_Y封装的函数,是L4层对其的调用。该层是对L2层封装的各个具体指令,进行测试用例设计。其测试用例的设计是根据开发手册或文档中对这些指令本文档来自技高网...
【技术保护点】
一种基于统一指令集测试的测试方法,其特征在于,提供一主设备以及从设备;所述主设备搭载一测试系统,通过该测试系统,所述主设备完成用例的构造、指令的封装、指令的发送以及收到指令响应数据的解析;所述从设备接收所述主设备发送的测试指令,并执行该测试指令;完成执行后,所述从设备将响应指令送回至所述主设备,所述主设备判断执行结果,整个系统完成所述测试指令从封装、发送、解析、执行以及回复一体化的自动测试。
【技术特征摘要】
1.一种基于统一指令集测试的测试方法,其特征在于,提供一主设备以及从设备;所述主设备搭载一测试系统,通过该测试系统,所述主设备完成用例的构造、指令的封装、指令的发送以及收到指令响应数据的解析;所述从设备接收所述主设备发送的测试指令,并执行该测试指令;完成执行后,所述从设备将响应指令送回至所述主设备,所述主设备判断执行结果,整个系统完成所述测试指令从封装、发送、解析、执行以及回复一体化的自动测试。2.根据权利要求1所述的一种基于统一指令集测试的测试方法,其特征在于,在所述测试系统上运行测试用例,对所述从设备进行测试,该测试系统包括如下四层:第一层:确定所述从设备的功能、压力以及性能的测试用例,进行函数封装,并对所述主设备和所述从设备之间的通讯链路配置函数进行封装,通过该通讯链路配置函数实现对应通讯方式下进行指令集的测试;第二层:根据与所述从设备对应的开发手册或指令集文档,确定待测试指令对应的测试用例,通过调用第三层的函数传入不同的参数确定测试用例,实现不同类型的测试用例;第三层:对各个待测试指令进行指令封装,封装过程中由该层函数的参数传入指令数据或指令参数,以实现同一指令的不同功能;第四层:对各待测试指令进行打包,将打包好指令数据传输至所述从设备进行测试,并收取所述从设备响应的数据进行解析。3.根据权利要求2所述的一种基于统一指令集测试的测试方法,其特征在于,在所述第一层中确定函数XXX_test_function()、XXX_test_press()、XXX_test_abnormal()以及comm_set();其中XXX_test_function()、XXX_test_press()以及XXX_test_abnormal()通过调用所述第二层中的函数test_XXX_cmd_Y,确定对所述从设备的功能、压力以及性能的测试代码;其中,XXX表示产品名称,XXX_test_function、XXX_test_press、...
【专利技术属性】
技术研发人员:郑如意,林文龙,
申请(专利权)人:福建瑞之付微电子有限公司,
类型:发明
国别省市:福建,35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。