前言

车载以太网测试实践系列,我们还分享了PMA测试实践、IOP测试实践 。本期给大家介绍的是TC8中的TCP/IP协议一致性测试(以下简称TCP/IP测试)。

TCP/IP测试-设备环境组成

TTworkbench
TTworkbench是思博伦旗下一款功能强大的测试自动化平台,它能够提供完整特性的集成式测试开发和执行环境(IDE),可进行测试脚本开发、编译,测试参数配置,测试执行,测试监控,生成测试报告。

图1 TTworkbench平台示意

TTsuite
思博伦提供了多种现成可用的货架式测试套装(TTsuite),包括OPEN Alliance SIG一致性测试(TC8),汽车AVB一致性测试,AUTOSAR一致性测试等套装,每个测试套装都包含多种经过验证的测试用例,配合TTworkbench,能够实现车载以太网常见协议的一致性测试的自动化执行。

C50
C50是思博伦推出的一款性能强大的硬件,具有第2至3层流量生成和分析能力,可搭配不同的网卡(100BASE-T1、100BASE-TX等)来满足不同用户的需求。通过网线连接至PC后,可实现TTsuite的远程执行,即测试脚本运行在C50中,PC监控测试过程,收集测试数据,生成测试报告等。

图2 C50实物图

Upper Tester(UT)
Upper Tester(UT)本质上是一个运行在DUT中的应用,用于辅助测试执行。它能够接收Test System发送的指令,来配置被测协议栈(IUT)的参数,或触发被测协议栈产生某种行为。UT支持的指令和格式遵循AUTOSAR体系下的《Testability Protocol and Service Primitives》规范,目前新版的TTsuite已经支持到了1.2.0版本

OEM或供应商可按照规范自行开发和集成UT,也可购买第三方源代码自行集成,或通过第三方服务商来进行开发或集成。目前,北汇信息可提供UT的集成服务。

图3 Upper Tester(UT)工作原理

TCP/IP测试-被测对象组成

DUT
被测设备为实现了TCP/IP协议栈的非AUTOSAR控制器。

调试接口
为了更好地监视测试过程,DUT最好能提供一个调试接口,这样UT可通过这个接口输出一些调试信息,以帮助测试工程师更好地判定问题。这个接口可以是串口、SSH、或TELNET等,具体的类型并不限定。

需要注意的一点是,《Testability Protocol and Service Primitives》目前不支持TC8中的ARP测试,这时候就必须依赖上面提到的调试接口才能进行测试,并需要支持清除ARP动态缓存等配置和功能(详情可面对面沟通)。若提供的是SSH调试接口,可配合TTsuite实现ARP自动化测试,若是其他接口类型,则只能进行半自动化测试。

TCP/IP测试-测试过程

测试准备

  • 连接Test System与DUT
  • 加载对应的TTsuite
  • 配置TTsuite参数,如IP地址,MAC地址等
  • 启动UT

图4 配置测试参数

执行测试

  • 运行测试脚本

图5 测试脚本运行示意图

  • 获得测试数据和测试报告

图6 测试报告示意图

TCP/IP测试-小结

我们经常会听到这样的问题,TCP/IP协议栈已经发展了近30年,想必是十分成熟可靠了,那么为什么还要投入精力去测试呢?

这个问题回答起来很简单,只需要举一个例子即可。

很多车载信息娱乐域的控制器采用了Linux系统,因为它成熟可靠,性能强大,应用资源丰富,且开源免费。但是对于Linux的TCP/IP协议栈,大多参数都采用缺省的配置,这就使有些特性可能不满足车载的应用要求。比如,在缺省情况下,任意目的IP地址的ARP数据包都会被Linux接收,而TC8 要求 DUT 应忽略掉非指向自己的数据包,以提高安全性。

这些细节也是做正向架构设计和参数配置需要约束的,是测试带来的价值之一,尤其是在当前摸石头过河的阶段。深入的测试完全可以“反哺”设计,当然这需要对应用场景和协议本身(缺一不可)有足够的认知。

所以我们想表达的是,TCP/IP更多的是为互联网设计的,它的很多机制只有在海量用户和数据,并且在非常复杂且未知的网络环境下才会起作用,否则可能起到相反的效果。

我们必须意识到,车内的局域网是相对静态的、封闭的、简单的,我们必须做一些针对性的优化,才能达到更好的网络性能和更高的安全性。而TC8的意义,可能就在于此。

图片来源:www.eenewsautomotive.com

车载以太网第二弹|测试之实锤-TC8 TCP/IP协议一致性测试实践的更多相关文章

  1. 车载以太网第二弹|测试之实锤 -DoIP测试开发实践

    前言 车载以太网测试之实锤系列,之前我们已经从环境设备组成.被测对象组成再到测试过程和测试结果分析,分享了完整的PMA测试 .IOP测试 .TC8中的TCP/IP协议一致性测试 .也分享了1000BA ...

  2. 车载以太网第二弹|测试之实锤-AVB测试实践

    背景 AVB(Audio Video Bridging)音视频桥接,是由IEEE 802.1标准委员会的IEEE AVB任务组制定的一组技术标准,包括精确时钟同步.带宽预留和流量调度等协议规范,用于构 ...

  3. 车载以太网第二弹|测试之实锤-1000BASE-T1物理层PMA测试实践

    背景 100BASE-T1方兴未艾,国内外OEM量产车型纷至沓来:为了满足高带宽的应用场景需求(如图像.雷达等数据传输),1000BASE-T1将至已至,如大众MEB平台采用1000BASE-T1总线 ...

  4. 车载以太网第二弹|测试之实锤-1000BASE-T1 IOP测试实践

    背景 车载以太网通信技术在汽车行业的应用速度远超预期,去年本土OEM已经上市了应用100BASE -T1的车型.今年,应用1000BASE -T1的车型预计也将会量产上市.针对测试而言,带来另外一个难 ...

  5. 车载以太网第二弹 | 测试之实锤-IOP测试实践

    前言 上一期"物理层PMA测试实践",咱们从环境设备组成.被测对象组成再到测试过程和测试结果,将完整的PMA测试过程做了一个经验分享. 由下层开始逐层"披沙沥金" ...

  6. 车载以太网第二弹 | 测试之实锤-物理层PMA测试实践

    前言 本期先从物理层"PMA测试"开始,下图1为"PMA测试"的测试结果汇总图.其中,为了验证以太网通信对线缆的敏感度,特选取两组不同特性线缆进行测试对比,果然 ...

  7. 以太网接口TCP/IP协议介绍,说的很容易懂了

      以太网接口TCP/IP协议介绍,说的很容易懂了  TCP/IP协议,或称为TCP/IP协议栈,或互联网协议系列. TCP/IP协议栈(按TCP/IP参考模型划分) 应用层 FTP SMTP HTT ...

  8. TCP/IP协议的数据传输过程详解——IP与以太网的包收发操作

    MTU:一个网络包的最大长度,以太网中一般是1500字节:(含有头部长度,包括IP头部,TCP头部,不包括MAC头部) MSS:除去头部后,一个网络包所能容纳的TCP的数据的最大长度 下图为TCP/I ...

  9. 结合Wireshark捕获分组深入理解TCP/IP协议之以太网帧

    摘要:     本文摘抄并整理了以太网相关理论知识,包括CSMA/CD协议机制及工作.LAN互连,详细分析了Ethernet II帧格式,最后给出Ethernet II帧实例. 一.以太网[1] 1. ...

随机推荐

  1. 菜鸡的Java笔记 第二十四 - java 接口的基本定义

    1.接口的基本定义以及使用形式        2.与接口有关的设计模式的初步认识        3.接口与抽象类的区别                 接口与抽象类相比,接口的使用几率是最高的,所有的 ...

  2. [hdu7000]二分

    不妨假设$x\le y$,可以通过翻转整个格子序列来调整 令$a_{i}$​​为$i$​​到$y$​​的期望步数,显然有方程$a_{i}=\begin{cases}0&(i=y)\\\frac ...

  3. [bzoj1079]着色方案

    由于最终的染色只与ci为几的个数有关,因此定义状态f[a][b][c][d][e][p]表示有a个ci=1,b个ci=2,--,有e个ci=5,上一次选择了ci=p的.状态的转移:发现p会让p-1少选 ...

  4. 异常处理截止和UML图

    0.异常处理机制 0.1.java中异常的作用是:增强程序健壮性. 0.2.java中异常以类和对象的形式存在. 1.java的异常处理机制 1.1.异常在java中以类和对象的形式存在.那么异常的继 ...

  5. Jetpack架构组件学习(2)——ViewModel和Livedata使用

    要看本系列其他文章,可访问此链接Jetpack架构学习 | Stars-One的杂货小窝 原文地址:Jetpack架构组件学习(2)--ViewModel和Livedata使用 | Stars-One ...

  6. 没有人比我更会使用集合!对, 是dart中的集合

    目录 简介 List的使用 Set的使用 Map的使用 常见的集合方法 总结 简介 dart中的集合有三个,分别是list,set和map.dart在dart:core包中提供了对于这三种集合非常有用 ...

  7. could not extract ResultSet

    使用jpa进行代码更新:update的时候发现代码出现了异常:could not extract ResultSet 在数据库看数据并没有更新,后发现更新操作需要加一个注解 注释:当设置nativeQ ...

  8. [SQL Server]一列多行转换为字符串

    在 SQL Server 中,如何将多行数据变成一个字符串保存. skill 投石 挖矿 刮痧 上面三行数据想要得到结果为:投石,挖矿,刮痧 有两种方式: 拼接字符串. 使用 for XML 首先创建 ...

  9. 一类巧妙利用利用失配树的序列DP

    I.导入 求长度为\(\text{len}\)的包含给定连续子串\(\text{T}\)的 0/1 串的个数.(\(|T|<=15\)) 通常来说这种题目应该立刻联想到状压 DP 与取反集--这 ...

  10. 集群SGE作业调度系统

    目录 0. 一些基本概念 1. 常见的几种资源管理和调度系统 2. SGE常见指令 2.1 提交任务 2.2 查看任务 2.3 删除任务 2.4 挂起/恢复任务 2.5 更改任务属性 0. 一些基本概 ...