嵌入式软件自动化测试介绍

article/2025/10/26 9:59:03
  • 什么是嵌入式测试

嵌入式软件测试的概念似乎没那么大众,很多人从字面上理解,可能会以为这是个硬件测试,那么嵌入式测试实际上是什么呢?

根据IEEE(国际电机工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置的简称”。而嵌入式测试就是为保证嵌入式系统质量所做的测试。

嵌入式系统在人类生活中发挥着重要的作用,包括飞行控制器这样的控制系统,以及洗衣机这样的家用电器。日前,嵌入式系统中软件的比重越来越大,也越来越复杂,保证嵌入式软件的可靠性正面临严峻的挑战。

大多数的软件测试方法都可以直接或间接地用于嵌入式软件的测试,但是由于操作系统的实时和嵌入式特性,嵌入式软件测试也面临一些特殊的问题。嵌入式软件具有实时性、内存空间有限、I/O通道少,而且要求功耗低、高可靠性,和硬件关联性强等特点,因此嵌入式软件的测试与一般商用软件的测试有较大的区别,选好嵌入式测试工具也就尤为重要。

  • 嵌入式测试工具推荐

一般指与目标机的硬件环境集成,也可以和仿真环境集成,这时需要做相应的硬件兼容性测试。但到了系统测试、配置项测试或确认测试,一般就会在目标机环境下执行,这时和一般商用软件的测试有较大的差别。

由于嵌入式系统的实时性,其测试应充分考虑系统实时响应的问题,其响应时间一般要求在毫秒级别,其对应的负载测试少不了。而且,对于数据传输的测试也要认真对待。

而嵌入式软件测试工具,开源工具比较少,多数是商业工具。今天我们就介绍比较常用的或好用的嵌入式软件测试工具,主要有:

  1. UTP协同自动化测试平台
  2. Klocwork

UTP协同自动化测试平台

  UTP协同自动化测试平台是一款国产化黑盒测试工具,可以做配置项测试和系统测试,包括测试资源管理、测试需管理、环境描述、接口协议定义、用例设计、实时数据监控、测试任务管理,测试报表留存等功能。

 UTP协同自动化测试平台的嵌入式测试主要通过协同调度各种测试机器人为各个输入接口创造各种输入,经被测系统处理后,检查各个输出接口的输出是否满足预期,来实现对嵌入式系统内部功能的全面测试。并且整个测试过程的时序逻辑可以在UTP系统的平台页面上进行创建, 方便实现符合业务测试要求的各种逻辑和时序。

UTP系统的嵌入式测试支持对嵌入式系统有多种接口(如RS232串口,CAN接口,Ethnet接口,Wifi接口,SPI接口,I2C等),也可能带有实体按键和显示屏的被测系统的测试。

 

如上图所示, 用户在UTP协同测试平台编写测试用例/脚本, UTP平台根据脚本的逻辑命令协同调度各个测试机器人执行,测试机器人通过各种接口同被测系统进行输入和输出交互。

官网地址:

苏州宏控软件系统有限公司|专业自动化测试软件|自动化测试解决方案 - utpGui, utpEmb, utpThings, utpBus宏控软件系统有限公司提供专业的协同自动化测试产品和服务, 包括软件功能测试,软件界面测试,接口测试,性能测试,通信测试,为各个行业,包括(航空航天、医疗器械、物联网、智能驾驶等)提供专业的自动化测试解决方案。https://www.macrosoftsys.com

Klocwork

Klocwork是一款支持百万行甚至千万行以上的C/C++/Java/JS/C#代码质量静态检测工具。

利用领先的深度数据流分析技术,静态地跨类、跨文件地查找软件运行时缺陷、错误和安全漏洞,并准确定位错误发生的代码堆栈路径。

  • Klocwork支持自动化扫描1000多种代码缺陷,包括空指针、资源及内存泄漏、未捕获的异常、除零等,全面检测代码质量问题
  • Klocwork提供全面的安全规则扫描能力,支持CWE, OWASP, CERT, PCI DSS, DISA STIG, 和ISO/IEC TS 17961等标准,深度数据流分析能力强、准确率高、漏报率低
  • 支持常用的IDE,如Eclipse, Visual Studio, IntelilJ Idea等,并与CI/CD工具和集成、B/S+C/S部署方式
  • Klocwork支持静态检测软件应用的安全漏洞,包括SQL注入、被污染的数据、缓存溢出、弱代码实现及其它多种常见应用安全漏洞

官网地址:

https://www.perforce.com/products/klocwork


http://chatgpt.dhexx.cn/article/GZ1JXpY5.shtml

相关文章

嵌入式软件测试的基本方法

嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能、可靠性、成本、体积及功耗严格要求的专用计算机系统。嵌入式系统的软硬件功能界限模糊,测试比PC系统软件测试要困难得多,嵌入式软件…

嵌入式测试大赛预选赛

刚刚参加了预选赛,对于这种热身赛,是不需要一点编程能力的,只不过需要一些细心 题目下载: 链接:https://pan.baidu.com/s/1Xm2d8UYhrK75fukcXQhEcg 密码:hxzy 这次预选赛是在练习题4的基础上改的&#x…

嵌入式软件测试

如何在目标板上实时测试应用程序为什么嵌入式系统测试困难? 在目标板上测试面临的系列问题: 1、如何下载测试到板子上,然后如何收集测试结果 2、如何累积可重复自动执行的测试 3、如何尽可能减少人工工作 4、如何减少内存不够的问题 这…

全国软件测试大赛嵌入式测试步骤及所需工具

文章目录 前言一、所需工具二、测试步骤1.从慕测平台上下载题目2.搭建测试环境3.测试脚本编写怎么编写 总结 前言 全国软件测试大赛嵌入式测试最全步骤及所需的工具 一、所需工具 若需要测试工具请私信我 二、测试步骤 以2019年的省赛题目为例 1.从慕测平台上下载题目 下…

嵌入式软件测试(黑盒测试)-----三年嵌入式软件测试的理解

前言 文章内容为本人这三年来在嵌入式软件测试(黑盒)上的一些积累吧,说起来也挺快的,毕业三年的时间就这样过去了,在两家公司工作过(现在这家是第二家),这几年的测试项目基本都是围绕…

简单聊聊嵌入式软件测试

一、什么是嵌入式?什么是嵌入式软件测试? 此文不从行业术语来讲,就用大白话来描述,容易明白,不当之处,还请见谅和指正。 嵌入式?简单的可以理解为上位机或者单片机,或者运行微型可定…

嵌入式测试

一、嵌入式软件测试的方法 嵌入式软件测试分为4个阶段,即模块测试、集成测试、系统测试、硬件/软件集成测试。前3个阶段适用于任何软件的测试,硬件/软件集成测试阶段是嵌入式软件所特有的,目的是验证嵌入式软件与其所控制的硬件设备能否正确地…

机器学习必备知识点 之 先验概率和后验概率

机器学习必备知识点 见 机器学习必备知识点 我们可以把概率获得分为两种: 一种是从原因到结果——先验概率一种是从结果到原因——后验概率 举个例子: 这里的P(C1),P(C2),P(x|C1),P(x|C1)都是先验概率,因…

Gretna网络分析之先验知识

目录 1. 简介 1.1 小世界网络 1.2 平均路径长度 2.功能键介绍 2.1 Global Network metrics 2.2 Nodal and modular network metrics 3.彩蛋 (转载请注明来自Ressan博客) 1. 简介 网络:由节点和连线构成的图/模型,用来研究…

如何将先验知识注入推荐模型

看到知乎上的一个问题“如何向深度学习模型中加入先验知识?”,觉得这是一个很好的问题,恰好自己在这方面有一些心得,今天拿出来和大家聊一聊。 说这个问题有趣,是因为提问者一定是对DNN的“智能”程度不满意了&#xf…

如何给模型加入先验知识?

来源:PaperWeekly 作者:Billy Z 模型加入先验知识的必要性 端到端的深度神经网络是个黑盒子,虽然能够自动学习到一些可区分度好的特征,但是往往会拟合到一些非重要特征,导致模型会局部坍塌到一些不好的特征上面。常常一…

几何深度学习 - 利用几何先验知识的深度学习

深度学习很难。 虽然通用逼近定理表明足够复杂的神经网络原则上可以逼近“任何东西”,但不能保证我们可以找到好的模型。 尽管如此,通过明智地选择模型架构,深度学习取得了巨大进步。 这些模型架构对归纳偏差进行编码,为模型提供…

如何向深度学习模型中加入先验知识?

链接:https://www.zhihu.com/question/279012198 编辑:深度学习与计算机视觉 声明:仅做学术分享,侵删 作者:采石工https://www.zhihu.com/question/279012198/answer/1298985606 1) CNN 中使用的卷积层就是利用了图像像…

浅谈模型中加入先验知识

必要性 端到端的神经网络是个黑盒,虽然能够学习到一些可区分度好的特征,但是也会拟合到一些非重要特征,导致模型局部地区会有一些不好的特征表现,所以可以加入一些先验知识来优化这些区域表现。 首先给出可以有效的加入先验信息的…

综述:如何给模型加入先验知识

转载自:https://zhuanlan.zhihu.com/p/188572028 这里写目录标题 为什么要给模型加入先验知识?1 基于pretrain模型给模型加入先验2 基于输入给模型加入先验3 基于模型重现给模型加入先验4 基于CAM图激活限制给模型加入先验 为什么要给模型加入先验知识&a…

1 先验知识

目录 1. 脑的解剖学结构 (1)额叶Frontal lobe (2)顶叶Parietal lobe (3)颞叶Temporal lobe (4)枕叶Occipital lobe 2. 脑区命名 3. 脑组织定位 (转载请注明来自Re…

给模型加入先验知识

‍ 点‍击上方“机器学习与生成对抗网络”,关注星标 获取有趣、好玩的前沿干货!‍ ‍ 来源|知乎 作者|Billy Z 链接|https://zhuanlan.zhihu.com/p/188572028 报道|人工智能前沿讲习 01 模型加入先验知识的…

神经网络基础--指数加权移动平均ewma

因为神经网络中的常用优化算法都会涉及到指数加权移动平均(exponential weighted moving average, ewma;也可称为exponential moving average,ema),所以这里单独写下这个知识点。 ewma通过将历史的值和当前…

EWMA 指数加权移动平均 模型

Exponentially Weighted Moving Average(EWMA)指数加权移动平均是一种常用的序列数据处理方式,如下: 在时间 t, 根据实际的观测值(或量测值)我们可以求取 EWMA(t)如下: EWMA(t ) λY(t) ( 1-λ…