蒲公英 - 制药技术的传播者 GMP理论的实践者

搜索
查看: 341|回复: 12
收起左侧

嵌入式软件的单元测试和集成测试

[复制链接]
药徒
发表于 2026-1-23 21:11:29 | 显示全部楼层 |阅读模式

欢迎您注册蒲公英

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
嵌入式软件一般是配合硬件进行使用,想要跟大家了解一下嵌入式软件单元测试和集成测试如何做?目前我们公司是将嵌入式软件包与硬件一起测试作为单元测试,我觉得这是不对的,但是他们都说嵌入式软件不知道怎么做单元测试和集成测试,有没有会的大师给说一下比较可行的方案?
回复

使用道具 举报

药师
发表于 2026-1-24 08:20:50 | 显示全部楼层
——“觉得这是不对的”

你的理由是什么呢?

你认为较为合理的方法是什么呢?

点评

根据YYT0664中软件单元的定义是软件不可拆分项,因此软件的单元测试是针对的软件源代码文档进行的,而软件的集成测试是针对由多个软件源代码文档组成的软件模块进行的,系统测试是多个软件模块组成的整个软件包。不  详情 回复 发表于 2026-1-24 16:44
回复

使用道具 举报

药徒
发表于 2026-1-24 08:34:04 | 显示全部楼层
这事也困扰我们多年。
回复

使用道具 举报

药徒
发表于 2026-1-24 14:54:53 | 显示全部楼层
单元测试一般是代码测试
回复

使用道具 举报

药徒
 楼主| 发表于 2026-1-24 16:44:08 | 显示全部楼层
luknqqnuq1 发表于 2026-1-24 08:20
——“觉得这是不对的”

你的理由是什么呢?

根据YYT0664中软件单元的定义是软件不可拆分项,因此软件的单元测试是针对的软件源代码文档进行的,而软件的集成测试是针对由多个软件源代码文档组成的软件模块进行的,系统测试是多个软件模块组成的整个软件包。不过由于嵌入式软件一般都结合硬件,所以系统测试一般是将整个软件包跟硬件结合进行测试。多个包含软件的硬件组合进行测试是设备级的集成测试。将所有软件和硬件一起进行整机测试是设备级的系统测试。有没有大师给解释一下我理解的对不对?

点评

一般 单元是针对的具体需求项目,集成是针对的架构,系统测试是针对需求规范,结合硬件测试类似设计确认(用户需求) 但是具体落地,还是要针对嵌入式软硬件具体情况设计,比方很多器械的嵌入式软件其实代码量很  详情 回复 发表于 2026-1-26 08:51
回复

使用道具 举报

药徒
发表于 2026-1-26 08:37:27 | 显示全部楼层
导则说的很清楚。
从测试进程角度可分为单元测试、集成测试、系统测试。其中,单元测试是对软件单元进行测试,通常采用白盒测试;集成测试是对软件项(由若干软件单元组成,即软件模块)进行测试,白盒测试、黑盒测试、灰盒测试相结合;系统测试是对软件系统(由若干软件项组成)进行测试,通常采用黑盒测试

另外,针对黑白灰,导则定义如下
从测试依据角度可分为黑盒测试和白盒测试。其中,黑盒测试是指基于输入与输出的测试,白盒测试是指基于源代码的测试,黑盒测试与白盒测试可组合使用,即灰盒测试。白盒测试根据是否运行源代码又可分为静态、动态分析/测试。
回复

使用道具 举报

药徒
发表于 2026-1-26 08:37:39 | 显示全部楼层
water2024 发表于 2026-1-24 14:54
单元测试一般是代码测试

一般如何测试?是否有方法或指南?
回复

使用道具 举报

药师
发表于 2026-1-26 08:51:12 | 显示全部楼层
schome 发表于 2026-1-24 16:44
根据YYT0664中软件单元的定义是软件不可拆分项,因此软件的单元测试是针对的软件源代码文档进行的,而软 ...

一般 单元是针对的具体需求项目,集成是针对的架构,系统测试是针对需求规范,结合硬件测试类似设计确认(用户需求)

但是具体落地,还是要针对嵌入式软硬件具体情况设计,比方很多器械的嵌入式软件其实代码量很少,也没什么模块,那可能单元、集成、系统测试就没什么好的方法、或者模拟环境,还不如直接上硬件评估最终功能。
回复

使用道具 举报

药徒
发表于 2026-1-26 10:54:58 | 显示全部楼层
郭洪伟 发表于 2026-1-26 08:37
一般如何测试?是否有方法或指南?

这个得问软件的同事,我问下他哈
回复

使用道具 举报

药徒
发表于 2026-1-26 13:59:47 | 显示全部楼层
单元测试是针对代码块,比如C语言开发的函数。
那么抛开运行环境,首先可以在其他可移植环境上进行单元测试。
其次还可以在模拟器上运行单元测试。
最后,直接在MCU/SOC上进行单元测试,就需要实际环境上有LOG输出。
具体的单元测试方案,取决于具体的MCU/SOC型号。嵌入式Linux肯定没问题,直接上主流单元测试框架就可以。如果是OTP芯片,那就最多是模拟器(仿真)进行单元测试。

至于集成测试,那肯定要软硬件一起测试。
回复

使用道具 举报

发表于 2026-1-26 14:06:45 | 显示全部楼层
本帖最后由 mayahs 于 2026-1-26 14:53 编辑

我就是把嵌入式软件和硬件一起,写单元和集成测试报告的,按照标准,分为独立软件和嵌入式软件组件,有些条款嵌入式软件组件是不适用的,独立软件可以纯软件的单元测试,但是并不适用于嵌入式软件组件
另一方面,独立软件需要运行在pc服务器上,pc服务器是运行环境,而嵌入式硬件,是嵌入式软件的运行环境,本身软硬件结合一起工作,所以写嵌入式软件组件的单元测试文档时,可以把硬件部分写作软件的运行环境
回复

使用道具 举报

发表于 2026-1-26 14:35:54 | 显示全部楼层
larrym57 发表于 2026-1-26 13:59
单元测试是针对代码块,比如C语言开发的函数。
那么抛开运行环境,首先可以在其他可移植环境上进行单元测 ...

是这样,要看具体哪种嵌入式,嵌入式linux或者win的软件,可以视为独立软件,用独立软件的标准测试和写文档
stm32等mcu,特别是无系统的,就是嵌入式软件组件,软硬件一起做测试
回复

使用道具 举报

药徒
发表于 1 小时前 | 显示全部楼层
期待更多高手给出举例说明
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

×发帖声明
1、本站为技术交流论坛,发帖的内容具有互动属性。您在本站发布的内容:
①在无人回复的情况下,可以通过自助删帖功能随时删除(自助删帖功能关闭期间,可以联系管理员微信:8542508 处理。)
②在有人回复和讨论的情况下,主题帖和回复内容已构成一个不可分割的整体,您将不能直接删除该帖。
2、禁止发布任何涉政、涉黄赌毒及其他违反国家相关法律、法规、及本站版规的内容,详情请参阅《蒲公英论坛总版规》。
3、您在本站发表、转载的任何作品仅代表您个人观点,不代表本站观点。不要盗用有版权要求的作品,转贴请注明来源,否则文责自负。
4、请认真阅读上述条款,您发帖即代表接受上述条款。

QQ|手机版|蒲公英|ouryao|蒲公英 ( 京ICP备14042168号-1 )  增值电信业务经营许可证编号:京B2-20243455  互联网药品信息服务资格证书编号:(京)-非经营性-2024-0033

GMT+8, 2026-2-4 14:21

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

声明:蒲公英网站所涉及的原创文章、文字内容、视频图片及首发资料,版权归作者及蒲公英网站所有,转载要在显著位置标明来源“蒲公英”;禁止任何形式的商业用途。违反上述声明的,本站及作者将追究法律责任。
快速回复 返回顶部 返回列表