测试方法及相关设备与流程

文档序号:29157576发布日期:2022-03-08 21:50阅读:59来源:国知局
测试方法及相关设备与流程

1.本技术属于测试领域,尤其涉及一种测试方法及相关设备。


背景技术:

2.信息已经成为社会和经济发展的战略资源及基本要素的时代。人们对普适化、多样化、全球化和个性化的需求,将进一步推动电子设备的发展。整个电子行业正进入新的高速成长周期,以手机为主的移动终端作为通讯产业重要环节,其发展必将越来越快。
3.通信设备、计算机及其他电子制造行业是国内支柱产业,与此同时,电子行业未来对功能检验的要求也随之越来越高,为此亟待一种标准化、通用化、平台化的测试方法以及测试系统。


技术实现要素:

4.本技术实施例提供了一种测试方法及相关设备,通过集成自定义的测试模块并对其进行排序,以实现对各种产品、各种功能的通用测试和专用测试。
5.第一方面,本技术实施例提供了一种测试方法,应用于用于测试电子设备的通用测试装置,所述通用测试装置包括执行引擎,所述方法包括:接收第二用户在操作界面上的第五操作,响应于所述第五操作,所述执行引擎调用目标测试用例在目标测试模型中执行;所述目标测试模型输出测试报告并存储;其中,所述目标测试用例为多个测试用例中的一个,所述目标测试用例由多个测试模块自定义排序生成并存储在所述通用测试装置中,所述目标测试模型为多个测试模型中的一个。
6.本技术实施例提供了一种测试方法,通过集成自定义的测试模块并对其进行排序,以实现对各种产品、各种功能的通用测试和专用测试,进而让测试人员更高效聚焦于测试项本身,简化与加速复杂序列的开发、提高代码与测试程序的复用性和可维护性以及改进执行该测试方法的测试装置的执行性能,为所测电子设备的品质保驾护航。
7.结合第一方面,在第一方面的一种可能的实现方式中,所述方法还包括:接收第一用户在所述操作界面上的第一操作,响应于所述第一操作,所述执行引擎调用代码适配器对测试代码进行自定义步骤封装,生成多个测试步骤;其中,所述第一操作用于指示所述执行引擎调用所述代码适配器将所述测试代码封装成所述测试步骤。在该实现方式中,通过代码适配器对测试代码进行封装,使得后续测试可使用任何编程语言编写的测试步骤。
8.结合第一方面,在第一方面的一种可能的实现方式中,所述方法还包括:接收所述第一用户在所述操作界面上的第二操作,响应于所述第二操作,调用序列编辑器根据多个所述测试步骤,创建测试序列;其中,所述第二操作用于指示调用所述序列编辑器对多个所述测试步骤进行排序,将排序后的多个所述测试步骤作为一个所述测试序列。在该实现方式中,可根据测试需求,排序生成任意序列的测试步骤。
9.结合第一方面,在第一方面的一种可能的实现方式中,所述方法还包括:接收所述第一用户在所述操作界面上的第三操作,响应于所述第三操作,所述执行引擎将所述测试
序列作为所述测试模块,添加至自定义扩展模块库中;其中,所述第三操作用于指示所述执行引擎将所述测试序列作为所述测试模块添加至所述自定义扩展模块库中。在该实现方式中,可将实现各种功能的测试模块存储备用,简化后续测试流程,提高测试程序的开发效率。
10.结合第一方面,在第一方面的一种可能的实现方式中,所述方法还包括:接收所述第一用户在所述操作界面上的第四操作,响应于所述第四操作,调用所述序列编辑器根据所述自定义扩展模块库中的多个所述测试模块,创建所述测试用例,并生成对应文件;其中,所述第四操作用于指示调用所述序列编辑器对多个所述测试模块进行排序,将排序后的多个所述测试模块作为一个所述测试用例。在该实现方式中,可将实现各种功能的通用的测试用例和/或专用的测试用例存储备用,简化后续测试流程,提高测试程序的开发效率。
11.结合第一方面,在第一方面的一种可能的实现方式中,所述方法还包括:根据所述测试报告对所述测试用例进行调试。在该实现方式中,可对测试用例进行修改和优化,以提高测试效果。
12.结合第一方面,在第一方面的一种可能的实现方式中,所述方法还包括:接收所述第二用户在所述操作界面上的第六操作,响应于所述第六操作,所述执行引擎调用所述目标测试用例在所述目标测试模型中进行老化测试;其中,所述第六操作用于指示调用所述目标测试用例在所述目标测试模型中重复执行。在该实现方式中,可对测试用例进行重复执行,检测所测试的电子设备或软件的稳定性。
13.结合第一方面,在第一方面的一种可能的实现方式中,所述多个测试模型包括串行模型、并行模型、批量同步模型中的至少两个。在该实现方式中,支持多工位并行测试,可有效地帮助全面提升测试的吞吐量。
14.第二方面,本技术实施例还提供了一种用于测试电子设备的通用测试装置,包括存储器、处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面或第一方面的任意可能的实现方式中的方法。
15.第三方面,本技术实施例还提供了计算机可读存储介质,所述计算机可读存储介质中存储了计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如上述第一方面或第一方面的任意可能的实现方式中的方法。
16.第四方面,本技术实施例还提供了一种计算机程序产品,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述第一方面或第一方面的任意可能的实现方式中的方法。
17.可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
18.图1是本技术实施例提供的一种用于测试电子设备的通用测试装置的软件架构示意图;
19.图2是本技术实施例提供的一种自定义扩展模块库的示意图;
20.图3是本技术实施例提供的一种测试方法的流程示意图。
具体实施方式
21.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
22.在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本技术实施例的描述中,“多个”是指两个或多于两个。
23.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
24.通信设备、计算机及其他电子制造行业是国内支柱产业,与此同时,电子行业未来对功能检验的要求也随之越来越高,为此亟待一种标准化、通用化、平台化的测试方法以及测试系统。
25.有鉴于此,本技术实施例提供了一种测试方法,通过集成自定义的测试序列并对其进行编辑,以实现对各种产品、各种功能的通用测试和专用测试。
26.应理解,本技术实施例提供了一种测试方法,该方法应用于本技术实施例提供的用于测试电子设备的通用测试装置中。当本技术实施例提供的用于测试电子设备的通用测试装置执行测试方法时,可对一个或多个不同类型的电子设备,或者,可以对同一类型但是不同型号的多个电子设备进行测试。
27.其中,所谓的电子设备可以是手机、智慧屏、平板电脑、可穿戴电子设备、车载电子设备、增强现实(augmented reality,ar)设备、虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)、投影仪等等,本技术实施例对电子设备的具体类型不作任何限制。
28.首先结合附图,对本技术实施例提供的用于测试电子设备的通用测试装置的软件架构进行介绍。图1是本技术实施例提供的一种用于测试电子设备的通用测试装置的软件架构图。该用于测试电子设备的通用测试装置基于执行引擎进行测试的。
29.应理解,用于测试电子设备的通用测试装置的软件架构采用分层架构。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。
30.在一些实施例中,如图1所示,该架构分为四层,从上至下分别为表示层110、服务交互层120、业务逻辑层130和数据存储层140。
31.表示层110可以用于进行数据和状态显示,还可以用于进行序列编辑、序列管理、序列调试、权限管理、老化压测、工站管理、插件管理。
32.例如,表示层110可以多执行显示,也就是说,在用于测试电子设备的通用测试装置对多个电子设备进行测试时,所进行的执行进程可以同时进行显示,便于测试人员掌握实时情况。
33.例如,序列编辑指的是以测试步骤为基础,集成测试代码并根据用户的操作确定
多个测试步骤的执行顺序,以支持循环与复杂的决策。应理解,多个有序的测试步骤即可称之为测试序列。
34.其中,测试步骤可以是单个测试、测量、动作或命令,相应的,测试序列则是多个有序的测试、测量、动作或命令。测试序列具有一定的逻辑性,也就是说,业务逻辑以测试序列方式呈现。此处,示例性的,可以利用代码适配器将相关测试代码封装成测试步骤。
35.例如,序列管理指的是能支持远程下载测试序列和管理测试序列。比如,支持开启时自动从ftp(file transfer protocol server)服务器下载或本地模式下载测试序列,其中,ftp服务器依照文件传输协提供服务。当本地调试完成后,可以将更新后的测试序列版本再上传至ftp服务器,保证版本一致性,由此,可以解决生产工厂序列版本不统一的问题。
36.例如,序列调试支持单步、断点设置,可以对测试过程中的数据进行监控,快速调试并验证测试序列的正确性。
37.例如,权限管理指的是可以对该用于测试电子设备的通用测试装置进行的操作进行权限限制,为测试可靠性提供安全保证。
38.例如,工站管理用于对工站权限管理,以及对工站号、设备id(identity document)、治具id进行绑定,并且还可以进行使用寿命管理,实现安全可靠且可追溯的生产环境。
39.例如,插件管理指的是电子设备测试的差异性会带来各种应用需求,插件为此而设计,由此,可以提高测试装置的通用性。其中,插件例如可以包括调试插件,外部状态监控插件等。
40.例如,老化压测指的是对电子设备进行老化验证,保证电子设备功能完备和可靠,实现一键老化,自动生成老化报告。
41.此外,表示层110还可以进行步骤参数设置、运行参数设置、平台参数设置以及制造执行系统(manufacturing execution system,mes)设置。
42.例如,步骤参数设置可以用于修改测试序列中某些测试步骤的判定规则、启用状态、结果记录等。
43.例如,运行参数设置可以用于配置测试装置中的槽位数量、运行模式、不良后的动作等参数,以适应不同测试场景。
44.例如,平台参数设置可支持界面语言切换、测试序列下载位置选择,ftp服务器设置等。
45.例如,mes配置用来支持不同的mes对接方式,可以统一各个不同客户mes的对接需求。
46.此处,这些参数可以是人为输入的,也可以是通过相应接口从其他设备采集的。其中,针对接口的数量和类型,本技术实施例对此没有任何限制。
47.应理解,用于测试电子设备的通用测试装置通过提供大量的可配置参数,可以适应不同电子设备的测试需求。
48.当然,除了上述所述的这些功能,表示层110还可以用于进行其他功能,具体可以根据测试的需求进行设置和更改,本技术实施例对此不进行任何限制。
49.服务交互层120用于实现业务逻辑层130与表示层110的数据传递,同时,对业务逻辑层130和表示层110进行了隔离,使得双方自身未传递的数据可以互不影响。例如,服务交
互层120用于提供测试过程中步骤间或流程间临时数据的交互传递,比如对消息提示(ui message)和事件反馈(event call back)进行交互,交互数据暂时存储在文件全局(files globals)中。
50.业务编辑层130用于将业务逻辑序列化并生成测试序列,并以执行引擎为核心,解析测试序列,执行测试序列所包括的相关测试步骤。
51.其中,执行引擎可以提供一个开放的api接口以便于与其他应用进行通信。例如,当表示层110需要进行序列编辑时,序列编辑器可以利用api接口访问执行引擎,为测试序列的编辑的自动执行提供支持。
52.此外,业务逻辑层130包括自定义扩展模块库和序列运行模型。
53.图2示出了一种自定义扩展模块库的示意图。
54.示例性的,如图2所示,该自定义扩展模块库可以包括多种类型的测试模块,例如:通讯类测试模块、算法类测试模块、硬件驱动类测试模块和功能扩展类测试模块。当然,自定义扩展模块库还可以包括其他类型的测试模块,具体可以根据需要进行增加、减少和分类,本技术实施例对此不进行任何限制。
55.例如,通讯类测试模块指的是测试领域的常用通讯方式,并以模块化的方式封装,例如,通讯类测试模块可以包括串口通讯、网络通讯、测试桥(android debug bridge,adb)通讯等。
56.例如,算法类测试模块可以包括音频分析算法模块、自动光学(automated optical inspection,aoi)屏幕检测算法模块、摄像机分析算法模块等。音频分析算法模块可以为电子设备的声学检测提供保障。aoi屏幕检测算法模块用于对电子设备的屏幕缺陷进行检测及为视觉定位提供支持,如屏幕的点、线、团缺陷。摄像机分析算法模块用于为含摄像头的电子设备提供解析力测试基础。
57.例如,硬件驱动类测试模块用于对电子设备测试中常用的仪表、仪器进行控制,比如,可以包括运动控制卡、可编程逻辑控制器(programmable logic controller,plc)、震动模块控制、光源控制、相机采图模块、声卡采集模块等。
58.例如,功能扩展类测试模块可以包括:数据分割模块、数据库存储、数据分析模块、自定义插件、在线调试模块等。其中,数据分析模块可以提供电子设备不良top项分析,还可以生成过程能力指数(cpk)和测量系统的重复性和复现性(grr)分析数据及对应图标。
59.应理解,每个种类的测试模块所包括的内容均可以根据需要进行增加和减少,本技术实施例对此不进行任何限制。
60.示例性的,如图2所示,序列运行模型可以包括串行模型、并行模型(也可以称为批量异步模型),以及批量同步模型。
61.例如,当需要对某一个电子设备进行多个功能的测试时,序列运行模型可以选用串行模型,执行引擎将以串行的方式调用并运行相关多个测试用例。
62.例如,当需要对多个电子设备进行某一种功能的测试时,序列运行模块可以选用批量同步模型,执行引擎将以并行且同步的方式,调用并运行相关测试用例。
63.例如,当需要对多个电子设备进行不同功能的测试时,序列运行模块可以选用并行模型,执行引擎将以并行且不同步的方式,调用并运行不同的测试用例。
64.应理解,由于提供了多种测试模型,可以支持多工位并行测试、多工位批量测试
等,由此,本技术实施例提供的测试装置可以适应于更多电子设备的测试场景中。
65.还应理解,每种模型都适应多槽位支持,例如,当对一个电子设备进行测试时对应一个槽位,若测试装置最多支持8槽位,则可以最多对8个电子设备进行测试,并且对8个电子设备的测试和数据显示是独立并行执行的。
66.数据存储层140用于存储测试用例执行时生成的结果,还用于为测试结果提供多种保存方式。例如,支持assii-text报告、ms office报告、多种数据库、文本、excel表格等。其中,该生成结果可以根据测试需求预设和更改格式,以便于为后续进行数据的追溯和分析提供保障。
67.下面结合图1至图3,对本技术实施例提供的测试方法进行详细介绍。图3是本技术实施例提供的一种测试方法的流程示意图。该方法应用于具有如图1所示的软件结构的测试装置。
68.该方法包括以下s10至s80。
69.s10、表示层110接收第一用户在操作界面上的第一操作,响应于第一操作,通过服务交互层120下达操作指令,指示业务逻辑层130中的执行引擎调用代码适配器对测试代码进行自定义步骤封装,生成多个测试步骤。
70.其中,第一操作用于指示执行引擎调用代码适配器将测试代码封装成测试步骤。测试代码可以是任何编程语言编写的代码。例如,编程语言可以为labview、labwindows、/cvi、.net、c/c++、activex/com、basic,当然,也可以为其他语言,本技术实施例对此不进行任何限制。
71.应理解,由于执行引擎支持多种编程开发语言,由此,用户可以适用各自不同的编程语言来创建测试步骤。
72.应理解,第一操作例如可以为第一用户在操作界面上进行的点击操作,当然,也可以为其他操作,本技术实施例对此不进行任何限制。
73.应理解,该操作界面指的是测试装置上的界面,该操作界面的样式和组成元素可以根据需要进行设定和修改,本技术实施例对此不进行任何限制。
74.s20、表示层110接收第一用户在操作界面上的第二操作,响应于第二操作,调用序列编辑器根据多个测试步骤,创建测试序列。
75.其中,第二操作用于指示调用序列编辑器实现测试步骤的排序,排序之后有序的测试步骤将作为对应的一个测试序列。测试序列包括一个或多个测试步骤。
76.应理解,第二操作例如可以为第一用户在操作界面上进行的拖拽操作,当然,也可以为其他操作,本技术实施例对此不进行任何限制。
77.s30、表示层110接收第一用户在操作界面上的第三操作,响应于第三操作,通过服务交互层120下达操作指令,指示业务逻辑层130中的执行引擎将测试序列作为测试模块添加至自定义扩展模块库中。
78.其中,第三操作用于指示执行引擎将测试序列作为测试模块添加至自定义扩展模块库中,该测试模块可以根据功能分类,加入到自定义扩展模块库中的某一类模块中。
79.应理解,第三操作例如可以为第一用户在操作界面上进行的点击操作或拖拽操作,当然,也可以为其他操作,本技术实施例对此不进行任何限制。
80.s40、表示层110接收第一用户在操作界面上的第四操作,响应于第四操作,调用序
列编辑器根据自定义扩展模块库中的多个测试模块,创建测试用例并生成对应文件。
81.其中,第四操作用于指示调用序列编辑器实现测试模块的排序,将排序之后有序的测试模块作为对应的一个测试用例。测试用例包括一个或多个测试序列。
82.应理解,创建出的测试用例的文件可以存储于数据存储层140。
83.应理解,第四操作例如可以为第一用户在操作界面上进行的点击操作或拖拽操作,当然,也可以为其他操作,本技术实施例对此不进行任何限制。
84.应理解,基于s10至s40,可以自定义多个测试模块备用,每个测试模块对应不同的测试功能。由此,用户可以基于该创建的多个测试用例,直接调用并进行测试,简单快捷,复用性高,可以有效提高开发效率。
85.s50、表示层110接收第二用户在操作界面上的第五操作,响应于第五操作,通过服务交互层120下达操作指令,指示业务逻辑层130中的执行引擎调用目标测试用例在目标测试模型中执行。
86.其中,第五操作用于指示执行引擎调用目标测试用例对应的文件,并在目标测试模型中进行执行。目标测试用例由多个测试模块自定义排序生成并存储在通用测试装置中。
87.应理解,多个测试模块自定义排序生成并存储在通用测试装置中,即指的是,在上述s40中,根据用户的需求和操作,预先自定义的创建出的测试用例,并将测试用例对应的文件存储于数据存储层140。其中,每个测试用例所包括的测试模块的内容和/或顺序不一定相同。
88.应理解,执行引擎调用目标测试用例时,调用的是目标测试用例对应的文件,然后,将该文件在目标测试模型中执行。
89.应理解,第五操作例如可以为第二用户在操作界面上进行的点击操作,当然,也可以为其他操作,本技术实施例对此不进行任何限制。
90.应理解,数据存储层140可以存储有多个测试用例分别对应的多个文件。目标测试用例为多个测试用例中的一个。目标测试模型为多个测试模型中的一个。此外,第二用户与第一用户可以为同一人,也可以为不同的人。
91.s60、目标测试模型输出测试报告并传输至数据存储层140进行存储。
92.其中,目标测试模块可以自动生成并输出符合各种行业标准格式的测试报告。该测试报告可以是预设的文件格式。
93.s70、第二用户根据测试报告对测试用例进行调试。
94.例如,表示层110接收到第二用户在操作界面上的参数设置操作后,对步骤参数、运行参数等进行更新。
95.基于此,然后继续执行s50和s60,得到新的测试报告。由此可以循环多次,以对测试用例的功能进行验证,得到较好的实现效果。
96.s80、表示层110接收第二用户在操作界面上的第六操作,响应于第六操作,通过服务交互层120下达操作指令,指示业务逻辑层130中的执行引擎调用目标测试用例在目标测试模型中进行老化测试,也即进行重复执行。
97.其中,第六操作用于指示执行引擎调用目标测试用例对应的文件,并在目标测试模型中进行老化测试。通过老化测试,也就是进行多次重复执行可以检测所测试的电子设
备的稳定性。
98.应理解,此处的目标测试用例可以指示未经调试的目标测试用例,也可以指示经过调试之后的目标测试用例。
99.本技术实施例提供了一种测试方法,通过将测试代码封装成测试步骤,多个测试步骤逻辑化成测试序列,然后,将测试序列作为实现某些测试的测试模块进行存储,由此,后续在进行测试时,则可以在测试模块的基础上继续进行自定义顺序,从而可以实现对测试模块的高度复用,提高开发效率。
100.此外,由于支持多工位并行测试,提高了测试吞吐量,而且兼容各种电子设备测试,为电子设备的品质进行保驾护航。
101.本技术实施例还提供一种计算机设备,包括存储器、处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如上所述的测试方法。
102.本技术实施例还提供一种计算机程序产品,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上所述的测试方法。
103.本技术的实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序包括用于执行上述测试方法。该可读介质可以是只读存储器(read-only memory,rom)或随机存取存储器(random access memory,ram),本技术实施例对此不做限制。
104.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1