根据标准化开发流程---解析LIN总线脉冲唤醒的测试方法和用例设计思路

前言:本文从标准化开发流程的角度,以LIN总线脉冲唤醒为切入点。从测试工程师的角度来讲测试工作应当如何展开(结合我干测试总结出来的测试经验)。希望大家都能从中有收获!!谢谢!!

1:了解脉冲唤醒

“当总线处于休眠状态时,主/从机节点都可以向总线上发送唤醒信号(显性电压),唤醒信号持续 250μs~5ms。其余节
点(除发送唤醒信号以外的节点)以大于 150μs 为阈值判定唤醒信号。每个从机节点必须在唤醒信号显性脉冲的
结束处算起 100ms 以内准备接收来自主机的命令(帧头);主机节点也必须被唤醒, 100ms 之内主机节点发送帧
头开始通信。主机节点的同步间隔段也可以充当唤醒信号,由于从机节点需要作初始化处理,因此主机节点所发的这个帧有可能不会被正常接收
如果节点发送出唤醒信号后,在 150ms~250ms 之内没有接收到总线上的任何命令(帧头),则可以重新发送
一次唤醒信号。唤醒信号最多可以发送 3 次, 3 次之后,必须等待至少 1.5s 之后才可以再次发送唤醒信号。三个唤醒信号为一组,最大可以发送三组唤醒信号。唤醒信号一般由部分合适的从机节点发出!(合适的大致解释是,具有人机交互的从机,比如从机上有开关,有屏幕等,并且以开关或屏幕作为触发条件)”

连续发出9个唤醒信号后(即从最后第九个唤醒信号的上升沿处算起),一般等待(2*1.5或3*1.5)的时间后。才能再次发送唤醒信号。

根据标准的开发流程,如ASPICE首先我们需要分析需求,分析需求有以下几种

1:提取测试关键信息(也就是功能点)

2:审查需求中功能点错误,遗漏,或相互冲突的地方

3:评估功能点,结合现有软硬件条件,人员素质,是否可以进行测试(如果内部资源无法满足,功能点又必须测试。则可以考虑外包测试,或采购设备,培训或招聘测试人员)。

(此段描述是基于LIN规范总结出来的,没有错误,红色是我自己添加的,实际项目也基本这样做),故只需关注1和3点即可。

提取关键信息,上面的关键信息,我都用黑体加粗标注。总结为两个方面

**1)对脉冲唤醒信号参数的描述,如下图

图形说明则更加直观

看图并结合表格,非常清楚。

**2)不同节点需要对脉冲唤醒信号的处理方法

**3)不同节点被脉冲唤醒信号唤醒后的处理方法

 测试方案

根据标准开发流程(aspice)此时我们进入到测试方案的编写,测试方案主要是以下几点

1:从设备是否支持?支持的话,需要哪些设备,对设备的性能,精度,甚至是尺寸的要求是哪些

2:环境是否支持?支持的话,对环境有哪些需求,如无静电环境,无灰尘环境等。。

3:人员是否支持? 需要什么等级的人执行测试,测试的要求,效率和时间要求

4:对覆盖率的要求?对用例编写方法的要求?对用例编写方法的要求

5:对测试方法的说明,如:如何操作示波器,万用表,如何创建,打开和使用工程等

6:需说明,不同变更条件下,对测试范围的选择。

7:Bug的跟踪处理方法和机制

测试方案还需要跨部门评审,有时候附带着还要出具一份测试方法说明(指测试工具的使用,规范化的测试步骤等。。。)。

总之作为汽车电子行业的测试工程师,一定不能忽视测试方案的重要性,它是整个测试过程中的指导文件,必须重视。

测试计划

测试方案出具之后。需要编写测试计划,测试计划是基于客户的开发周期,结合本公司实际情况,制定的大致规划。说明了不同项目节点下,测试需要提交的报告。当然测试计划,不是必须遵守的

还要根据实际的开发情况,作出不同的修改!提前或延期交付。

测试用例的编写

这是非常重要的一环,是测试工作中的核心工作。我们需要结合测试方案,并结合一些常见的测试方法论。来编写。

编写用例的基本思想必须遵守

1:用例必须满足测试方案中规定的最低覆盖率

2:测试用例,必须有依据(如需求,系统规格书,架构框图,电子原理图,及客户或公司提供的其他资料)

3:测试用例,必须便于测试执行者理解(很多公司都要求,测试编写人和测试执行人必须不同),不能让执行者,再去翻阅其他资料,从而拉低测试效率。

5:步骤明确,描述清楚,不能产生歧义。尽量不要出现错别字哈

6:根据项目紧急程度,适当的分文档编写。(如项目开发周期短,架构复杂),这样做能提高测试的效率。

7:各个公司都具有,自己公司的一套测试模板,大家实际编写过程中,需要根据模板格式,来编写用例。

8:结合实际情况,必须考虑测试的可操作性

用例编写的方法论

我会根据脉冲唤醒信号,结合实例来阐述我总结的一些基本思想

1:分类(class级别)

1.1:基于产品层面的分类,汽车电子产业中,一个项目会延伸出几个不同的版本(如高配版本,低配版本)。根据评估如果产品差异不大,是可以写在一份测试用例里(必须做出必要的说明)。

如果产品差异很大,必须分开编写测试用例

1.2:基于ISO的各种规范标准下,进行分类

如脉冲唤醒信号的测试,必须要知道节点是主节点还是从节点,从节点又分为能发送脉冲信号的从节点只能接收脉冲信号的从节点

根据需求规格书中的定义,我们知道所测试的节点类型后,测试项目也就能定下来了。

2:测试用例编写的方法论:

2.1 合适选择功能点,从整体到细节,从简单到复杂

以发送唤醒信号的从节点为例说明。

根据上面描述。选取两个功能点分开

功能点1:发送唤醒信号的从节点,只要帧头没有被发送,就一直发送最多9个唤醒信号。且连续发出9个唤醒信号后(即从最后第九个唤醒信号的上升沿处算起)。

功能点2:一般等待(2*1.5或3*1.5)的时间后。才能再次发送唤醒信号。

考虑最简单的情况:

就是能发送唤醒信号的从节点,单独运行在总线上。模拟的主节点断开,或保持只读模式。测试从节点的波形和参数。

功能点1,测试

观察整体波形:

前期工作:搭建好测试环境,使用示波器量取总线波形

步骤1,总线单独运行该从节点,节点处于睡眠状态

步骤2,触发唤醒信号的发送。

判断依据,看总线是否发出如下图中的波形

步骤4:对波形详细的电压参数,时间参数进行测量(先暂停示波器,再使用示波器的光标进行测量)

用例应该对各种参数的范围,作出说明。上述测试用例,体现的就是先整体后细节方法论的体现

对此功能点2测试【即从最后第九个唤醒信号的上升沿处算起,一般等待(2*1.5或3*1.5)的时间后。才能再次发送唤醒信号】

重复上述触发过程,在最后一个唤醒信号发出后,一直执行触发唤醒信号,到唤醒信号再次被触发。量取1,2之间的时间

可以看到,功能点2比功能点1,在实现上复杂一点,我们先测容易测的,在到难测的,这就是由易到难的测试方法论。

2.1 测试边界值

只接收唤醒信号的节点,以大于 150μs 的显现脉冲为阈值。(上面为了不引起混乱,就没提)

此处提出,可以验真边界值测试的方法论。

前期工作:搭建好测试环境,使用示波器量取总线波形。设置好信号发生器模拟输入唤醒信号

步骤1,总线单独运行只接受唤醒信号,从节点,节点处于睡眠状态

步骤2,使用示波器唤醒信号的发送。设置唤醒信号的显性脉冲阈值为 148us 、149us、150us 151us,152us。

判断依据,观察模块是否被唤醒(可以根据模块电流来观察,被唤醒后电流提升4s左右)

2.3穷举法测试

穷举法测试(1:部分穷举 2:全部穷举)

以能发送唤醒信号的从节点为例。

知道,唤醒信号在触发帧头之后,便不再发送

1:部分穷举,利用自动化脚本,依次第1个/3个/5个/7个/9个  唤醒信号之后,发出帧头,观察唤醒信号是否停止发送。

2:全部穷举,就是全部1-9都测一遍。

本例中,因为状态少,可以全部穷举,要是遇到存在几百几千种状态的情况下,尽量采取部分穷举的方法测试

2.4 按逻辑测试

如总线上同时存在,主节点,发送唤醒信号的从节点,接收唤醒信号的从节点。就必须厘清之间的逻辑关系。

太晚了,明天再写吧!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

进程:守护进程

一、守护进程的概念 守护进程是脱离于终端控制,且运行在后端的进程。(孤儿进程)守护进程不会将信息显示在任何终端上影响前端的操作,也不会被终端产生的任何信息打断,例如(ctrlc).守护进程独立…

Endnote 参考文献 序号对齐

问题描述:想要Engnote插入的参考文献需要后自动对齐,不需要悬挂缩进,悬挂缩进会导致中文和英文文献也对不齐,还有就是参考文献序号从9变成10的时候也会导致文献无法对其。 解决办法: 打开Enfdnote,点击Too…

配置nvm管理nodejs版本的环境详细教程【window版】

nvm( node.js version management) 是 Windows 系统下的一个 Node.js 版本管理工具,它是 Node Version Manager(nvm)的 Windows 版本,它是基于GO语言开发的工具。该工具允许你在 Windows 系统上轻松地安装、切换和管理多个 Node.j…

网络编程套接字(1)—网络编程基础

目录 一、为什么需要网络编程? 二、什么是网络编程 三、网络编程中的基本概念 1、发送端和接收端 2、请求和响应 3、客户端和服务端 四、常见的客户端服务端模型 1、一问一答模型 2、一问多答模型 3、多问一答模型 4、多问多答模型 一、为什么需要网络编程? 为什么…

腾讯云学生服务器申请入口、续费优惠价格和常见问题解答

2024年腾讯云学生服务器优惠活动「云校园」,学生服务器优惠价格:轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年,轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年,CVM云服务器2核4G配置842.4元一年&…

好书安利:《大模型应用开发极简入门:基于GPT-4和ChatGPT》这本书太好了!150页就能让你上手大模型应用开发

文章目录 前言一、ChatGPT 出现,一切都变得不一样了二、蛇尾书特色三、蛇尾书思维导图四、作译者简介五、业内专家书评总结 前言 ​如果问个问题:有哪些产品曾经创造了伟大的奇迹?ChatGPT 应该会当之无愧入选。仅仅发布 5 天,Chat…

Web自动化测试—webdriver的环境配置

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

YOLOv9电动车头盔佩戴检测,详细讲解模型训练

向AI转型的程序员都关注了这个号👇👇👇 一、YOLOv9简介 YOLOv9是YOLO系列算法的最新版本。YOLO系列算法自2015年首次提出以来,已经在目标检测领域取得了显著的进展,以其快速和准确的特点而广受欢迎。 论文地址&#xf…

9款世界级垂直领域软件架构师Visio平替作图工具!

1 LucidChart 一个基于HTML5的在线流程图绘制和协作应用平台,用户可以通过它方便快速的实现流程图表的绘制,同时还可以实现与他人进行实时的流程图绘制和修改功能,对需要群组协作功能的团队来说,这点非常方便。 由于LucidChart是…

消息队列-Kafka-如何进行顺序消费

全局有序 只有 1 个分区,那这个时候就是能够保证消息的顺序消费。 分区有序 如果我们还是想同时消费多个分区并且保证有序,这个时候我们需要将需要保证顺序的消息路由到同一个分区。 在发送消息的时候我们可以看到: 上面的代码定义了消息…

别再找了,关于免费SSL证书都在这里

免费SSL证书的优点: 成本效益:免费SSL证书可以帮助网站所有者节省资金,特别是对于初创公司或个人网站来说,这是一个很大的优势。提高信任度:通过使用SSL证书,网站可以向访问者展示其对安全性的承诺&#x…

面试题之——事务失效的八大情况

事务失效的八大情况 一、非public修饰的方法 Transactional注解只能在在public修饰的方法下使用。 /*** 私有方法上的注解,不生效(因私有方法Spring扫描不到该方法,所以无法生成代理)*/ Transactional private boolean test() …

数据结构--堆

文章目录 一、堆的概念二、堆的创建三、堆的插入和删除四、堆的应用1.优先级队列2.堆排序3.TopK问题 一、堆的概念 对于一个关键码序列的集合来说,K{K0,K1,K2,K3…Kn-1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足…

Vue中如何处理组件间的耦合问题?

在Vue中处理组件间的耦合问题是前端开发中常见的挑战之一。耦合问题指的是组件之间的依赖关系过于紧密,一旦某个组件发生改动,则可能导致其它组件也需要作出相应调整。为了解决这个问题,我们可以采取以下几种方法: 使用事件总线&…

riscv 栈空间静态分析

分析riscv架构的裸机代码中最大栈空间 riscv的基本过程调用标准 1.函数前8个参数用a0~a7传输 2.超过8个的参数使用栈传递 3.函数返回参数到a0,a1寄存器中,返回值保存在ra寄存器中 4.如果子函数有使用s0-s11寄存器,那么在使用前需要将这些寄存器的内…

django中静态资源配置

一&#xff1a;静态资源路径配置 在settins.py中INSTALLED_APPS属性是否存在django.contrib.staticfiles&#xff0c;如果没有加上 静态资源根目录配置 二&#xff1a;静态资源调用 #引入JS <script type"text/javascript" src"/static/js/test.js"&g…

实操keepalived(高可用)+Nginx(四层代理+七层代理),实现高可用、负载均衡以及动静分离

一 vrrp技术 VRRP 相关术语 VRRP能够在不改变组网的情况下&#xff0c;将多台路由器虚拟成一个虚拟路由器&#xff0c;i通过配置虚拟路由器的IP地址为默认网关&#xff0c;实现网关的备份。 协议版本: VRRPv2 (常用) 和VRRPv3:0 VRRPv2仅适用于IPv4网络&#xff0c;VRRPv3适用…

力扣日记3.6-【回溯算法篇】51. N 皇后

力扣日记&#xff1a;【回溯算法篇】51. N 皇后 日期&#xff1a;2023.3.6 参考&#xff1a;代码随想录、力扣 51. N 皇后 题目描述 难度&#xff1a;困难 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将…

【大数据】通过 docker-compose 快速部署 MinIO 保姆级教程

文章目录 一、概述二、MinIO 与 Ceph 对比1&#xff09;架构设计对比2&#xff09;数据一致性对比3&#xff09;部署和管理对比4&#xff09;生态系统和兼容性对比 三、前期准备1&#xff09;部署 docker2&#xff09;部署 docker-compose 四、创建网络五、MinIO 编排部署1&…

插件WebApiClient.JIT的使用方法

我们在项目开发过程中&#xff0c;经常需要调用第三方接口&#xff0c;使用httpclient需要写一堆代码&#xff0c;使用插件WebApiClient.JIT可以简化很多代码量&#xff0c;接下来介绍一下WebApiClient.JIT的使用方式。 添加引用&#xff0c;打开NuGet&#xff0c;查询插件&am…