CN112506793B - 嵌入式软件单元测试方法、系统、可读介质及电子设备 - Google Patents

嵌入式软件单元测试方法、系统、可读介质及电子设备 Download PDF

Info

Publication number
CN112506793B
CN112506793B CN202011506882.0A CN202011506882A CN112506793B CN 112506793 B CN112506793 B CN 112506793B CN 202011506882 A CN202011506882 A CN 202011506882A CN 112506793 B CN112506793 B CN 112506793B
Authority
CN
China
Prior art keywords
file
unit test
platform
embedded software
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.)
Active
Application number
CN202011506882.0A
Other languages
English (en)
Other versions
CN112506793A (zh
Inventor
吕一男
杨云妹
陈晓东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aisino Corp
Original Assignee
Aisino Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Aisino Corp filed Critical Aisino Corp
Priority to CN202011506882.0A priority Critical patent/CN112506793B/zh
Publication of CN112506793A publication Critical patent/CN112506793A/zh
Application granted granted Critical
Publication of CN112506793B publication Critical patent/CN112506793B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开涉及一种嵌入式软件单元测试方法、系统、可读介质及电子设备。本公开提供的技术方案,在编译服务器内根据第一编译规则文件实现单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件四者自动交叉编译生成可执行文件,自动复制可执行文件到嵌入式软件运行平台内自动生成单元测试结果文件。开发人员提供新可测版本时,不再需要将源码手动编译成源码动态库提供给单元测试人员,只需将添加或修改的源码文件上传至配置管理服务器,提高了开发人员更新可测试版本的速度;单元测试人员只需将添加或修改的单元测试代码文件上传至配置管理服务器,并运行该系统,即可获取单元测试结果文件,提高了单元测试人员的测试效率。

Description

嵌入式软件单元测试方法、系统、可读介质及电子设备
技术领域
本公开涉及单元测试技术领域,具体地,涉及一种嵌入式软件单元测试方法、系统、可读介质及电子设备。
背景技术
目前嵌入式软件单元测试过程如下:开发人员将源码手动编译成源码动态库,并将该源码动态库提供给单元测试人员;单元测试人员将单元测试框架编译生成单元测试框架静态库,编写第一编译规则文件实现单元测试框架静态库、单元测试代码文件、源码动态库、单元测试框架主函数文件四者的交叉编译并生成可执行文件。
因此,目前的嵌入式软件单元测试方法:开发人员在提供新的可测试版本时需要将添加或修改的源码手动编译成源码动态库,降低了开发人员更新可测试版本的速度;源码以源码动态库的形式提供给单元测试人员,单元测试人员无法在源码中添加调试信息,降低了单元测试人员的测试效率;并且,单元测试人员只能手动执行交叉编译生成可执行文件,手动将可执行文件复制到嵌入式软件运行平台,在嵌入式软件运行平台手动运行可执行文件获得单元测试结果文件,降低了单元测试人员的测试效率。
发明内容
本公开的目的是提供一种无需生成源码动态库且能进行自动单元测试的嵌入式软件单元测试方法、系统、可读介质及电子设备,以提高开发人员提交可测试版本的速度及提高单元测试人员的测试效率。
为了实现上述目的,本公开提供一种嵌入式软件单元测试方法,所述方法包括:
接收源码文件并存储在源码工程文件夹中,接收第一编译规则文件、单元测试框架静态库、单元测试代码文件和单元测试框架主函数文件并存储在单元测试文件夹中;
持续集成平台将所述配置管理服务器内的所述单元测试文件夹和源码工程文件夹自动远程复制入所述持续集成平台内;
所述持续集成平台将所述持续集成平台内的单元测试文件夹和源码工程文件夹自动远程复制到编译服务器内,并控制所述编译服务器根据所述第一编译规则文件实现所述单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件四者自动交叉编译生成可执行文件;
所述持续集成平台自动远程复制所述可执行文件至所述嵌入式软件运行平台,并控制所述嵌入式软件运行平台自动运行所述可执行文件生成单元测试结果文件。
可选地,所述方法还包括:
所述持续集成平台自动获取所述单元测试结果文件,根据所述单元测试结果文件生成单元测试报告并通过页面展示。
可选地,所述嵌入式软件运行平台为ARM平台,所述方法还包括:
将SSH轻量级工具DropBear移植到所述嵌入式软件运行平台中,以使所述嵌入式软件运行平台支持网络通信;
为ARM开发板配置网络环境,以搭建所述嵌入式软件运行平台。
可选地,所述方法还包括:
为所述编译服务器配置密钥,以实现免密远程访问所述编译服务器;
为所述嵌入式软件运行平台配置密钥,以实现免密远程访问所述嵌入式软件运行平台;
为所述持续集成平台配置密钥,以实现免密远程访问所述持续集成平台。
本公开还提供一种嵌入式软件单元测试系统,包括:配置管理服务器、编译服务器、嵌入式软件运行平台和持续集成平台;
所述配置管理服务器,用于接收源码文件并存储在源码工程文件夹中,接收第一编译规则文件、单元测试框架静态库、单元测试代码文件和单元测试框架主函数文件并存储在单元测试文件夹中
所述持续集成平台,还用于将所述持续集成平台内的单元测试文件夹和源码工程文件夹自动远程复制到编译服务器内;
所述编译服务器,用于在所述持续集成平台的控制下,根据所述第一编译规则文件实现所述单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件四者自动交叉编译生成可执行文件;
所述持续集成平台,还用于自动远程复制所述可执行文件至所述嵌入式软件运行平台;
所述嵌入式软件运行平台,还用于在所述持续集成平台的控制下,自动运行所述可执行文件生成单元测试结果文件。
可选地,所述持续集成平台,还用于自动获取所述单元测试结果文件,根据所述单元测试结果文件生成单元测试报告并通过页面展示。
可选地,所述嵌入式软件运行平台为ARM平台,所述系统还包括:
网络通信支持模块,用于将SSH轻量级工具DropBear移植到所述嵌入式软件运行平台中,以使所述嵌入式软件运行平台支持网络通信;
网络环境配置模块,用于为ARM开发板配置网络环境,以搭建所述嵌入式软件运行平台。
可选地,所述系统还包括:
编译服务器密钥配置模块,用于为所述编译服务器配置密钥,以实现免密远程访问所述编译服务器;
嵌入式软件运行平台密钥配置模块,用于为所述嵌入式软件运行平台配置密钥,以实现免密远程访问所述嵌入式软件运行平台;
持续集成平台密钥配置模块,用于为所述持续集成平台配置密钥,以实现免密远程访问所述持续集成平台。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本公开还提供一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述方法的步骤。
本公开实施例提供的技术方案,在编译服务器内根据所述第一编译规则文件实现所述单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件四者自动交叉编译生成可执行文件,自动复制所述可执行文件到嵌入式软件运行平台,所述嵌入式软件运行平台自动运行可执行文件生成单元测试结果文件。本公开实施例提供的技术方案,开发人员在提供新的可测试版本时不再需要将源码手动编译成源码动态库提供给单元测试人员,只需将添加或修改的源码文件直接上传至配置管理服务器的源码工程文件夹中即可,提高了开发人员更新可测试版本的速度;单元测试人员只需将添加或修改的单元测试代码文件上传至配置管理服务器,并运行所述嵌入式软件单元测试系统,即可获取单元测试结果文件,提高了单元测试人员的测试效率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开实施例提供的一种嵌入式软件单元测试方法的流程图。
图2是本公开实施例提供的另一种嵌入式软件单元测试方法的流程图。
图3是本公开实施例提供的一种嵌入式软件单元测试系统的框图。
图4是本公开实施例提供的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
本公开实施例提供一种嵌入式软件单元测试方法。图1示出了所述嵌入式软件单元测试方法的流程图。如图1所示,所述方法包括:
步骤S11,配置管理服务器接收源码文件并存储在源码工程文件夹中,接收第一编译规则文件、单元测试框架静态库、单元测试代码文件和单元测试框架主函数文件并存储在单元测试文件夹中。
可选地,在此步骤之前,所述方法还包括:在编译服务器内根据第二编译规则文件将单元测试框架编译生成单元测试框架静态库。所述第二编译规则文件用于将单元测试框架编译生成单元测试框架静态库。其中,所述第一编译规则文件由build文件、configure.ac文件、Makefile.am文件和automake文件组成,用于实现单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件四者的交叉编译,以生成可执行文件。开发人员在添加或修改源码文件后,直接将源码文件上传至配置管理服务器的源码工程文件夹中。单元测试人员将单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件上传至配置管理服务器的单元测试文件夹中。单元测试人员在添加或修改的单元测试代码文件后,直接上传至配置管理服务器的单元测试文件夹中。
步骤S12,持续集成平台将所述配置管理服务器内的所述单元测试文件夹和源码工程文件夹自动远程复制入所述持续集成平台内。
具体地:持续集成平台的配置管理服务器插件将配置管理服务器的源码工程文件夹和单元测试文件夹自动复制到所述持续集成平台的项目文件夹中。
步骤S13,所述持续集成平台将所述持续集成平台内的单元测试文件夹和源码工程文件夹自动远程复制到编译服务器内,并控制所述编译服务器根据所述第一编译规则文件实现所述单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件四者自动交叉编译生成可执行文件。
步骤S14,所述持续集成平台自动远程复制所述可执行文件至所述嵌入式软件运行平台,并控制所述嵌入式软件运行平台自动运行所述可执行文件生成单元测试结果文件。
可以在所述持续集成平台创建项目,设置定时任务,在每天的固定时段,执行自动化脚本,通过执行该自动化脚本实现步骤S12、步骤S13和步骤S14,即:持续集成平台通过执行该自动化脚本实现将所述单元测试文件夹和源码工程文件夹自动远程复制到持续集成平台,再从持续集成平台自动远程复制到编译服务器内,并控制所述编译服务器根据所述第一编译规则文件实现所述单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件四者自动交叉编译生成可执行文件,以及自动远程复制所述可执行文件至所述嵌入式软件运行平台,并控制所述嵌入式软件运行平台自动运行所述可执行文件生成单元测试结果文件。
本公开实施例提供的技术方案,在编译服务器内根据所述第一编译规则文件实现所述单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件四者自动交叉编译生成可执行文件,自动复制所述可执行文件到嵌入式软件运行平台,所述嵌入式软件运行平台自动运行可执行文件生成单元测试结果文件。本公开实施例提供的技术方案,开发人员在提供新的可测试版本时不再需要将源码手动编译成源码动态库提供给单元测试人员,只需将添加或修改的源码文件直接上传至配置管理服务器的源码工程文件夹中即可,提高了开发人员更新可测试版本的速度;单元测试人员只需将添加或修改的单元测试代码文件上传至配置管理服务器,并运行所述嵌入式软件单元测试系统,即可获取单元测试结果文件,提高了单元测试人员的测试效率。
可选地,如图2所示,所述方法还包括:
步骤S15,所述持续集成平台自动获取所述单元测试结果文件,根据所述单元测试结果文件生成单元测试报告并通过页面展示。
可以在所述持续集成平台内设置单元测试结果文件插件,实现自动读取所述单元测试结果文件,并根据所述单元测试结果文件生成单元测试报告并通过页面展示。所述持续集成平台运行自动化脚本调用所述单元测试结果文件插件,实现自动读取所述单元测试结果文件,并根据所述单元测试结果文件生成单元测试报告并通过页面展示。
可选地,所述嵌入式软件运行平台为ARM平台,所述方法还包括:
将SSH轻量级工具DropBear移植到所述嵌入式软件运行平台中,以使所述嵌入式软件运行平台支持网络通信。
SSH在J2EE项目中表示了3种框架,即Spring+Struts+Hibernate。。Dropbear是一个相对较小的SSH服务器和客户端。由于ARM平台只支持串口通信,所以在此需要将SSH轻量级工具DropBear移植到所述嵌入式软件运行平台中,以使所述嵌入式软件运行平台支持网络通信。
为ARM开发板配置网络环境,以搭建所述嵌入式软件运行平台。
可选地,所述方法还包括:
为所述编译服务器配置密钥,以实现免密远程访问所述编译服务器。
其中,实现免密远程访问所述编译服务器主要包括:实现将存储在配置管理服务器内的单元测试文件夹和源码工程文件夹远程复制到编译服务器内,以及将在所述编译服务器内生成的可执行文件远程复制到嵌入式软件运行平台。上述过程可以通过持续集成平台运行自动化脚本实现。为所述嵌入式软件运行平台配置密钥,以实现免密远程访问所述嵌入式软件运行平台。
其中,实现免密远程访问所述嵌入式软件运行平台主要包括:实现将编译服务器内生成的可执行文件远程复制到所述嵌入式软件运行平台,以及将所述嵌入式软件运行平台生成的单元测试结果文件远程复制到持续集成平台。上述过程可以通过持续集成平台运行自动化脚本实现。
为所述持续集成平台配置密钥,以实现免密远程访问所述持续集成平台。
其中,实现免密远程访问所述持续集成平台主要包括:将所述嵌入式软件运行平台生成的单元测试结果文件远程复制到持续集成平台。上述过程可以通过持续集成平台运行自动化脚本实现。
基于上述发明构思,本公开实施例还提供一种嵌入式软件单元测试系统10。如图3所示,所述嵌入式软件单元测试系统10包括:配置管理服务器11、编译服务器12、嵌入式软件运行平台13和持续集成平台14。
所述配置管理服务器11,用于接收源码文件并存储在源码工程文件夹中,接收第一编译规则文件、单元测试框架静态库、单元测试代码文件和单元测试框架主函数文件并存储在单元测试文件夹中。
可选地,所述系统还包括:单元测试框架静态库生成模块。所述单元测试框架静态库生成模块,用于在编译服务器12内根据第二编译规则文件将单元测试框架编译生成单元测试框架静态库。所述第二编译规则文件用于将单元测试框架编译生成单元测试框架静态库。其中,所述第一编译规则文件由build文件、configure.ac文件、Makefile.am文件和automake文件组成,用于实现单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件四者的交叉编译,以生成可执行文件。开发人员在添加或修改源码文件后,直接将源码文件上传至配置管理服务器的源码工程文件夹中。单元测试人员将单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件上传至配置管理服务器的单元测试文件夹中。单元测试人员在添加或修改的单元测试代码文件后,直接上传至配置管理服务器的单元测试文件夹中。
所述持续集成平台14,用于将所述配置管理服务器内的所述单元测试文件夹和源码工程文件夹自动远程复制入所述持续集成平台内。
具体地:持续集成平台的配置管理服务器插件将配置管理服务器的源码工程文件夹和单元测试文件夹自动复制到所述持续集成平台的项目文件夹中。
所述持续集成平台14,用于将所述持续集成平台14内的单元测试文件夹和源码工程文件夹自动远程复制到编译服务器12内。
所述编译服务器12,用于在所述持续集成平台14的控制下,根据所述第一编译规则文件实现所述单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件四者自动交叉编译生成可执行文件。
所述持续集成平台14,还用于自动远程复制所述可执行文件至所述嵌入式软件运行平台13。
所述嵌入式软件运行平台13,还用于在所述持续集成平台14的控制下,自动运行所述可执行文件生成单元测试结果文件。
可以在所述持续集成平台14创建项目,设置定时任务,在每天的固定时段,执行自动化脚本,通过执行该自动化脚本实现:持续集成平台14通过执行该自动化脚本将所述单元测试文件夹和源码工程文件夹自动远程复制到持续集成平台14,再从持续集成平台14自动远程复制到编译服务器12内,并控制所述编译服务器12根据所述第一编译规则文件实现所述单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件四者自动交叉编译生成可执行文件,以及自动远程复制所述可执行文件至所述嵌入式软件运行平台13,并控制所述嵌入式软件运行平台13自动运行所述可执行文件生成单元测试结果文件。
本公开实施例提供的技术方案,在编译服务器12内根据所述第一编译规则文件实现所述单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件四者自动交叉编译生成可执行文件,自动复制所述可执行文件到嵌入式软件运行平台13,所述嵌入式软件运行平台13自动运行可执行文件生成单元测试结果文件。本公开实施例提供的技术方案,开发人员在提供新的可测试版本时不再需要将源码手动编译成源码动态库提供给单元测试人员,只需将添加或修改的源码文件直接上传至配置管理服务器11的源码工程文件夹中即可,提高了开发人员更新可测试版本的速度;单元测试人员只需将添加或修改的单元测试代码文件上传至配置管理服务器11,并运行所述嵌入式软件单元测试系统10,即可获取单元测试结果文件,提高了单元测试人员的测试效率。
可选地,所述持续集成平台14,还用于自动获取所述单元测试结果文件,根据所述单元测试结果文件生成单元测试报告并通过页面展示。
可以在所述持续集成平台14内设置单元测试结果文件插件,实现自动读取所述单元测试结果文件,并根据所述单元测试结果文件生成单元测试报告并通过页面展示。所述持续集成平台14运行自动化脚本调用所述单元测试结果文件插件,实现自动读取所述单元测试结果文件,并根据所述单元测试结果文件生成单元测试报告并通过页面展示。
可选地,所述嵌入式软件运行平台13为ARM平台,所述系统还包括:
网络通信支持模块,用于将SSH轻量级工具DropBear移植到所述嵌入式软件运行平台13中,以使所述嵌入式软件运行平台13支持网络通信。
SSH在J2EE项目中表示了3种框架,即Spring+Struts+Hibernate。。Dropbear是一个相对较小的SSH服务器和客户端。由于ARM平台只支持串口通信,所以在此需要将SSH轻量级工具DropBear移植到所述嵌入式软件运行平台13中,以使所述嵌入式软件运行平台13支持网络通信。
网络环境配置模块,用于为ARM开发板配置网络环境,以搭建所述嵌入式软件运行平台13。
可选地,所述系统还包括:
编译服务器12密钥配置模块,用于为所述编译服务器12配置密钥,以实现免密远程访问所述编译服务器12。
其中,实现免密远程访问所述编译服务器12主要包括:实现将存储在配置管理服务器11内的单元测试文件夹和源码工程文件夹远程复制到编译服务器12内,以及将在所述编译服务器12内生成的可执行文件远程复制到嵌入式软件运行平台13。上述过程可以通过持续集成平台运行自动化脚本实现。
嵌入式软件运行平台13密钥配置模块,用于为所述嵌入式软件运行平台13配置密钥,以实现免密远程访问所述嵌入式软件运行平台13。
其中,实现免密远程访问所述嵌入式软件运行平台13主要包括:实现将编译服务器12内生成的可执行文件远程复制到所述嵌入式软件运行平台13,以及将所述嵌入式软件运行平台13生成的单元测试结果文件远程复制到持续集成平台14。上述过程可以通过持续集成平台运行自动化脚本实现。
持续集成平台14密钥配置模块,用于为所述持续集成平台14配置密钥,以实现免密远程访问所述持续集成平台14。
其中,实现免密远程访问所述持续集成平台14主要包括:将所述嵌入式软件运行平台13生成的单元测试结果文件远程复制到持续集成平台14。上述过程可以通过持续集成平台运行自动化脚本实现。
基于上述发明构思,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述嵌入式软件单元测试方法的步骤。
基于上述发明构思,本公开实施例还提供一种电子设备。图4是根据一示例性实施例示出的一种电子设备700的框图。如图4所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的嵌入式软件单元测试方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的嵌入式软件单元测试方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的嵌入式软件单元测试方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的嵌入式软件单元测试方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (4)

1.一种嵌入式软件单元测试方法,其特征在于,所述方法包括:
配置管理服务器接收源码文件并存储在源码工程文件夹中,接收第一编译规则文件、单元测试框架静态库、单元测试代码文件和单元测试框架主函数文件并存储在单元测试文件夹中,所述第一编译规则文件包括build文件、configure.ac文件、Makefile.am文件和automake文件,所述单元测试框架静态库是根据第二编译规则文件生成,所述第二编译规则文件用于将单元测试框架编译成所述单元测试框架静态库;
持续集成平台将所述配置管理服务器内的所述单元测试文件夹和源码工程文件夹自动远程复制入所述持续集成平台内,所述持续集成平台内设置有单元测试结果文件插件;
为所述持续集成平台配置密钥,以实现免密远程访问所述持续集成平台;
所述持续集成平台将所述持续集成平台内的单元测试文件夹和源码工程文件夹自动远程复制到编译服务器内,并控制所述编译服务器根据所述第一编译规则文件实现所述单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件四者自动交叉编译生成可执行文件;
为所述编译服务器配置密钥,以实现免密远程访问所述编译服务器;
将SSH轻量级工具DropBear移植到嵌入式软件运行平台中,以使所述嵌入式软件运行平台支持网络通信,所述嵌入式软件运行平台为ARM平台;
为ARM开发板配置网络环境,以搭建所述嵌入式软件运行平台;
所述持续集成平台自动远程复制所述可执行文件至所述嵌入式软件运行平台,并控制所述嵌入式软件运行平台自动运行所述可执行文件生成单元测试结果文件,所述持续集成平台用于根据所述单元测试结果文件插件自动读取所述单元测试结果文件,并根据所述单元测试结果文件生成单元测试报告并通过页面展示;
为所述嵌入式软件运行平台配置密钥,以实现免密远程访问所述嵌入式软件运行平台。
2.一种嵌入式软件单元测试系统,其特征在于,包括:配置管理服务器、编译服务器、网络通信支持模块、网络环境配置模块、嵌入式软件运行平台、持续集成平台、持续集成平台密钥配置模块、编译服务器密钥配置模块和嵌入式软件运行平台密钥配置模块;
所述配置管理服务器,用于接收源码文件并存储在源码工程文件夹中,接收第一编译规则文件、单元测试框架静态库、单元测试代码文件和单元测试框架主函数文件并存储在单元测试文件夹中,所述第一编译规则文件包括build文件、configure.ac文件、Makefile.am文件和automake文件,所述单元测试框架静态库是根据第二编译规则文件生成,所述第二编译规则文件用于将单元测试框架编译成所述单元测试框架静态库;
所述持续集成平台,用于将所述配置管理服务器内的所述单元测试文件夹和源码工程文件夹自动远程复制入所述持续集成平台内,所述持续集成平台内设置有单元测试结果文件插件;
所述持续集成平台密钥配置模块,用于为所述持续集成平台配置密钥,以实现免密远程访问所述持续集成平台;
所述持续集成平台,还用于将所述持续集成平台内的单元测试文件夹和源码工程文件夹自动远程复制到编译服务器内;
所述编译服务器,用于在所述持续集成平台的控制下,根据所述第一编译规则文件实现所述单元测试框架静态库、单元测试代码文件、源码工程和单元测试框架主函数文件四者自动交叉编译生成可执行文件;
所述编译服务器密钥配置模块,用于为所述编译服务器配置密钥,以实现免密远程访问所述编译服务器;
所述网络通信支持模块,用于将SSH轻量级工具DropBear移植到嵌入式软件运行平台中,以使所述嵌入式软件运行平台支持网络通信,所述嵌入式软件运行平台为ARM平台;
所述网络环境配置模块,用于为ARM开发板配置网络环境,以搭建所述嵌入式软件运行平台;
所述持续集成平台,还用于自动远程复制所述可执行文件至所述嵌入式软件运行平台;
所述嵌入式软件运行平台,还用于在所述持续集成平台的控制下,自动运行所述可执行文件生成单元测试结果文件;
所述持续集成平台,还用于用于根据所述单元测试结果文件插件自动读取所述单元测试结果文件,并根据所述单元测试结果文件生成单元测试报告并通过页面展示;
所述嵌入式软件运行平台密钥配置模块,用于为所述嵌入式软件运行平台配置密钥,以实现免密远程访问所述嵌入式软件运行平台。
3.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1所述方法的步骤。
4.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1所述方法的步骤。
CN202011506882.0A 2020-12-18 2020-12-18 嵌入式软件单元测试方法、系统、可读介质及电子设备 Active CN112506793B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011506882.0A CN112506793B (zh) 2020-12-18 2020-12-18 嵌入式软件单元测试方法、系统、可读介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011506882.0A CN112506793B (zh) 2020-12-18 2020-12-18 嵌入式软件单元测试方法、系统、可读介质及电子设备

Publications (2)

Publication Number Publication Date
CN112506793A CN112506793A (zh) 2021-03-16
CN112506793B true CN112506793B (zh) 2024-05-28

Family

ID=74922561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011506882.0A Active CN112506793B (zh) 2020-12-18 2020-12-18 嵌入式软件单元测试方法、系统、可读介质及电子设备

Country Status (1)

Country Link
CN (1) CN112506793B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220337A (zh) * 2021-03-30 2021-08-06 建信金融科技有限责任公司 一种版本构建方法、装置、计算机设备和存储介质
CN113110999A (zh) * 2021-04-26 2021-07-13 浙江工业大学 基于轻量级测试框架的智能电能表软件白盒交叉测试方法
CN114090571B (zh) * 2021-10-20 2024-06-28 广东工业大学 一种访问大型数据库的方法、装置、电子设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002268918A (ja) * 2001-03-07 2002-09-20 Mitsubishi Electric Corp 試験システム及び試験方法及び試験プログラム及び試験プログラムを記録した計算機で読み取り可能な記録媒体
US6505342B1 (en) * 2000-05-31 2003-01-07 Siemens Corporate Research, Inc. System and method for functional testing of distributed, component-based software
CN103336688A (zh) * 2013-06-20 2013-10-02 中标软件有限公司 面向云计算软件研发过程中的软件集成方法及系统
CN104407973A (zh) * 2014-11-25 2015-03-11 珠海格力电器股份有限公司 一种自动化单元测试的实现方法及装置
CN105786691A (zh) * 2014-12-25 2016-07-20 重庆重邮信科通信技术有限公司 一种移动终端自动化集成测试装置、方法和系统
CN106161037A (zh) * 2016-08-19 2016-11-23 北京小米移动软件有限公司 数字签名方法及装置
CN107807883A (zh) * 2017-10-27 2018-03-16 郑州云海信息技术有限公司 一种用户态网络文件系统的单元测试方法及装置
CN109086215A (zh) * 2018-10-18 2018-12-25 北京轩宇信息技术有限公司 一种嵌入式软件单元测试用例生成方法及系统
CN111258915A (zh) * 2020-02-27 2020-06-09 成都乐创自动化技术股份有限公司 一种针对plc程序进行自动化单元测试的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8001530B2 (en) * 2006-12-28 2011-08-16 Sap Ag Method and framework for object code testing

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505342B1 (en) * 2000-05-31 2003-01-07 Siemens Corporate Research, Inc. System and method for functional testing of distributed, component-based software
JP2002268918A (ja) * 2001-03-07 2002-09-20 Mitsubishi Electric Corp 試験システム及び試験方法及び試験プログラム及び試験プログラムを記録した計算機で読み取り可能な記録媒体
CN103336688A (zh) * 2013-06-20 2013-10-02 中标软件有限公司 面向云计算软件研发过程中的软件集成方法及系统
CN104407973A (zh) * 2014-11-25 2015-03-11 珠海格力电器股份有限公司 一种自动化单元测试的实现方法及装置
CN105786691A (zh) * 2014-12-25 2016-07-20 重庆重邮信科通信技术有限公司 一种移动终端自动化集成测试装置、方法和系统
CN106161037A (zh) * 2016-08-19 2016-11-23 北京小米移动软件有限公司 数字签名方法及装置
CN107807883A (zh) * 2017-10-27 2018-03-16 郑州云海信息技术有限公司 一种用户态网络文件系统的单元测试方法及装置
CN109086215A (zh) * 2018-10-18 2018-12-25 北京轩宇信息技术有限公司 一种嵌入式软件单元测试用例生成方法及系统
CN111258915A (zh) * 2020-02-27 2020-06-09 成都乐创自动化技术股份有限公司 一种针对plc程序进行自动化单元测试的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
基于CUnit自动化测试框架的设计与实现;陈炳煌;邵明;林秋果;;计算机系统应用;20130215(02);全文 *
基于IEC61508的嵌入式软件可靠性设计与验证;袁宜峰;凌志浩;;南京工业大学学报(自然科学版)(06);正文第3-4页 *
基于Qt Test的自动化单元测试;朱健;;价值工程(14);正文第3页 *
基于单元测试的车载时钟同步协议开发方法;罗峰;徐金鹏;;汽车技术;20190201(05);全文 *

Also Published As

Publication number Publication date
CN112506793A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
CN112506793B (zh) 嵌入式软件单元测试方法、系统、可读介质及电子设备
CN111026403A (zh) 一种打包部署方法、装置、计算机设备及存储介质
CN101667134B (zh) 一种构建编译系统的方法及编译系统构建装置
CN107832059B (zh) 一种基于Makefile的代码静态分析方法和装置
CN111694564B (zh) Flutter混合模式的编译方法、装置、设备和介质
CN111459539B (zh) 基于镜像分层的持续集成流水线运行方法及装置
CN111338925A (zh) 小程序测试方法及装置、系统、电子设备和存储介质
WO2020211360A1 (zh) Mock测试方法、系统、电子设备及计算机非易失性可读存储介质
CN112463634A (zh) 微服务架构下的软件测试方法及装置
CN111045675A (zh) 一种基于Flutter的页面生成方法、装置、设备和存储介质
CN113296772A (zh) 页面配置方法、装置、计算机设备及可读存储介质
CN111913889A (zh) 一种测试系统搭建方法及测试系统
CN112114789B (zh) 一种业务开发方法及设备
CN112631590A (zh) 组件库生成方法、装置、电子设备和计算机可读介质
CN114168463A (zh) 切换项目环境的方法、装置、存储介质及电子设备
CN113127000B (zh) 应用程序组件的编译方法、装置、设备及存储介质
CN112965896A (zh) 基于动态字节码的测试环境故障检测方法及装置
CN111435328B (zh) 应用测试方法、装置、电子设备及可读存储介质
CN114968225A (zh) 微服务统一构建方法、环境生成方法及相关设备
US10701146B2 (en) Method, apparatus, and system for deep mirroring
CN115952089A (zh) 一种软件自动化单元测试方法、装置、服务器及存储介质
CN111858302B (zh) 小程序的测试方法、装置、电子设备及存储介质
CN112631931B (zh) 一种版本测试方法、装置、存储介质和电子设备
CN117348848A (zh) 算子开发、处理方法、装置、电子设备、系统及存储介质
CN109634653B (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
GR01 Patent grant
GR01 Patent grant