tag 标签: 术语

相关帖子
相关博文
  • 热度 6
    2023-7-12 10:57
    961 次阅读|
    0 个评论
    上篇我们介绍了被测对象、动态测试和测试用例的概念,还提出了如何省时省力评估自动生成的测试用例的话题。事实上TPT能够实现测试用例和评估解耦,为每条用例/多条用例创建符合其场景的测试评估:可以通过GUI界面来进行信号对比、事件查询、信号边界检查、信号序列的正确性判断以及信号调理;也可以通过脚本语言实现复杂场景的评估。 本文会介绍测试级别和测试环境,并带大家进一步了解模型动态测试工具——TPT。 什么是测试级别? ASPICE定义了以下五个测试级别: 1. 软件单元测试(SWE.4) 2. 软件集成与集成测试(SWE.5) 3. 软件合格性测试(SWE.6) 4. 系统集成与集成测试(SYS.4) 5. 系统合格性测试(SYS.5) 软件单元测试也被称为模块测试或功能测试。在单元测试中,测试对象是最小的软件组件,即单元。单元经常变化,因此单元测试必须经常调整、补充并再次执行。单元测试有两个主要目标: 1. 早期质量保证 2. 快速检测模型/代码更改中的交叉影响 因为软件或软件组件是永久地调整和更改的,并且后续的回归测试也总是充满了重复性,因此最简单的方法是在持续集成环境中自动化执行单元测试。 TPT可以通过与Jenkins的集成实现自动化测试,提高测试效率。主要可实现的功能包括:基于TPT的Jenkins节点环境导入测试接口;自动生成TPT测试框架;自动执行TPT工程测试用例;自动生成测试报告。用Jenkins自动执行测试工程代替测试工程师手动执行,既能缩短测试周期,又能避免重复性劳动。 图1. Jenkins端TPT测试结果 单元测试之后是软件集成测试。 软件 集成是单个软件组件的组装 , 这里的重点是 测试 软件组件之间的兼容性。集成测试通常分几个阶段进行 , 根据整个软件的 结构 ,在几个中间阶段到几百个中间阶段之间提供集成测试。中间阶段的数量和选择最终取决于软件体系结构和软件设计 。 元素和级别越多,集成测试的中间阶段就越多。 通常,集成测试是自下向上开发的,首先集成和测试几个单元(大约3-5个)。然后,所得到的单元组合与其他已经测试过的单元组合或其他单元集成在下一个中间阶段,并再次测试。这个迭代链一直持续到ECU的整个软件被构建和测试完毕。 图2. 集成测试迭代图 大量的集成测试一开始听起来工作量很大,但它有一个明显的优势,就是可以更快更好地发现错误。而在TPT中,单元的测试用例能够一定程度上复用到集成测试,为用户减少集成测试阶段的工作量。在 单元测试用例复用到集成测试?Testlet Library来助力!-面包板社区 (eet-china.com) 一文中介绍了详细操作方法。 集成测试的 另一大优势在于,集成测试阶段 发现的错误可以更容易地 定位 到其原因,从 而大大简化了 问题 分析。经验表明,大多数软件错误都是在集成测试中发现的。 集成测试完成后,软件 合格性 测试紧随其后 。 软件 合格性 测试通常在目标硬件上执行。软件 合格性 测试中的测试对象与集成测试中的最后一个测试对象相同:它是完全集成的软件。然而,它们各自的目的 不同: 1. 集成测试的目的 : 检查软件组件之间的兼容性。 2. 软件 合格性 测试目 的: 检查软件是否符合要求,例如与传感器和执行器的兼容性 。 软件合格性测试之后是进一步的集成测试。但是,这一次不是在软件级别,而是在系统组件级别。该过程与软件集成测试相同。ECU与一个或多个传感器或执行器一起测试,然后逐步添加其他组件,直到系统层面。 最后 是系统合格性测试 。在此过程中,将所有系统组件集成到一个系统中并进行测试。系统测试的重点是确定是否符合系统需求和系统的可交付性。 什么是测试环境? 测试环境是指执行测试所需要的环境,包括硬件、仪器、模拟器、软件工具和其他支持要素。测试环境应该尽可能接近真实的生产环境,以便 更准确地模拟实际环境中的操作和运行情况 , 从而确保软件在生产环境中的可靠性和稳定性。 在这种情况下,我们经常会讨论在环测试,例如: 模型在环( Model-in-the-loop , MiL ) 软件在环( Software-in-the-loop , SiL ) 处理器在环( Processor-in-the-loop , PiL ) 硬件在环( Hardware-in-the-loop , H iL ) “在环”指的是测试对象与模拟生产环境的组件之间的一种特殊类型的交互。在“在环测试”中,环境对测试对象的状态和计算做出反应。 TPT可以灵活适应于MiL/SiL/PiL/HiL/ViL整个在环测试阶段,并且支持各阶段的开发平台。 图3. TPT在环测试支持平台总览 现代新能源汽车软件的开发往往基于模型,而大多数模型是用MATLAB/Simulink/TargetLink或ASCET创建的。这些模型通常在开发环境中直接以单元和软件集成的形式作为模型在环(MiL)进行验证。 这种类型的动态测试可以发现控制策略和逻辑中的错误。嵌入式系统的仿真是在同样 仿真 的环境模型中执行的。这种非常早期的测试的 优点是可以快速检测到模型构建中已经存在的错误,并有可能对其进行修正。 TPT在MiL环境能够自动从Simulink、TargetLink及ASCET模型获取接口信息并生成测试框架,通过测试框架将测试用例定义的输入信号激励给到被测模型,再回采被测模型的输出结果并对其进行评估,整个过程由TPT自动完成,无需用户自定义。 图4. 基于MATLAB/Simulink的TPT MiL测试过程 在 软件在环测试( SiL ) 中,测试代码是在 PC 上测试的。这要么是手写的,要么是从模型生成的。这两种代码的作用域是不同的。 1. 测试 模型 生成的代码 : 检查代码生成器是否正常工作。生成的代码的功能应该尽可能接近模型。 2. 对于手 写 代码, SiL 可能 是第一个测试级别。与 MiL 一样,目标是在早期阶段发现错误。 对于第1种模型生成的代码, 为了验证生成的代码与原模型的等效性,应当进行背靠背测试。在 T PT 中,背靠背测试尤为便捷。以 Simulink 模型为例,用户只需要点击 FUSION DLL 就能调用 S imulink 生成代码,并且一键生成 SiL 测试平台,同时运行 M iL 和 SiL 平台,还能自动实现对两个平台测试数据的对比,完成等效性验证。 图5. TPT背靠背测试过程 在 SiL 中测试的代码 还 不能在嵌入式 ECU 上执行。为了执行,必须为目标处理器编译代码。在这个过程中生成的代码可以通过两种方式进行测试 : 1 . 通过 调试器与目标芯片环境 。 2 . 在 PC 上模拟处理器的虚拟环境。 在这两种情况下,都提到了处理器 在环 (PiL) , 实际上是指为目标处理器架构构建的软件测试。处理器在环测试的主要目标是检测编译器错误,或者在软件组件非常接近硬件的情况下,例如驱动程序或执行器的控制,在早期阶段检查硬件和软件组件的兼容性。 在 PiL测试实战(上) 模型生成代码的单元级PiL测试-面包板社区 (eet-china.com) 一文中介绍了TPT做PiL测试的解决方案。简单来说,TPT将测试用例数据发送到UDE,并读取UDE从目标板读到的输出信号数据进行评估。这个过程中可以直接复用MiL/SiL环境的测试用例,单元级软件测试可实现同一测试工程覆盖MiL/SiL/PiL所有阶段。 图6. TPT+UDE PiL测试方案 下一个逻辑步骤是硬件 测试 ,即 在带有外围设备的物理 ECU 上完成软件 测试 , 重点是输入和输出、通信总线和其他接口如何实时交互。这种 测试 的术语是硬件在环 ( Hardware-in-the-Loop , HiL ) 。 HiL 测试从 ECU 开始,可以实现到系统网络级别。 图7. TPT与VECTOR CANoe集成 TPT支持通过XiL-API接口与HiL设备进行集成,包括:VT System、dSPACE、NI Veristand、Concurrent iHawk、Speedgoat。可以发送测试用例到HiL设备执行,接受测试数据进行评估,支持实时测试、故障注入,也可以通过CANape/INCA对ECU进行标定和测量。 总结 在汽车软件测试中,有许多术语和方法。在我们看来,掌握这些背景知识、合理运用测试工具和测试方法,是成功实现嵌入式系统测试的关键。本文带大家从工具的层面出发,介绍了TPT在不同测试级别和测试环境中的作用。北汇信息之前也发布了许多测试方法、实践经验等文章,欢迎大家订阅,并留言与我们交流!
  • 热度 25
    2014-6-13 15:01
    1624 次阅读|
    4 个评论
       记得刚入行通信时看到时间同步和时钟同步,感觉一头雾水,“时间”和“时钟”不是一回事吗?后来看了英文资料,前者是timing syn.,后者是frequency sync.,才有了清晰的印象,两者是完全不同的两回事。当时就觉得奇怪,为啥不把frequency sync.翻译成“频率同步”或者“节奏同步”,这样我们初学者就不会被这个“时”那个“时”搞糊涂了。      下面这张图是每本通信教材都会有的,Information、Message、Signal怎么翻译的呢?信息、消息、信号。对专家来说,这样的翻译完全没问题。但对初学者呢?当看到Information、Message时,他肯定知道这是两个概念,但信息和消息?都是“息”,他难免会想,这不是一回事吗?还有信息和信号,都是“信”,会不会同一个东西的两个名字?        现代汉语习惯用词语来表达事物,古代汉语不是这样,它是用字来表达事物。现代汉语的双字词语在古时候,都不是表示一个意思,比如:    皮肤——皮是表皮,肤是皮下脂肪;    道理——道是天上的规律,天道,理指地上的规律,地理;    衣服——衣是外套,服是**;    肌肉——肌是发力的肉,肉是放松的肌 等等。      如果用古代汉语的习惯标注技术概念,是不是能将相近的概念清楚地区分呢?比如Information翻译成“信”,就是“您给我带个信的信”,Message翻译成“消”(很牵强,但主要目的是有区别)、Signal翻译成“号”或者“记”(符号的号,或者标记的记)。
  • 热度 25
    2012-3-29 10:27
    2839 次阅读|
    1 个评论
      一、关于放大电路中的漂移 定义: 在直流放大电路中,输入端及其微小的直流强度的变化都会在输出端放大很多倍,因此极小的漂移也会在输出的时候表现出来。这种情况的直流信号变化非常的缓慢,周期可以达到1min、1h、8h、一天甚至更长。 原因:造成漂移的主要原因是温度的变化,包括外部温度的变化和半导体内部的能量损耗所造成的温度变化。 解决措施: 例如长尾式差动放大电路。 三、怎样使用运算放大器的细节规划 1 、术语之直流增益( AVD ) 直流增益定义为输出电压的变化和输入电压的变化的比值。通常有两种表示方法,一种是放大倍数,单位是V/mV,例如放大倍数为30000,可表示为30V/mV;另一种表示方法是分贝(dB),其和放大倍数的换算关系为AVD=20lg(Vout/Vin)dB。注意:其中的Vout/Vin的单位是V/V,而不是V/mV。 2 、术语之单位增益带宽( BW ) 每个运算放大器都有一个频率响应的范围,即输入信号在这个频率的范围内具有放大作用,通常这个频率的范围是Fbw——无穷大。那么这个Fbw就是运放的单位增益带宽。要注意的是,单位增益带宽指的是一个频率,指的是增益下降到1时候的频率(根据公式放大倍数为1表示增益为0dB),而不是一个频率范围。   3 、术语之输入失调电压 在理想情况下,运算放大器的正相输入端电压V1,和反相输入端电压V2相等,即V1=V2时,输出电压Vout应该等于0。但由于生产工艺或制造上的细微偏差,Vout会有一个正或者负的值。如果缓慢改变V1的值,使Vout=0,那个这个V1和V2的差值就叫运放的输入失调电压。这个过程叫做调零。 4 、术语之共模抑制比 在理想情况下,运放只对差模电压有所响应,当输入端+和-短接并输入电压的时候(共模),输出端是没有反应的,但由于生产工艺或制造上的偏差,对共模电压有一定的响应,这时候,共模增益的定义是ACM=Δvout/Δvin。则共模抑制比CMRR=AVD/ACM,其中AVD表示直流增益。 差模信号电压放大倍数AVD越大,共模信号电压放大倍数ACM越小,则CMRR越大。此时差分放大电路抑制共模信号的能力越强,放大器的性能越好。当差动放大电路完全对称时,共模信号电压放大倍数Auc=0,则共模抑制比CCMR→∞,这是理想情况,实际上电路完全对称是不存在的,共模抑制比也不可能趋于无穷大。 5 、功率放大器放大倍数的选择 通常功率放大器的放大倍数可以由外部电路来设定,其放大倍数的选择原则是:按输入信号峰值之间的压差最大来计算,输出信号峰值之间的压差不超过电源电压。 要值得注意的是,这个压差指的是峰值与峰值之间的,而不是有效值。其计算公式为:  
相关资源