本发明涉及集成测试技术领域,特别是涉及一种测试方法及装置。
背景技术:
随着城域网的快速发展以及业务的多样化发展,网络运营者对接入和汇聚网络设备数量和带宽需求与日俱增,同时要求在一个设备上集成实现的业务功能也越来越多。众多的业务功能集于一体,客观上增加了网络设备研发的复杂性,也增加了研发过程中发生功能性故障的概率。为了保证产品质量,就要求研发人员在交付产品前对产品进行测试。
目前,网络设备产品研发的软件一般都是分层的和模块化的,不同层面的软件通过协商的接口进行函数调用。其中,芯片驱动代码与上层业务软件之间协商功能接口,上层业务软件通过功能接口调用下层芯片驱动各个功能模块,实现芯片的配置工作。对于芯片驱动研发人员来说,为了保证驱动各个功能模块的质量,就需要对这些模块进行测试。
传统的测试方法要求每一个功能都要开发人员为该功能的接口编写测试函数用例,通过运行这些用例来保证功能需求的正确性。传统的测试方法效率较低,一体现在测试函数编写上,需要研发人员花时间编写、编译和调试测试函数;二体现在这些测试函数的质量上,即如果这些函数测试覆盖率不足,则会影响交付质量,一旦交付后产品出现故障,就要返工。
技术实现要素:
本发明的目的在于提供一种测试方法及装置,用于解决现有技术中芯片驱动功能的测试方法效率低的问题。
为了实现上述目的,本发明实施例提供的一种系统测试方法,包括:
向被测设备发送脚本生成指令;
获取所述被测设备返回的根据所述脚本生成指令以及业务功能配置信息得到的第一预设格式的配置信息文件,所述配置信息文件包括:芯片驱动的配置信息文件;
根据所述配置信息文件自动编译生成第二预设格式的测试脚本配置文件;
根据所述测试脚本配置文件对所述被测设备进行测试。
其中,在向被测设备发送脚本生成指令之前,所述方法还包括:
向所述被测设备发送业务功能配置信息。
其中,所述根据所述配置信息文件自动编译生成第二预设格式的测试脚本配置文件的步骤,包括:
对所述配置信息文件进行语法解析,得到第一配置解析信息;
将所述第一配置解析信息以一预设语法结构进行保存;
对按照所述预设语法结构保存的所述第一配置解析信息进行编译,生成第二预设格式的测试脚本配置文件。
其中,所述根据所述测试脚本配置文件对所述被测设备进行测试的步骤,包括:
对所述测试脚本配置文件的内容进行解析,得到脚本配置数据流;
将所述脚本配置数据流发送至所述被测设备,对所述被测设备上的芯片进行业务功能配置。
本发明实施例还提供一种测试装置,包括:
第一发送模块,用于向被测设备发送脚本生成指令;
第一获取模块,用于获取所述被测设备返回的根据所述脚本生成指令以及业务功能配置信息得到的第一预设格式的配置信息文件,所述配置信息文件包括:芯片驱动的配置信息文件;
编译模块,用于根据所述配置信息文件自动编译生成第二预设格式的测试脚本配置文件;
测试模块,用于根据所述测试脚本配置文件对所述被测设备进行测试。
其中,所述测试装置还包括:
第二发送模块,用于在向被测设备发送脚本生成指令之前,向所述被测设备发送业务功能配置信息。
其中,所述编译模块包括:
解析子模块,用于对所述配置信息文件进行语法解析,得到第一配置解析信息;
信息保存子模块,用于将所述第一配置解析信息以一预设语法结构进行保存;
编译子模块,用于对按照所述预设语法结构保存的所述第一配置解析信息进行编译,生成第二预设格式的测试脚本配置文件。
其中,所述测试模块包括:
脚本解析子模块,用于对所述测试脚本配置文件的内容进行解析,得到脚本配置数据流;
测试子模块,用于将所述脚本配置数据流发送至所述被测设备,对所述被测设备上的芯片进行业务功能配置。
本发明实施例还提供一种测试方法,包括:
获取测试主机发送的脚本生成指令;
根据所述脚本生成指令对业务功能配置信息进行预处理,并返回第一预设格式的配置信息文件至所述测试主机;
获取所述测试主机发送的脚本配置数据流;
根据所述脚本配置数据流对芯片进行业务功能配置。
其中,在获取测试主机发送的脚本生成指令之前,所述方法还包括:
获取所述测试主机发送的业务功能配置信息,并按照第三预设格式对所述业务功能配置信息进行记录。
其中,根据所述脚本生成指令对业务功能配置信息进行预处理,并返回第一预设格式的配置信息文件至所述测试主机的步骤,包括:
根据所述脚本生成指令集合业务功能配置信息;
对所述业务功能配置信息进行格式转换,得到第一预设格式的配置信息文件;
将所述第一预设格式的配置信息文件返回至所述测试主机。
其中,所述根据所述脚本配置数据流对芯片进行业务功能配置的步骤,包括:
对所述脚本配置数据流进行解析处理,得到芯片的接口配置参数;
根据所述接口配置参数调用相对应的芯片驱动接口函数,对所述芯片进行业务功能配置。
本发明实施例还提供一种测试装置,包括:
第二获取模块,用于获取测试主机发送的脚本生成指令;
预处理模块,用于根据所述脚本生成指令对业务功能配置信息进行预处理,并返回第一预设格式的配置信息文件至所述测试主机;
第三获取模块,用于获取所述测试主机发送的脚本配置数据流;
配置模块,用于根据所述脚本配置数据流对芯片进行业务功能配置。
其中,所述测试装置还包括:
第四获取模块,用于在获取测试主机发送的脚本生成指令之前,获取所述测试主机发送的业务功能配置信息,并按照第三预设格式对所述业务功能配置信息进行记录。
其中,所述预处理模块包括:
信息集合子模块,用于根据所述脚本生成指令集合业务功能配置信息;
格式转换子模块,用于对所述业务功能配置信息进行格式转换,得到第一预设格式的配置信息文件;
返回子模块,用于将所述第一预设格式的配置信息文件返回至所述测试主机。
其中,所述配置模块包括:
解析处理子模块,用于对所述脚本配置数据流进行解析处理,得到芯片的接口配置参数;
配置子模块,用于根据所述接口配置参数调用相对应的芯片驱动接口函数,对所述芯片进行业务功能配置。
本发明的上述技术方案的有益效果如下:
本发明的上述方案中,通过测试主机将被测设备上学习记录的业务功能配置信息自动编译生成测试脚本,实现对被测设备的芯片驱动功能的配置测试,使得测试可脱离业务命令行,实现芯片驱动功能的快速测试,提高测试效率,同时节省开发人员的大量自测时间。
附图说明
图1为本发明实施例的测试方法的基本步骤示意图;
图2为本发明实施例的测试装置的组成结构示意图;
图3为本发明实施例的又一测试方法的基本步骤示意图;
图4为本发明实施例的又一测试装置的组成结构示意图;
图5为本发明实施例的测试方法中测试脚本生成流程示意图;
图6为本发明实施例的测试方法中测试脚本测试流程示意图;
图7为图5中主机测试平台中专用编译器的工作流程示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有技术中芯片驱动功能的测试方法效率低的问题,提供一种系统测试方法,通过测试主机将被测设备上学习记录的业务功能配置信息自动编译生成测试脚本,实现对被测设备的芯片驱动功能的配置测试,使得测试可脱离业务命令行,实现芯片驱动功能的快速测试,提高测试效率,同时节省开发人员的大量自测时间。
第一实施例
如图1所示,本发明实施例提供一种测试方法,应用于测试主机,包括:
步骤11,向被测设备发送脚本生成指令;
步骤12,获取所述被测设备返回的根据所述脚本生成指令以及业务功能配置信息得到的第一预设格式的配置信息文件,所述配置信息文件包括:芯片驱动的配置信息文件;
这里,业务功能配置信息已预先保存于被测设备中。
步骤13,根据所述配置信息文件自动编译生成第二预设格式的测试脚本配置文件;
步骤14,根据所述测试脚本配置文件对所述被测设备进行测试。
本发明实施例的测试方法,通过测试主机自动编译生成测试脚本,实现对 被测设备的芯片驱动功能的配置测试,使得测试可脱离业务命令行,实现芯片驱动功能的快速测试,提高测试效率,同时节省开发人员的大量自测时间。
进一步地,本发明实施例中步骤11在向被测设备发送脚本生成指令之前所述方法还可包括:
步骤10,向所述被测设备发送业务功能配置信息。
这里,测试主机通过业务命令行将配置信息发送至被测设备,由被测设备学习记录所述业务功能配置信息。
本发明实施例中所述步骤13可进一步包括:
步骤131,对所述配置信息文件进行语法解析,得到第一配置解析信息;
这里,配置信息文件的文件格式为第一预设格式,可通过格式语法解析器来对配置信息文件进行语法解析。
步骤132,将所述第一配置解析信息以一预设语法结构进行保存;
需要说明的是,以一预设语法结构对第一配置解析信息进行保存,便于后续数据的分类保存。这里,预设语法结构可以为树状结构,当然,不仅限于此结构。
步骤133,对按照所述预设语法结构保存的所述第一配置解析信息进行编译,生成第二预设格式的测试脚本配置文件。
这里,对第一配置解析信息进行脚本编译的语言有多种,优选地,本发明实施例的脚本编译语言为python脚本语言。
本发明实施例中所述步骤14可进一步包括:
步骤141,对所述测试脚本配置文件的内容进行解析,得到脚本配置数据流;
步骤142,将所述脚本配置数据流发送至所述被测设备,对所述被测设备上的芯片进行业务功能配置。
这里,脚本配置文件的内容以脚本配置数据流的方式发送至被测设备,被测设备直接对数据流解析后对芯片进行测试配置。
这样,被测设备无需提供额外的存储空间存储测试脚本,更不需要通过被测设备上运行该测试脚本。节省被测设备的存储空间,且减轻被测设备的运行负担,提高运行速度。
这里需要说明的是,本发明实施例的测试方法可适用于嵌入式系统。
本发明实施例的测试方法,通过测试主机将被测设备上学习记录的业务功能配置信息自动编译生成测试脚本,实现对被测设备的芯片驱动功能的配置测试,使得测试可脱离业务命令行,实现芯片驱动功能的快速测试,提高测试效率,同时节省开发人员的大量自测时间。
第二实施例
如图2所示,本发明实施例还提供一种测试装置,应用于测试主机,包括:
第一发送模块21,用于向被测设备发送脚本生成指令;
第一获取模块22,用于获取所述被测设备返回的根据所述脚本生成指令以及业务功能配置信息得到的第一预设格式的配置信息文件,所述配置信息文件包括:芯片驱动的配置信息文件;
这里,业务功能配置信息已预先保存于被测设备中。
编译模块23,用于根据所述配置信息文件自动编译生成第二预设格式的测试脚本配置文件;
测试模块24,用于根据所述测试脚本配置文件对所述被测设备进行测试。
进一步地,本发明实施例中所述测试装置还包括:
第二发送模块20,用于在向被测设备发送脚本生成指令之前,向所述被测设备发送业务功能配置信息。
这里,测试主机通过业务命令行将配置信息发送至被测设备,由被测设备学习记录所述业务功能配置信息。
具体地,本发明实施例中所述编译模块23还可包括:
解析子模块,用于对所述配置信息文件进行语法解析,得到第一配置解析信息;
这里,配置信息文件的文件格式为第一预设格式,可通过格式语法解析器来对配置信息文件进行语法解析。
信息保存子模块,用于将所述第一配置解析信息以一预设语法结构进行保存;
需要说明的是,以一预设语法结构对第一配置解析信息进行保存,便于后续数据的分类保存。这里,预设语法结构可以为树状结构,当然,不仅限于此 结构。
编译子模块,用于对按照所述预设语法结构保存的所述第一配置解析信息进行编译,生成第二预设格式的测试脚本配置文件。
这里,对第一配置解析信息进行脚本编译的语言有多种,优选地,本发明实施例的脚本编译语言为python脚本语言。
本发明实施例中所述测试模块24可具体包括:
脚本解析子模块,用于对所述测试脚本配置文件的内容进行解析,得到脚本配置数据流;
测试子模块,用于将所述脚本配置数据流发送至所述被测设备,对所述被测设备上的芯片进行业务功能配置。
这里,脚本配置文件的内容以脚本配置数据流的方式发送至被测设备,被测设备直接对数据流解析后对芯片进行测试配置。
这样,被测设备无需提供额外的存储空间存储测试脚本,更不需要通过被测设备上运行该测试脚本。节省被测设备的存储空间,且减轻被测设备的运行负担,提高运行速度。
这里需要说明的是,本发明实施例的测试装置可适用于嵌入式系统。
本发明实施例的测试装置,通过测试主机将被测设备上学习记录的业务功能配置信息自动编译生成测试脚本,实现对被测设备的芯片驱动功能的配置测试,使得测试可脱离业务命令行,实现芯片驱动功能的快速测试,提高测试效率,同时节省开发人员的大量自测时间。
第三实施例
如图3所示,本发明实施例还提供一种测试方法,应用于被测设备,包括:
步骤31,获取测试主机发送的脚本生成指令;
步骤32,根据所述脚本生成指令对业务功能配置信息进行预处理,并返回第一预设格式的配置信息文件至所述测试主机;
步骤33,获取所述测试主机发送的脚本配置数据流;
这里,脚本配置数据流可通过测试主机对测试脚本配置文件的内容解析得到。
步骤34,根据所述脚本配置数据流对芯片进行业务功能配置。
这里,采用脚本配置数据流的方式对芯片进行业务功能配置,可使被测设备无需提供额外的存储空间存储测试脚本,更不需要通过被测设备上运行该测试脚本。节省被测设备的存储空间,且减轻被测设备的运行负担,提高运行速度。
本发明实施例的测试方法,通过测试主机发送的脚本配置数据流对被测设备的芯片驱动功能进行快速测试,使得测试可脱离业务命令行,提高了测试效率,同时节省开发人员的大量自测时间。
进一步地,本发明实施例中步骤31在获取测试主机发送的脚本生成指令之前,所述测试方法还可包括:
步骤30,获取所述测试主机发送的业务功能配置信息,并按照第三预设格式对所述业务功能配置信息进行记录。
需说明的是,被测设备可通过接收业务命令行来获取所述测试主机发送的业务功能配置信息,这里,对业务功能配置信息的记录可通过嵌入一段学习程序来实现。
本发明实施例中所述步骤32可进一步包括:
步骤321,根据所述脚本生成指令集合业务功能配置信息;
这里,业务功能配置信息已预先保存于被测设备中。
步骤322,对所述业务功能配置信息进行格式转换,得到第一预设格式的配置信息文件;
这里,对所述业务功能配置信息进行格式转换的目的是便于后续测试主机对业务功能配置信息进行测试脚本的编译。
步骤323,将所述第一预设格式的配置信息文件返回至所述测试主机。
本发明实施例中所述步骤34可进一步包括:
步骤341,对所述脚本配置数据流进行解析处理,得到芯片的接口配置参数;
这里需要说明的是,被测设备对所述脚本配置数据流进行解析处理,而不是在该被测设备上运行测试脚本后,得到芯片的接口配置参数,也就是说,被测设备无需提供额外的存储空间存储测试脚本,更不需要通过被测设备上运行该测试脚本。节省被测设备的存储空间,且减轻被测设备的运行负担,提高运 行速度。
步骤342,根据所述接口配置参数调用相对应的芯片驱动接口函数,对所述芯片进行业务功能配置。
这里需要说明的是,本发明实施例的测试方法可适用于嵌入式系统。
本发明实施例的测试方法,通过测试主机发送的脚本配置数据流对被测设备的芯片驱动功能进行快速测试,使得测试可脱离业务命令行,提高了测试效率,同时节省开发人员的大量自测时间。
第四实施例
如图4所示,本发明实施例还提供一种测试装置,应用于被测设备,包括:
第二获取模块41,用于获取测试主机发送的脚本生成指令;
预处理模块42,用于根据所述脚本生成指令对业务功能配置信息进行预处理,并返回第一预设格式的配置信息文件至所述测试主机;
第三获取模块43,用于获取所述测试主机发送的脚本配置数据流;
配置模块44,用于根据所述脚本配置数据流对芯片进行业务功能配置。
这里,配置模块44中采用脚本配置数据流的方式对芯片进行业务功能配置,可使被测设备无需提供额外的存储空间存储测试脚本,更不需要通过被测设备上运行该测试脚本。节省被测设备的存储空间,且减轻被测设备的运行负担,提高运行速度。
进一步地,本发明实施例中所述测试装置还包括:
第四获取模块40,用于在获取测试主机发送的脚本生成指令之前,获取所述测试主机发送的业务功能配置信息,并按照第三预设格式对所述业务功能配置信息进行记录。
需说明的是,被测设备可通过接收业务命令行来获取所述测试主机发送的业务功能配置信息,这里,对业务功能配置信息的记录可通过嵌入一段学习程序来实现。
具体地,本发明实施例中所述预处理模块42可包括:
信息集合子模块,用于根据所述脚本生成指令集合业务功能配置信息;
这里,业务功能配置信息已预先保存于被测设备中。
格式转换子模块,用于对所述业务功能配置信息进行格式转换,得到第一 预设格式的配置信息文件;
这里,对所述业务功能配置信息进行格式转换的目的是便于后续测试主机对业务功能配置信息进行测试脚本的编译。
返回子模块,用于将所述第一预设格式的配置信息文件返回至所述测试主机。
具体地,本发明实施例中所述配置模块44可包括:
解析处理子模块,用于对所述脚本配置数据流进行解析处理,得到芯片的接口配置参数;
这里需要说明的是,被测设备对所述脚本配置数据流进行解析处理,而不是在该被测设备上运行测试脚本后,得到芯片的接口配置参数,也就是说,被测设备无需提供额外的存储空间存储测试脚本,更不需要通过被测设备上运行该测试脚本。节省被测设备的存储空间,且减轻被测设备的运行负担,提高运行速度。
配置子模块,用于根据所述接口配置参数调用相对应的芯片驱动接口函数,对所述芯片进行业务功能配置。
这里需要说明的是,本发明实施例的测试方法可适用于嵌入式系统。
本发明实施例的测试装置,通过测试主机发送的脚本配置数据流对被测设备的芯片驱动功能进行快速测试,使得测试可脱离业务命令行,提高了测试效率,同时节省开发人员的大量自测时间。
第五实施例
如图5所示,为本发明实施例中测试脚本生成示意图,下面结合图6,即测试脚本测试示意图,详细说明本发明测试方法的一具体实施过程。
这里需要说明的是,本发明测试方法的执行主体为主机测试平台01’和被测设备02’。
其中,主机测试平台01’包括:业务命令行配置界面03’,脚本配置界面04’,命令解析器05’,测试脚本配置文件06’以及专用编译器07’。
被测设备02’包括:上层业务程序08’,芯片驱动接口09’,芯片10’,学习程序11’,业务功能配置信息12’以及测试服务器13’。具体步骤如下:
1)测试脚本生成
首先,主机测试平台01’通过业务命令行配置界面03’进行业务功能配置;
也就是,测试人员通过输入在业务命令行配置界面03’上输入业务命令行向被测设备02’上的上层业务程序08’发送业务配置命令;
接着,被测设备02’上的上层业务程序08’接收到业务配置命令后进行驱动接口调用,同时,设置在上层业务程序08’与芯片驱动接口09’上的驱动接口程序之间的学习程序11’按照第三预设格式记录业务功能配置信息,完成业务配置。
这里,该学习程序11’可嵌入到上层业务程序08’与芯片驱动接口09’上的驱动接口程序之间。
然后,主机测试平台01’通过脚本配置界面04’发送脚本生成指令至被测设备02’中的测试服务器13’。
之后,被测设备02’的测试服务器13’接收脚本生成指令后集合业务功能配置信息,并将业务功能配置信息转换为第一预设格式的配置信息文件并返回到主机测试平台01’。
最后,主机测试平台01’中的专用编译器07’对第一预设格式的配置信息文件进行自动编译转换,生成第三预设格式的测试脚本配置文件。
这里,专用编译器07’是测试脚本自动生成的关键,该编译器的通过python脚本语言开发得到,实现了配置信息文件的格式语法解析和python命令脚本编译。
具体的,专用编译器07’,如图7所示,首先,配置信息文件输入到格式语法解析器14’,解析后的信息以特定语法树状结构保存;然后,python命令脚本编译器15’根据语法树状结构中的信息进行编译,最后,输出python语言的测试脚本配置文件。
2)测试脚本测试
首先,主机测试平台01’的测试脚本配置文件06’通过脚本配置界面04’将测试脚本配置内容输入到命令解析器05’进行配置数据流的组建;
然后,命令解析器05’将配置数据流传送到被测设备02’中的测试服务器13’;
最后,测试服务器13’收到配置数据流后解析出接口配置参数,并调用相 应的芯片驱动接口09’的接口函数,将配置下发到芯片10’相应的寄存器与表项中,完成了业务功能的配置。
这里,需要说明的是,在生成测试脚本配置文件后,后续的被测设备上不再需要上层业务程序,也就是,本发明的测试方法可脱离命令行,通过测试脚本以配置数据流的方式快速实现被测设备的芯片驱动功能的测试。
本发明实施例的测试方法,通过测试主机将被测设备上学习记录的业务功能配置信息自动编译生成测试脚本,实现对被测设备的芯片驱动功能的配置测试,使得测试可脱离业务命令行,实现芯片驱动功能的快速测试,提高测试效率,同时节省开发人员的大量自测时间。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。