ASPICE实操中的那点事儿-底层软件的单元测试该如何做

先来说下ASPICE项目实操中遇到的问题:

底层软件在做单元测试时,从ASPICE角度看,该如何做?要不要在目标控制器或开发板中去测?尤其是复杂驱动,如果不在将程序下载到硬件中,该如何测试?如果带着硬件一起做,那和集成测试又有什么区别?后续的集成测试和功能测试还有必要做吗?

我们的思路:

1)在ASPICE过程域“SWE.4 Software Unit Testing”中,单元测试(Unit Testing)是对软件单元进行隔离测试的过程,目的是验证软件单元的功能和性能是否符合设计要求,以及检查代码中的错误和缺陷。其中并没有规定单元测试的测试环境。

2)当ASPICE中定义的软件单元包含与芯片相关的代码时,单元测试通常会覆盖这部分代码。这意味着在进行单元测试时,已经对与芯片相关的代码进行了部分集成测试。然而,需要注意的是,单元测试主要关注软件单元的内部逻辑和功能,而不是与其他软件单元或硬件组件的集成。

3)单元测试的验证内容主要包括:单元功能逻辑、接口、性能、覆盖率等。

4)软件集成测试主要测试的是组件之间或子系统之间的接口(信号传递)是否正确,集成后的子系统或整个系统的表现是否符合策略定义。

5)通过实施单元测试活动,可以尽早发现软件开发过程中的错误和缺陷,促进代码质量的提升,降低后期阶段发现和修复问题的成本,从而提高软件产品的质量和可靠性。实践过程中,开发前期,硬件往往滞后于软件开发,且硬件有专门的开发质量标准。

综上,结论:①单元测试不需要过多关注硬件,应更多精力放在软件本身上。与硬件相关的交互可以在软件集成测试中开展。这样整个的效率和价值,以及开发过程的顺畅性会更高。②单元测试的测试环境为纯软的放着环境,对于复杂驱动这类与硬件相关的驱动单元,进行单元测试时需要模拟硬件环境。这可以通过使用模拟器(仿真器,指模拟的软件仿真环境)或桩函数(Stub Functions)来实现。模拟器可以模拟硬件的行为,而桩函数则用于替代那些与硬件交互的函数,以便在测试环境中模拟其行为。

你们在实际项目中是如何实施的呢?欢迎在评论区留言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/716073.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

物联网与智慧城市:融合创新,塑造未来城市生活新图景

一、引言 在科技飞速发展的今天,物联网与智慧城市的融合创新已成为推动城市发展的重要力量。物联网技术通过连接万物,实现信息的智能感知、传输和处理,为智慧城市的构建提供了无限可能。智慧城市则运用物联网等先进技术,实现城市…

使用R语言进行Logistic回归分析(2)

一、数据集描述,问题要求 下表是40位肺癌病人的生存资料,X1表示生活行为能力平分(1到100),X2为病人的年龄(年),X3由诊断到进入研究的时间(月),X4…

291.【华为OD机试】模拟目录管理(JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-模拟目录管理二.解题思路三.题解代码Python题解…

计算机设计大赛 深度学习火车票识别系统

文章目录 0 前言1 课题意义课题难点: 2 实现方法2.1 图像预处理2.2 字符分割2.3 字符识别部分实现代码 3 实现效果4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 图像识别 火车票识别系统 该项目较为新颖,适…

Pycharm的下载安装与汉化

一.下载安装包 1.接下来按照步骤来就行 2.然后就能在桌面上找到打开了 3.先建立一个文件夹 二.Pycharm的汉化

ABAP - SALV教程07 斑马纹显示和SALV标题

SALV设置斑马纹和标题 METHOD set_layout.DATA: lo_display TYPE REF TO cl_salv_display_settings. * 取得显示对象lo_display co_alv->get_display_settings( ).* 设置ZEBRA显示lo_display->set_striped_pattern( X ). * 设置Titlelo_display->set_list_he…

企业微信变更主体怎么改?

企业微信变更主体有什么作用?做过企业运营的小伙伴都知道,很多时候经常会遇到现有的企业需要注销,切换成新的企业进行经营的情况,但是原来企业申请的企业微信上面却积累了很多客户,肯定不能直接丢弃,所以这…

【二】【SQL】去重表数据及分组聚合查询

去重表数据 表的准备工作 去除表中重复的数据,重复的数据只留一份。 mysql> create table duplicate_table (-> id int,-> name varchar(20)-> ); Query OK, 0 rows affected (0.03 sec)mysql> insert into duplicate_table values-> (100,aaa)…

Day24-yum与rpm软件包管理2

Day24-yum与rpm软件包管理2 1. 配置缓存rpm包2. 为什么要缓存?3. 组包相关指令4. yum帮助与补全功能4.1 补全4.2 什么是yum源4.3 常见互联网 yum 源 5. 搭建局域网YUM仓库实践 1. 配置缓存rpm包 修改yum.conf配置 [rootoldboy ~]# sed -i.bak s#keepcache0#keepca…

SLAM基础知识:前端和后端

在基于滤波的SLAM算法中,使用迭代卡尔曼滤波(Iterative Kalman Filtering)来求解当前帧状态量的步骤通常属于SLAM系统的前端部分。 前端负责处理传感器数据,进行状态估计和地图构建的初步步骤。迭代卡尔曼滤波作为一种滤波器&…

批次大小对ES写入性能影响初探

问题背景 ES使用bulk写入时每批次的大小对性能有什么影响?设置每批次多大为好? 一般来说,在Elasticsearch中,使用bulk API进行批量写入时,每批次的大小对性能有着显著的影响。具体来说,当批量请求的大小增…

PVLAN组网实验

一,PVLAN类型 主VLAN 主VLAN可以由多个辅助私用VLAN组成,而这些辅VLAN与主VLAN属于同一子网。 辅助VLAN ① 团体VLAN:如果某个端口属于团体VLAN,那么它就不仅能够与相同团体VLAN中的其他端口进行通信,而且还能够与…

使用rsync同步服务器和客户端的文件夹

使用rsync同步服务器和客户端的文件夹 实现目的实验准备实验操作步骤服务器操作关闭防火墙和SELINUX安装rsync修改服务器配置文件/etc/rsync.conf创建服务器备份文件的目录创建rsync系统运行的用户修改备份文件的所有者和所属组创建rsync.passwd启动rsync服务并进行验证 客户端…

中间件安全(概述)有中间件的各类链接和官网信息和漏洞库以及配置问题和开源工具

分类主要包括Apache、IIS、Tomcat、weblogic、websphere、Jboss等相关的技术知识和实践。 以Apache为例讲一讲如何保证中间件安全 中间件安全是指保护中间件软件和服务的安全性,防止被恶意攻击或者滥用。中间件软件是指在操作系统和应用程序之间提供通信和集成功能…

【Go】命令行相关

查看go的环境 go env # 查看go的环境变量 goRoot # 编译器的环境 goPath设置go module 打开cmd命令行,执行以下命令 go env -w GO111MODULEoff # on-打开 off-关闭 auto-自动相关命令 go build # 项目路径下执行,能编译当前go项目(一个…

RFID(Radio Frequency Identification)技术笔记

一、RFID的介绍 RFID,全称为Radio Frequency Identification,即射频识别技术,也常被称为电子标签或无线射频识别。它是一种非接触式的自动识别技术,通过射频信号自动识别目标对象并获取相关数据,识别过程无需人工干预&…

[云原生] k8s之pod容器

一、pod的相关知识 1.1 Pod基础概念 Pod是kubernetes中最小的资源管理组件,Pod也是最小化运行容器化应用的资源对象。一个Pod代表着集群中运行的一个进程。kubernetes中其他大多数组件都是围绕着Pod来进行支撑和扩展Pod功能的,例如,用于管理…

如何确保JDK版本与操作系统架构匹配?

1. 序言 最近的工作中,需要升级JDK版本到17.0.7,以解决一个JDK bug:JDK-8299626该bug的core dump关键字如下:SIGSEGV in PhaseIdealLoop::build_loop_late_post_work公司JDK团队提供的、包含JDK的基础镜像,有aarch64和…

Hololens2开发环境配置及项目生成部署

Hololens2开发环境配置及项目生成部署 Hololens2开发环境配置及项目生成部署一、官方文档及推荐配置说明1.官方文档介绍2.推荐配置及配置说明 二、安装步骤0.现有Visual Stuido和Unity卸载1.Windows SDK安装2.Visual Studio安装3.Unity安装4.MRTK配置 三、初次环境配置1.新建Un…

vmware的诡异网络

坦白说,vmware的网络我始终是没有搞太懂。 我习惯使用的是“仅主机”和“NAT”。 “仅主机”我习惯配置静态IP,互相访问没问题。 “NAT”则主要用于windows系统,简单方便。windows虚拟机一般也没啥特别的互相访问需求,直接文件复制…