一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于自动测试验证电子产品的方法及其相关产品与流程

2022-02-20 14:08:34 来源:中国专利 TAG:


1.本发明的实施方式涉及测试技术领域,更具体地,本发明的实施方式涉及用于自动测试验证电子产品的方法、用于执行前述方法的设备和计算机程序产品以及系统。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述可包括可以探究的概念,但不一定是之前已经想到或者已经探究的概念。因此,除非在此指出,否则在本部分中描述的内容对于本技术的说明书和权利要求书而言不是现有技术,并且并不因为包括在本部分中就承认是现有技术。
3.在电子产品的整个研发生产周期中,对电子产品的测试验证是其中一重要部分。而电子产品的传统测试方式通常依赖人工干预,其涉及到测试过程中的多个步骤都需要人为进行监控和调试,使得整个测试过程不仅效率低,而且测试效果不理想。


技术实现要素:

4.已知的对电子产品的测试验证通常需要人为干预测试过程的各个环节,这是非常令人烦恼的过程。
5.为此,非常需要一种改进的用于自动测试验证电子产品的方法及其相关产品,可以替代人工来完成对电子产品的自动化测试,在提高测试效率的同时,能够及早检测出可能存在的隐患和漏洞,以提高测试效果。
6.在本上下文中,本发明的实施方式期望提供一种用于自动测试验证电子产品的方法及其相关产品。
7.在本发明实施方式的第一方面中,提供了一种用于自动测试验证电子产品的方法,包括:获取关于待测试电子产品的监测任务,其中所述监测任务包括关于所述待测试电子产品的编译任务和测试任务;响应于所述编译任务,生成关于所述待测试电子产品的固件包;响应于所述测试任务,基于所述固件包构建测试包,其中所述测试包包括所述固件包和测试脚本,以及将所述测试包烧录至测试设备中,以令所述测试设备基于测试脚本执行对固件包的自动化测试。
8.在本发明的一个实施例中,基于所述固件包构建测试包包括:获取关于所述固件包的测试脚本;以及利用预定脚本将所述测试脚本推送至所述固件包中的指定位置,以得到所述测试包。
9.在本发明的另一实施例中,生成关于所述待测试电子产品的固件包包括:获取关于所述待测试电子产品的最新固件代码;以及基于所述最新固件代码确定所述固件包。
10.在本发明的又一个实施例中,该测试任务包括用于烧录固件的烧录脚本,其中将所述测试包烧录至测试设备中包括:利用所述烧录脚本将所述测试包中的固件包和测试脚本烧录至所述测试设备中。
11.在本发明的再一个实施例中,该测试脚本包括中控脚本,其中所述方法还包括:将
所述中控脚本烧录至所述测试设备中,以基于所述中控脚本轮询检测自动化测试的执行状况。
12.在本发明的一个实施例中,该方法还包括:响应于获取到所述测试设备反馈的测试数据,基于所述测试数据生成测试报告。
13.在本发明的另一个实施例中,该方法还包括:根据所述测试数据判断是否通过对所述待测试电子产品的测试;以及响应于通过对所述测试电子产品的测试,将所述固件包烧录至所述待测试电子产品中。
14.在本发明实施方式的第二方面中,提供了一种设备,包括:处理器;以及存储器,其存储有用于自动测试验证电子产品的计算机指令,当所述计算机指令由所述处理器运行时,使得所述设备执行根据前文以及下文多个实施例所述的方法。
15.在本发明实施方式的第三方面中,提供了一种计算机程序产品,包含用于自动测试验证电子产品的程序指令,当所述程序指令由处理器执行时,使得所述设备执行根据前文以及下文多个实施例所述的方法。
16.在本发明实施方式的第四方面中,提供了一种用于自动测试验证电子产品的系统,包括:服务器,包括任务发布模块和任务打包模块,其中所述任务发布模块配置为执行关于待测试电子产品的监测任务的发布,以及所述任务打包模块执行根据前文以及下文多个实施例所述方法,以响应所述监测任务,生成关于待测试电子产品的测试包并将其烧录至测试设备中;所述测试设备,其连接至所述任务打包模块,并配置为根据所述测试包完成对所述待测试电子产品的自动化测试。
17.根据本发明实施方式的用于自动测试验证电子产品的方法及其相关产品,可以基于对电子产品的监测任务的响应完成对电子产品的自动化测试,而无需人为过多干预,不仅显著地降低了测试过程中的人力成本,并且能够提高测试效率。另外,不依赖人工的自动化测试方式还能够及早检测出电子产品可能存在的隐患和漏洞,使得电子产品的潜在风险尽早得到暴露,从而利于促进电子产品质量的不断提升。
附图说明
18.通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
19.图1示意性地示出了适于实现本发明实施方式的示例性计算系统100的框图;
20.图2示意性地示出了根据本发明实施例的用于自动测试验证电子产品的方法流程图;
21.图3示意性地示出了根据本发明实施例的设备的示意框图;
22.图4示意性地示出了根据本发明实施例的用于自动测试验证电子产品的系统的示意框图;以及
23.图5示意性地示出了根据本发明实施例的用于自动测试验证电子产品的系统的示意架构图。
24.在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
25.下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
26.图1示出了适于实现本发明实施方式的示例性计算系统100的框图。如图1所示,计算系统100可以包括:中央处理单元(cpu)101、随机存取存储器(ram)102、只读存储器(rom)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。这些设备中,与系统总线104耦合的有cpu 101、ram 102、rom 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅是为了示例的目的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
27.本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式,本文一般称为“电路”、“模块”“单元”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
28.可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举示例)例如可以包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
29.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
30.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
31.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部
分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(lan)或广域网(wan))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
32.下面将参照本发明实施例的方法的流程图和设备(或系统)的框图描述本发明的实施方式。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
33.也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的产品。
34.也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
35.根据本发明的实施方式,提出了一种用于自动测试验证电子产品的方法及其相关产品。
36.在本文中,需要理解的是,所涉及的术语固件包可以表示关于电子产品的底层系统和应用层功能的安装包。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
37.下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
38.发明概述
39.本发明人发现,在电子产品研发结束后的测试阶段,将通常需要依赖人工监管执行的一些测试流程(例如人工设置固件包、人工通过烧录设备来将固件包和测试脚本烧录至测试设备等)转为自动化执行后,整个测试周期会大大缩减,且能够避免人为因素导致测试结果不理性的问题。
40.在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
41.示例性方法
42.下面参考图2来描述根据本发明示例性实施方式的用于自动测试验证电子产品的方法。需要注意的是,本发明的实施方式可以应用于适用的任何场景。
43.图2示意性地示出了根据本发明一个实施例的用于自动测试验证电子产品的方法200流程图。如图2中所示,方法200可以包括:在步骤s201处,可以获取关于待测试电子产品的监测任务。在一些实施例中,前述的待测试电子产品可以包括词典笔、扫描笔、听力学习机、点读笔、录音笔或其他需要进行前文所述的人工测试的电子产品。
44.在一些实施例中,前述的监测任务可以由任务发布工具来生成。例如,可以基于jenkins工具来发布该监测任务。具体地,可以将jenkins工具安装在服务器中运行,并可以
基于不同待测试电子产品的测试需求利用jenkins工具来创建该监测任务。在一个实施例中,前述的监测任务可以包含关于待测试电子产品的编译任务和测试任务,以基于该编译任务和测试任务来自动执行的相应操作。
45.在一些实施例中,在获取到前述的监测任务之后,接着,在步骤s202处,可以响应于前述的编译任务,生成关于待测试电子产品的固件包。在一些实施例中,如前所述,可以通过任务发布工具来发布编译任务,例如jenkins工具的任务编译界面上可以展示待测试电子产品的相关信息选项(例如软件库选项、当前待打包的版本号设置选项、清除历史配置选项等),用户可以根据对待测试电子产品的测试需求来设置前述的各个选项,并在设置完成后,触发任务发布(例如前述的任务编译界面上还可以设置有虚拟按钮,用户点击该虚拟按钮即可触发任务的发布)。
46.在一些实施例中,前述的生成固件包的过程具体可以涉及获取关于待测试电子产品的最新固件代码,然后基于前述的最新固件代码确定固件包。如前所述,编译任务中可以设置软件库选项以及当前待打包的版本号等。基于此,可以根据编译任务从对应的软件库中调用相关固件代码来进行打包,以得到所需的固件包。可以理解的是,这里对固件包的生成过程的描述仅是一种示例性说明,本发明的方案并不受此限制。
47.在一些实施场景中,在完成对固件包的打包之后,还可以向用户推送编译任务结果,该编译任务结果可以包含打包者信息、包名称以及下载路径等信息。而关于该编辑任务结果的推送方式可以包括将该编译任务结果发送至指定终端,以基于指定终端向用户展示(例如以短信或浮窗等形式展示)。
48.接着,在步骤s203处,可以响应于前述的测试任务,基于固件包构建测试包。在一些实施例中,如前所述,可以通过jenkins工具来进行任务编辑,例如jenkins工具的任务编译界面上所展示的待测试电子产品的相关信息选项还可以包括是否运行自动化测试选项,并在确定选择运行自动化测试时,会触发测试任务的发布。可以理解的是,这里关于测试任务的发布的描述仅是一种示例性说明,本发明的方案并不受此限制。
49.在一些实施例中,前述测试包的构建过程具体可以涉及获取前述固件包的测试脚本,然后利用预定脚本将该测试脚本推送至固件包中的指定位置,以完成测试包的构建。在一些实施场景中,前述的测试脚本可以包括用于测试固件包底层系统和应用层功能的测试脚本、用于烧录固件的烧录脚本以及用于监控测试执行状况的中控脚本等。前述的预定脚本可以包括shell脚本或bat脚本等,其具体可以根据固件包的底层代码的编辑脚本来进行调整设置,这里仅用于示例性说明,并不对预定脚本的类型进行限制。而在一些实施场景中,前述的固件包中的指定位置可以包括固件包的指定目录。
50.在完成测试包的构建之后,接着,在步骤s204处,可以将前述的测试脚本烧录至测试设备中,测试设备可以基于测试包中的测试脚执行对固件包的自动化测试。在一些实施例中,如前所述,测试脚本可以包括烧录脚本,可以利用烧录脚本将测试包中的固件包和测试脚本烧录至测试设备中,从而实现对测试包的自动化烧录。
51.在一些实施例中,在完成对测试包的烧录之后,还可以通过前述的中控脚本来轮询检测自动化测试的执行状况,使得整个自动化测试过程可以脱离人工监管,从而节省人力成本。在一些实施场景中,在基于中控脚本检测到已完成对测试包的测试之后,可以获取测试设备反馈的测试数据,并可以基于测试数据生成测试报告。其中该测试报告可以包括
测试版本号、测试设备标识信息、ota循环测试的成败次数、reset循环测试的成败次数、ui测试信息以及测试报告详情的地址等。在一些实施例中,还可以将该测试报告发送至指定终端,以基于指定终端向用户展示,从而形成对待测试电子产品的一个完整的自动化测试闭环。
52.进一步地,在一些实施例中,在获取到前述的测试数据之后,还可以根据测试数据判断是否通过对待测试电子产品的测试,并在确定通过测试后,将前述的固件包烧录至待测试电子产品中,以替代人工刷机来完成产品的发布,不仅进一步缩减了人力成本,而且提高了产品从测试至发布阶段的时效。
53.示例性设备
54.在介绍了本发明示例性实施方式的方法之后,接下来,参考图3至图5对本发明示例性实施方式的用于自动测试验证电子产品的相关产品进行描述。
55.图3示意性地示出了根据本发明实施例的设备300的示意框图。如图3所示,设备300可以包括处理器301和存储器302。其中存储器302存储有用于自动测试验证电子产品的计算机指令,当所述计算机指令由处理器301运行时,使得设备300执行根据前文结合图2所描述的方法。例如,在一些实施例中,设备300可以执行对编译任务和测试任务的编辑、对固件包的自动化打包、对测试包的自动化创建、对测试过程的自动化监控以及测试报告的生成及推送等。基于此,通过设备300可以及早检测出电子产品可能存在的隐患和漏洞,使得电子产品的潜在风险尽早得到暴露,从而利于促进电子产品质量的不断提升。
56.在一些实施场景中,设备300可以包括服务器或者终端设备(例如个人pc机、电脑等)。
57.图4示意性地示出了根据本发明实施例的用于自动测试验证电子产品的系统400的示意框图。如图4所示,系统400可以包括服务器和测试设备。在一些实施例中,前述的服务器可以包括任务发布模块和任务打包模块。而前述的任务发布模块可以配置为执行关于待测试电子产品的监测任务的发布,例如可以包括编译任务的发布和测试任务的发布,其具体过程可以参照前文结合图2中所描述的任务发布过程,这里将不再赘述。而前述的任务打包模块配置为执行前文结合图2中所描述的各个步骤,可以响应前述的监测任务,生成关于待测试电子产品的测试包,并可以将其烧录至测试设备中。在一些实施场景中,前述的测试设备可以是支持测试包运行的计算机设备、终端或者待测试电子产品等。
58.在一些实施例中,前述的测试设备可以与任务打包模块建立连接(包括有线通信连接或无线通信连接),在任务打包模块将测试包烧录至该测试设备后,该测试设备可以先自启来激活并运行测试脚本,然后基于测试脚本来对完成对固件包的自动化校验测试(例如关于版本迭代的基础功能、关键性功能和性能的测试校验),从而能够脱离人工来及早发现产品可能存在的一些潜在风险,来促使产品不断提升质量。
59.图5示意性地示出了根据本发明实施例的用于自动测试验证电子产品的系统500的示意架构图。可以理解的是,图5可以是图4中系统400的一种示例性的实现方式,其中图5中的jenkins服务对应图4中的任务发布模块,图5中的repo软件库和任务打包服务对应图4中的任务打包模块。因此,前文结合图4所描述的相关细节同样也适用于图5。另外,图5中还展示了即时通信设备来对系统500的具体应用场景进行完善。
60.如图5所示,在有对待测试电子产品的测试需求时,可以基于jenkins来进行任务
发布,具体可以在jenkins的任务编译界面来完成任务的发布,例如可以向任务打包服务发起打包任务。而任务打包服务在接收到该打包任务时,向repo软件库请求同步最新固件代码,以及基于最新固件代码来完成对固件包的打包,并在完成对固件包的打包之后,将打包结果反馈至jenkins服务。而在jenkins服务接收到打包结果时,可以将其发送至即时通信设备,以由即时通信设备来进行展示。
61.在一些实施例中,在任务打包服务接收到测试任务时,可以响应该测试任务,利用预定脚本(例如shell脚本或bat脚本)来将相关测试脚本推送至前述的固件包的指定目录中,以完成测试包的构建。然后,可以利用烧录脚本将该测试包烧录至测试设备中。在一些实施例中,该测试任务可以作为前述打包任务的子任务,在打完任务完成后,可以自动调取该测试任务。在另一些实施例中,该测试任务可以脱离打包任务被单独调用。而测试任务在被单独调用时需要设置待测版本号以及是否需要运行测试等信息。
62.在一些实施例中,在构建测试包时,还可以同时备份一份正式包。以便在测试通过后,直接将该正式包烧录至待测试电子产品中。可替换地,也可以不进行正式包的备份,而在测试通过后直接将测试阶段打包的固件包烧录至待测试电子产品中,以代替人工实现自动刷机。
63.在一些实施例中,在将测试包烧录至测试设备之后,该测试设备可以通过自启来激发并运行测试脚本,以基于测试脚本进行固件包的测试校验。而在整个测试校验过程中,任务打包服务可以通过中控脚本进行测试过程的监控。在一些实施场景中,该测试设备在完成测试后,可以发送通知至jenkins服务以及发送测试数据至任务打包服务。在该场景下,jenkins服务可以向任务打包服务器请求测试数据,以及基于任务打包服务器反馈的测试数据来编辑测试报告,并将测试报告发送至即时通信设备。而即时通信设备在接收到该测试报告后对其进行展示,以便于用户直观的查看。
64.基于系统500中各部分之间的配合,形成了一个完成的测试闭环。在这一测试闭环中,经过测试脚本的自动化测试校验,能够确保版本迭代后的基础功能可用,以及关键性功能和性能得到有效可靠验证,使得整个测试过程可脱离人工,从而缩减整个测试周期,且能够避免人为因素导致测试结果不理性的问题。
65.应当注意,尽管在上文详细描述中提及了用于自动测试验证电子产品的设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
66.此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
67.申请文件中提及的动词“包括”、“包含”及其词形变化的使用不排除除了申请文件中记载的那些元素或步骤之外的元素或步骤的存在。元素前的冠词“一”或“一个”不排除多个这种元素的存在。
68.虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能
组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献