CN112783780A - 一种多环境多平台嵌入式系统的自动化测试方法及系统 - Google Patents
一种多环境多平台嵌入式系统的自动化测试方法及系统 Download PDFInfo
- Publication number
- CN112783780A CN112783780A CN202110121768.4A CN202110121768A CN112783780A CN 112783780 A CN112783780 A CN 112783780A CN 202110121768 A CN202110121768 A CN 202110121768A CN 112783780 A CN112783780 A CN 112783780A
- Authority
- CN
- China
- Prior art keywords
- test
- equipment
- module
- tested
- compiling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 190
- 238000004891 communication Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 6
- 238000011056 performance test Methods 0.000 claims description 5
- 238000013112 stability test Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Abstract
本发明提供了一种多环境多平台嵌入式系统的自动化测试方法及系统,其中,包括:下发测试启动指令:接收启动指令并启动多个测试节点;每个测试节点与对应的待测试设备建立通信连接;根据当前的所述待测试设备的运行系统选择对应的编译方式生成对应的测试用例执行测试,并返回测试结果,其中,所述待测试设备分别为运行在不同环境及硬件平台的设备。其技术方案的有益效果在于,提高软件在多平台多环境的嵌入式设备上的测试效率,减少人工工作量、方便对不同平台不同环境的多种嵌入式设备进行自动化测试。
Description
技术领域
本发明涉及嵌入式设备测试技术领域,尤其涉及一种多环境多平台嵌入式系统的自动化测试方法及系统。
背景技术
随着计算机技术的发展,嵌入式系统已经广泛应用于各个领域,所谓嵌入式系统就是以应用为中心,以计算机技术为基础,软、硬件均可裁减,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统,其主要是由硬件和软件两大部分组成的,系统硬件的核心是嵌入式处理器。现有的软件支持的系统和平台非常复杂,软件平台包括Linux(32/64)和Android(32/64),硬件平台包括x86,ARM32,ARM64等。在测试过程中,由于每个平台的工具链的不同。对于多核处理器的设备,还需要分别验证软件运行在单核和多核上的正确性等问题,当前业界主流的自动化测试方法仅仅是针对单个平台单个系统,无法完成以上各项组合起来的自动化测试任务。
发明内容
针对现有的在多个平台上无法实现统一测试上存在的问题。现提供一种方便对不同平台不同环境的多种嵌入式设备进行自动化测试的方法及系统。
具体包括以下:
一种多环境多平台嵌入式系统的自动化测试方法,其中,包括:
下发测试启动指令:
接收启动指令并启动多个测试节点;
每个测试节点与对应的待测试设备建立通信连接;
根据当前的所述待测试设备的运行系统选择对应的编译方式生成对应的测试用例执行测试,并返回测试结果,其中,所述待测试设备分别为运行在不同环境及硬件平台的设备。
优选的,对于不同的所述待测试设备提供不同的通信协议进行通信连接。
优选的,所述通信协议包括:ssh(SSH:Secure Shell,由IETF的网络小组(NetworkWorking Group)所制定;SSH为建立在应用层基础上的安全协议。SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议);
telnet(Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。);
adb(ADB是Android Debug Bridge:安卓调试桥的缩写,用于通过电脑代码脚本(或者电脑程序等)控制手机进行操作。)
serial(Serial是串口通信协议,规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。)。
优选的,所述待测试设备的运行环境包括Linux系统或Android系统,所述硬件平台包括x86(X86架构(The X86 architecture)是微处理器执行的计算机语言指令集,指一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。);
ARM32(ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced RISC Machine。ARM处理器32位架构),ARM64(ARM处理器64位架构)。
优选的,对所述待测试设备执行测试的内容包括:功能测试、性能测试、稳定测试及内存测试。
优选的,在连接上所述待测试设备后,进入代码编译过程,其中,编译包括分本地编译和交叉编译;
对连接的所述待测试设备进行系统类型判断,若是Linux设备则执行本地编译;若是Android设备则执行交叉编译。
还包括一种多环境多平台嵌入式系统的自动化测试系统,其中,包括:
主设备端,用以下发测试启动指令;
代理端,用以接收所述测试启动指令,并根据所述测试启动指令启动相应的多个测试节点;
每个所述测试节点于启动后,加载相应的测试模块,所述测试模块于启动后自动连接对应的待测试设备;
所述测试模块根据当前的所述待测试设备的运行系统选择对应的编译方式生成对应的测试用例执行测试,并返回测试结果。
优选的,所述主设备端为Jenkins master服务端,所述代理端为Jenkins代理服务端。
优选的,所述测试模块存储在Gitlab中,所述测试节点于启动后于所述Gitlab中拉取所述测试模块执行测试。
优选的,所述测试模块包括:
信息模块:用于存储设备相关信息;
连接模块:用于连接所述待测试设备;
编译模块:用于编译源程序;
测试用例模块:用于生成和选择测试用例;
测试执行模块:用于执行测试用例;
测试结果模块:用于生成测试结果;
测试反馈模块:用于反馈测试结果到相关人员。
上述技术方案具有如下优点或有益效果:提高软件在多平台多环境的嵌入式设备上的测试效率,减少人工工作量、方便对不同平台不同环境的多种嵌入式设备进行自动化测试。
附图说明
图1是本发明中的一种多环境多平台嵌入式系统的自动化测试方法的实施例的流程示意图;
图2是本发明中的一种多环境多平台嵌入式系统的自动化测试系统的实施例的结构示意图;
图3是本发明中的一种多环境多平台嵌入式系统的自动化测试系统的实施例的测试流程示意图;
图4-5是本发明中的一种多环境多平台嵌入式系统的自动化测试系统的实施例中,关雨测试模块的结构示意图。
上述附图标记表示:
1、主设备端;2、代理端3、测试节点;4、测试模块;41、信息模块;42、连接模块;43、编译模块;44、测试用例模块;45、测试执行模块;46、测试结果模块;47、测试反馈模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
具体包括以下内容:
如图1所示,一种多环境多平台嵌入式系统的自动化测试方法。
一种多环境多平台嵌入式系统的自动化测试方法的实施例,其中,包括:
下发测试启动指令:
接收启动指令并启动多个测试节点;
每个测试节点与对应的待测试设备建立通信连接;
根据当前的待测试设备的运行系统选择对应的编译方式生成对应的测试用例执行测试,并返回测试结果,其中,待测试设备分别为运行在不同环境及硬件平台的设备。
上述技术方案中,测试测试步骤具体图1所示:
S1、下发测试启动指令:
S2、接收启动指令并启动多个测试节点;
S3、每个测试节点与对应的待测试设备建立通信连接;
S4、根据当前的待测试设备的运行系统选择对应的编译方式生成对应的测试用例执行测试,并返回测试结果,其中,待测试设备分别为运行在不同环境及硬件平台的设备。
在一种较优的实施方式中,对于不同的待测试设备提供不同的通信协议进行通信连接。
在一种较优的实施方式中,通信协议包括:ssh、telnet、adb或serial。
在一种较优的实施方式中,待测试设备的运行环境包括Linux系统或Android系统,硬件平台包括x86,ARM32,ARM64。
在一种较优的实施方式中,对待测试设备执行测试的内容包括:功能测试、性能测试、稳定测试及内存测试。
在一种较优的实施方式中,在连接上待测试设备后,进入代码编译过程,其中,编译包括分本地编译和交叉编译;
对连接的待测试设备进行系统类型判断,若是Linux设备则执行本地编译;若是Android设备则执行交叉编译。
本发明的技术方案中还包括一种多环境多平台嵌入式系统的自动化测试系统。
如图2所示,一种多环境多平台嵌入式系统的自动化测试系统的实施例,其中,包括:
主设备端1,用以下发测试启动指令;
代理端2,用以接收测试启动指令,并根据测试启动指令启动相应的多个测试节点;
每个测试节点3于启动后,加载相应的测试模块,测试模块于启动后自动连接对应的待测试设备;
测试模块4根据当前的待测试设备的运行系统选择对应的编译方式生成对应的测试用例执行测试,并返回测试结果。
在一种较优的实施方式中,主设备端1为Jenkins master服务端,代理端2为Jenkins代理服务端。
上述技术方案中,如图3所示,测试人员可通过http登录到Jenkins master启动测试,其中,Jenkins代理服务端2可配置多个,测试节点即代表测试任务slave,在测试任务启动后,直接拉取测试模块执行测试;
多个测试任务启动后,测试模块4根据不同的待测试设备选择不同的通信协议建立连接,具体的通信协议可包括,ssh、telnet、adb、serial;
连接上待测试设备之后,需要进行代码的编译,分本地编译和交叉编译两种。如果待测试设备的系统为Linux,则进行本地编译;如果待测试设备的系统为Android,则进行交叉编译;
在编译完成后,自动进行测试程序的运行,具体的测试内容可包括,设备的功能测试、性能测试、稳定测试及内存测试;
在测试程序运行结束后,测试结果通过邮件自动发送至测试产品的相关人员,如产品经理、研发人员及项目经理等。
在一种较优的实施方式中,测试模块4存储在Gitlab中,测试节点于启动后于Gitlab中拉取测试模块执行测试。
在一种较优的实施方式中,测试模块4包括:
信息模块41:用于存储设备相关信息;
连接模块42:用于连接待测试设备;
编译模块43:用于编译源程序;
测试用例模块44:用于生成和选择测试用例;
测试执行模块45:用于执行测试用例;
测试结果模块46:用于生成测试结果;
测试反馈模块47:用于反馈测试结果到相关人员。
上述技术方案中,信息模块41主要用于存储嵌入式设备的相关信息,如IP地址、登录用户名和密码、设备连接类型、测试期待结果、CPU信息、系统型号等;
连接模块42主要用于连接目标设备,通过SSH、ADB、TELNET、SERIAL等协议与目标设备进行连接和通信;
编译模块43主要用于编译源程序,包括生产代码和测试代码,通过交叉编译或者本地编译的方式;
测试用例模块44主要用于生成和选择测试用例,测试用例由多个部分组成,如功能测试、性能测试、稳定性测试等,这些部分可以单独执行也可完整执行;
测试执行模块45主要用于到目标设备上运行测试程序,执行所选择的测试用例;
测试结果模块46主要用于收集和展示测试结果,比如总计100个测试用例,有多少个测试通过,有多少个测试失败,可以通过HTML格式的网页进行查看;
测试反馈模块47主要用于将测试完成后的结果及时通知到项目组相关人员,以邮件发送的形式。
以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (10)
1.一种多环境多平台嵌入式系统的自动化测试方法,其特征在于,包括:
下发测试启动指令:
接收启动指令并启动多个测试节点;
每个测试节点与对应的待测试设备建立通信连接;
根据当前的所述待测试设备的运行系统选择对应的编译方式生成对应的测试用例执行测试,并返回测试结果,其中,所述待测试设备分别为运行在不同环境及硬件平台的设备。
2.根据权利要求1所述的自动化测试方法,其特征在于,对于不同的所述待测试设备提供不同的通信协议进行通信连接。
3.根据权利要求2所述的自动化测试方法,其特征在于,所述通信协议包括:ssh、telnet、adb或serial。
4.根据权利要求2所述的自动化测试方法,其特征在于,所述待测试设备的运行环境包括Linux系统或Android系统,所述硬件平台包括x86,ARM32,ARM64。
5.根据权利要求1所述的自动化测试方法,其特征在于,对所述待测试设备执行测试的内容包括:功能测试、性能测试、稳定测试及内存测试。
6.根据权利要求1所述的自动化测试方法,其特征在于,在连接上所述待测试设备后,进入代码编译过程,其中,编译包括分本地编译和交叉编译;
对连接的所述待测试设备进行系统类型判断,若是Linux设备则执行本地编译;若是Android设备则执行交叉编译。
7.一种多环境多平台嵌入式系统的自动化测试系统,其特征在于,包括:
主设备端,用以下发测试启动指令;
代理端,用以接收所述测试启动指令,并根据所述测试启动指令启动相应的多个测试节点;
每个所述测试节点于启动后,加载相应的测试模块,所述测试模块于启动后自动连接对应的待测试设备;
所述测试模块根据当前的所述待测试设备的运行系统选择对应的编译方式生成对应的测试用例执行测试,并返回测试结果。
8.根据权利要求7所述的自动化测试系统,其特征在于,所述主设备端为Jenkinsmaster服务端,所述代理端为Jenkins代理服务端。
9.根据权利要求7所述的自动化测试系统,其特征在于,所述测试模块存储在Gitlab中,所述测试节点于启动后于所述Gitlab中拉取所述测试模块执行测试。
10.根据权利要求7所述的自动化测试系统,其特征在于,所述测试模块包括:
信息模块:用于存储设备相关信息;
连接模块:用于连接所述待测试设备;
编译模块:用于编译源程序;
测试用例模块:用于生成和选择测试用例;
测试执行模块:用于执行测试用例;
测试结果模块:用于生成测试结果;
测试反馈模块:用于反馈测试结果到相关人员。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110121768.4A CN112783780A (zh) | 2021-01-28 | 2021-01-28 | 一种多环境多平台嵌入式系统的自动化测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110121768.4A CN112783780A (zh) | 2021-01-28 | 2021-01-28 | 一种多环境多平台嵌入式系统的自动化测试方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112783780A true CN112783780A (zh) | 2021-05-11 |
Family
ID=75759585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110121768.4A Pending CN112783780A (zh) | 2021-01-28 | 2021-01-28 | 一种多环境多平台嵌入式系统的自动化测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783780A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1877521A (zh) * | 2006-06-30 | 2006-12-13 | 浙江大学 | 跨操作系统的嵌入式系统板级支持包的实现方法 |
CN108563579A (zh) * | 2018-04-23 | 2018-09-21 | 苏州科达科技股份有限公司 | 白盒测试方法、装置、系统及存储介质 |
CN108932194A (zh) * | 2018-06-21 | 2018-12-04 | 北京京东金融科技控股有限公司 | 自动化测试方法、装置、系统、介质及电子设备 |
CN110096425A (zh) * | 2018-12-10 | 2019-08-06 | 厦门市美亚柏科信息股份有限公司 | 一种基于qt开发模式的自动化测试方法、装置及存储介质 |
CN110347085A (zh) * | 2019-07-16 | 2019-10-18 | 广州小鹏汽车科技有限公司 | 自动化测试系统、方法、车辆以及计算机可读介质 |
CN110659198A (zh) * | 2018-06-28 | 2020-01-07 | 亿度慧达教育科技(北京)有限公司 | 应用程序的测试用例执行方法、装置和软件测试系统 |
CN110928774A (zh) * | 2019-11-07 | 2020-03-27 | 杭州顺网科技股份有限公司 | 一种基于节点式的自动化测试系统 |
CN111194046A (zh) * | 2018-11-14 | 2020-05-22 | 上海富瀚微电子股份有限公司 | 一种wifi模块自动化测试系统及方法 |
-
2021
- 2021-01-28 CN CN202110121768.4A patent/CN112783780A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1877521A (zh) * | 2006-06-30 | 2006-12-13 | 浙江大学 | 跨操作系统的嵌入式系统板级支持包的实现方法 |
CN108563579A (zh) * | 2018-04-23 | 2018-09-21 | 苏州科达科技股份有限公司 | 白盒测试方法、装置、系统及存储介质 |
CN108932194A (zh) * | 2018-06-21 | 2018-12-04 | 北京京东金融科技控股有限公司 | 自动化测试方法、装置、系统、介质及电子设备 |
CN110659198A (zh) * | 2018-06-28 | 2020-01-07 | 亿度慧达教育科技(北京)有限公司 | 应用程序的测试用例执行方法、装置和软件测试系统 |
CN111194046A (zh) * | 2018-11-14 | 2020-05-22 | 上海富瀚微电子股份有限公司 | 一种wifi模块自动化测试系统及方法 |
CN110096425A (zh) * | 2018-12-10 | 2019-08-06 | 厦门市美亚柏科信息股份有限公司 | 一种基于qt开发模式的自动化测试方法、装置及存储介质 |
CN110347085A (zh) * | 2019-07-16 | 2019-10-18 | 广州小鹏汽车科技有限公司 | 自动化测试系统、方法、车辆以及计算机可读介质 |
CN110928774A (zh) * | 2019-11-07 | 2020-03-27 | 杭州顺网科技股份有限公司 | 一种基于节点式的自动化测试系统 |
Non-Patent Citations (1)
Title |
---|
杨凯: "嵌入式系统自动化测试框架的设计与实现", 福建电脑, no. 03 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7114159B2 (en) | Processing resource for use in a distributed processing framework system and methods for implementing the same | |
US7243352B2 (en) | Distributed process runner | |
US6961937B2 (en) | Registry service for use in a distributed processing framework system and methods for implementing the same | |
US7020699B2 (en) | Test result analyzer in a distributed processing framework system and methods for implementing the same | |
US6549882B1 (en) | Mechanisms for providing and using a scripting language for flexibly simulationg a plurality of different network protocols | |
US7130881B2 (en) | Remote execution model for distributed application launch and control | |
US20110066736A1 (en) | Method and system for establishing connections between nodes in a communication network | |
US20080301647A1 (en) | Delivering Malformed Data for Fuzz Testing to Software Applications | |
CN107241315B (zh) | 银行网关接口的接入方法、装置及计算机可读存储介质 | |
CN104579822A (zh) | 基于Http协议的移动应用自动化性能测试系统及方法 | |
Hwang et al. | AUTOCON-IoT: Automated and scalable online conformance testing for IoT applications | |
CN110933095A (zh) | 一种报文解析方法及装置 | |
CN107148031A (zh) | 一种WiFi模块软件系统的测试方法、装置及系统 | |
CN107844410A (zh) | 一种分布式集群系统的调试方法和装置 | |
CN112256557B (zh) | 程序回归测试方法、装置、系统、计算机设备及存储介质 | |
Xu et al. | Tools and support for deploying applications on the grid | |
CN112783780A (zh) | 一种多环境多平台嵌入式系统的自动化测试方法及系统 | |
CN105827462B (zh) | 一种检测网络设备的方法和工具 | |
US7243137B2 (en) | Remote system controller and data center and methods for implementing the same | |
US20030115252A1 (en) | Methods to develop remote applications with built in feedback ability for use in a distributed test framework | |
CN112988588B (zh) | 客户端软件调试方法、装置、存储介质及电子设备 | |
CN115794372A (zh) | 一种跨语言应用系统间通信的方法、系统 | |
CN114860480A (zh) | 基于Serverless的Web服务代理方法、装置及存储介质 | |
CN113535572A (zh) | 服务虚拟化装置及方法 | |
CN111082984A (zh) | 模拟登录网络设备进行命令行交互的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |