3. 测试环境搭建:硬件、软件与网络配置

环境搭建这事儿,说简单也简单,说复杂能让你折腾一整天。我见过太多测试用例写得漂亮,结果环境没搭好,半天出不了数据的案例。说白了,环境搭得稳,测试就成功了一半。

咱们分三块来讲:硬件环境、软件环境、网络环境。每一块都有坑,我尽量把踩过的坑都告诉你。

3.1 硬件环境搭建

硬件环境是基础,也是最容易出幺蛾子的地方。你想想看,设备、线缆、工装,哪个环节松了都不行。

3.1.1 设备清单与准备

先列个设备清单,别到了现场才发现少东西。我个人习惯是提前三天就把清单拉出来,逐项打勾。

设备类型 典型设备 关键检查项
被测设备(DUT) 嵌入式主板、传感器模组 固件版本、供电电压、接口完好
测试仪器 示波器、万用表、频谱仪 校准有效期、探头衰减比设置
辅助设备 可编程电源、电子负载 输出纹波、过流保护阈值
工装夹具 烧录座、测试针床、转接板 针脚对位、接触阻抗
注意: 示波器探头的地线夹子,千万别夹错位置。我曾经有一次夹到了高压侧,瞬间冒烟……嗯,从那以后我每次上电前都会用万用表先测一遍。

3.1.2 线缆选择与连接

线缆这事儿,很多人不重视。其实线缆选不对,信号质量直接崩。

  • 信号线: 高速信号(如I2C、SPI超过1MHz)必须用屏蔽双绞线,长度控制在30cm以内。我见过有人用杜邦线飞了半米长,结果波形惨不忍睹。
  • 电源线: 线径要够粗。比如给一个5V/3A的设备供电,至少用AWG18以上的线,否则压降会让你怀疑人生。
  • 接地线: 所有设备共地,这是铁律。不共地的话,共模干扰会让你抓狂。
小技巧: 线缆两端贴上标签,写清楚信号名称和方向。别偷懒,后期排查问题的时候你会感谢自己的。

3.1.3 工装夹具验证

工装夹具是连接DUT和测试仪器的桥梁。我建议每次测试前都做一次“空载验证”——不接DUT,先用万用表测一下工装上的电源和地是否短路。

为什么会这样?因为工装用久了,针脚可能会歪,或者有焊锡碎屑掉进去。短路一发生,轻则烧保险,重则烧DUT。

3.2 软件环境搭建

硬件搭好了,接下来就是软件。软件环境包括驱动、中间件和模拟器。这三样缺一不可。

3.2.1 驱动安装与验证

驱动是操作系统和硬件之间的翻译官。装驱动有个顺序:先装芯片组驱动,再装外设驱动,最后装测试仪器驱动。

# 以Linux环境为例,检查驱动是否加载
lsmod | grep usb
dmesg | tail -20
# 查看设备节点
ls -l /dev/ttyUSB*

装完驱动后,一定要做验证。我习惯写一个简单的读写测试脚本,确认驱动能正常工作。

关键点: 驱动版本必须和操作系统内核版本匹配。Windows下要注意签名问题,Linux下要注意内核模块的编译选项。

3.2.2 中间件配置

中间件是连接测试程序和硬件的桥梁。常见的中间件有ROS、MQTT、Modbus协议栈等。

配置中间件时,重点关注三个参数:

  1. 通信协议: TCP/UDP、串口波特率、CAN总线速率,必须和硬件端一致。
  2. 超时时间: 设得太短容易误报,设得太长影响测试效率。我一般设500ms,然后根据实际调试再微调。
  3. 日志级别: 调试阶段设DEBUG,正式测试设INFO或WARN。否则日志文件会爆炸。

3.2.3 模拟器部署

模拟器用来模拟真实环境中的其他设备。比如测试一个温度传感器,你可以用模拟器生成温度数据,而不是真的去烤炉子。

部署模拟器时,要注意模拟器的精度和实时性。我曾经遇到过一个模拟器,它生成的数据是理想曲线,但实际传感器数据是有噪声的。结果测试用例全过了,一到现场就崩。

避坑指南: 模拟器数据一定要加噪声和延迟,尽量贴近真实场景。否则你的测试就是“假通过”。

3.3 网络环境配置

现在的设备大多联网,网络环境配置不好,测试结果就没意义。

3.3.1 网络拓扑设计

先画网络拓扑图。我习惯用SVG画一张简单的图,贴在工位上,方便随时看。

测试网络拓扑结构 测试服务器 交换机 DUT 1 DUT 2 DUT 3 说明:测试服务器通过交换机连接多个DUT,实现并行测试与数据采集

3.3.2 IP地址与端口规划

IP地址要提前规划好,别用DHCP自动分配。我建议用静态IP,方便排查问题。

设备 IP地址 端口 用途
测试服务器 192.168.1.100 8080 Web管理界面
DUT 1 192.168.1.101 502 Modbus通信
DUT 2 192.168.1.102 502 Modbus通信
模拟器 192.168.1.200 8888 数据注入
建议: 把IP和端口信息做成一个配置文件,测试程序启动时自动读取。别硬编码在代码里,否则换环境就得改代码。

3.3.3 网络连通性验证

配置完了,得验证一下。我一般做三步验证:

  1. Ping测试: 确认IP层通不通。
  2. 端口测试: 用telnet或nc测试指定端口是否开放。
  3. 应用层测试: 发一条真实协议的数据,看响应是否正确。
# 第一步:Ping测试
ping 192.168.1.101 -c 4

# 第二步:端口测试
nc -zv 192.168.1.101 502

# 第三步:应用层测试(以Modbus为例)
modbus_client -t tcp 192.168.1.101 -p 502 -r 1 -c 10
核心原则: 环境搭建完成后,一定要做一次“冒烟测试”——跑一个最简单的用例,确认整个链路是通的。这一步能帮你省下后面大量的排查时间。

好了,硬件、软件、网络,三块都搭好了。别急着开始跑用例,先花10分钟做个整体检查。我每次都会拿着清单逐项打勾,确认无误后再上电。这个习惯救了我很多次。