☰
软件测试被AI替代?转型嵌入式芯片测试与ROS2实战指南
2026/10/30 4:24:56 网站建设 项目流程

大半年后台咨询里,“AI 会不会替代软件测试”出现频率越来越高。不少测试同学发现:用例生成有 CoPilot 类工具,接口测试有自动化平台,连 UI 自动化脚本都能自动录制、自动维护,传统手工测试的生存空间确实在被压缩。但如果只盯住 Web/App 测试这一个赛道,确实容易焦虑。把视野拉远一点,嵌入式、物联网、ROS2、人形机器人、芯片测试这些方向,正在出现大量需要“测试思维 + 软硬件结合能力”的岗位。

这篇文章不打算贩卖焦虑,而是围绕“软件测试如何向嵌入式/芯片测试转型”这件事,系统拆解芯片测试的测试对象、测试方法,以及 ROS2 在机器人系统测试中的作用。文中包含可复制的 ROS2 环境搭建步骤、STM32 读取 INA240 电流感应芯片的示例、Unity 单元测试框架的使用方法,以及从软件测试转嵌入式测试的学习路线。新手可以按步骤上手,有基础的开发也能直接复用里面的测试代码和排错方法。

1. 为什么我感觉软件测试正在被 AI 替代?

先讲一个现实判断:AI 替代的不是“测试”这件事,而是测试里那些重复、机械、不需要业务理解的环节。

1.1 AI 在软件测试里到底能做多少事

目前 AI 在软件测试中的应用已经很具体:

  • 自动生成测试用例:根据接口定义、页面元素和需求文档,自动补全正常流、异常流用例。
  • 智能断言与脚本修复:UI 自动化中元素定位变化后,AI 可以自动修正脚本。
  • 缺陷预测:通过历史 bug、代码提交记录、模块复杂度预测高风险区域。
  • 测试数据生成:自动构造边界值、非法值、组合值。

所以“点工型”测试确实面临替代。像只做回归点击、录脚本回放、看图找 bug 这一类工作,AI 工具效率高得多。

1.2 哪些测试岗位反而更缺人

缺人的是那些 AI 不容易插手的领域,因为它们不只是“测软件”,还要“懂硬件”“懂实时系统”“懂物理世界”。

  • 嵌入式软件测试:代码跑在单片机/SoC 上,要处理中断、时序、寄存器、外设,AI 很难凭空生成可靠测试。
  • 芯片测试:涉及晶圆、封装、ATE(自动测试设备)、参数边界、可靠性,需要人去设计测试方案和写测试程序。
  • 机器人系统测试:需要验证传感器、控制器、电机驱动之间的协同,环境复杂,光靠模型无法覆盖。
  • 物联网设备测试:设备碎片化、网络不稳定、功耗要求高,必须结合真机测试。

软件测试转向嵌入式、芯片测试,不是转行,而是把“测试方法论”迁移到一个更高门槛、更依赖经验的领域。

1.3 对测试工程师来说真正要补什么

个人看法,转型核心不是丢掉软件测试知识,而是补三块:

  • 硬件基础:看得懂原理图、数据手册,知道 GPIO、ADC、PWM、UART、SPI、I2C、CAN 是干什么的。
  • 嵌入式开发:不需要成为驱动专家,但至少能用 C 操作寄存器、用 HAL 库读写外设。
  • 机器人中间件:ROS2 作为机器人系统的事实标准,能看懂节点、话题、服务,能写测试脚本验证通信。

2. 嵌入式人形机器人芯片测试到底测什么

标题里提到“人形机器人芯片测试”是新风口,这里先把概念理清楚。很多人以为芯片测试就是把芯片放到测试座上,跑一遍程序,看 pass 还是 fail。实际没那么简单。

2.1 芯片测试的几个阶段

测试阶段英文缩写测试对象目的
晶圆探针测试CP晶圆上的裸片在封装前筛掉失效 die,降低封装成本
封装后最终测试FT封装好的芯片验证功能、参数、接口特性
系统级测试SLT芯片装到板卡后的整机模拟真实使用场景,补 ATE 覆盖不到的场景
可靠性测试RA样品芯片验证高温、低温、湿度、ESD 等

2.2 人形机器人会用哪些芯片

人形机器人功能复杂,涉及的芯片种类很多:

  • 主控 SoC / MCU:负责任务规划、运动控制、关节伺服。
  • 电源管理芯片:管理电池充放电、各模块供电。
  • 电机驱动芯片:驱动关节电机,配合电流检测。
  • 电流感应放大芯片:检测电机电流,用来做力矩控制和过流保护。
  • 传感器芯片:IMU、激光雷达、摄像头、力传感器、触觉传感器。
  • 通信芯片:负责机器人内部总线通信和外部联网。

芯片厂商出货前,需要围绕“功能、参数、边界、可靠性”做一整套测试。比如电流感应放大芯片 INA240,就要测输入失调电压、增益误差、共模抑制比、带宽、噪声、以及短路/过流保护功能。

2.3 软件测试工程师在芯片测试里能做什么

芯片测试不只是硬件工程师的事,测试软件和测试流程同样关键:

  • 测试方案设计:根据数据手册列出功能项、参数项、边界条件。
  • 测试程序开发:在单片机、ATE 或 PC 端写自动化测试脚本,控制输入、读取输出、自动判定。
  • 数据处理与缺陷分析:用 Python/数据分析工具统计参数分布,找出失效原因。
  • 测试平台搭建:搭建“PC + 单片机 + 被测芯片”的自动化测试环境。

这些技能,软件测试工程师原本就具备,只是测试对象从“接口返回数据”换成了“芯片引脚输出的电压值”。

3. 转型前,先分清几个容易混淆的概念

很多人转型时,把“嵌入式软件测试”“芯片测试”“硬件在环测试”混在一起。这里用一节课的篇幅做区分。

3.1 软件测试、嵌入式软件测试、芯片测试的差别

测试类型被测对象主要关注点常用工具/手段
软件测试Web / App / 后端服务功能、兼容性、性能、安全Postman、Selenium、JMeter、pytest
嵌入式软件测试单片机 / SoC 上的固件逻辑正确性、时序、资源、外设交互Unity、CMock、QEMU、日志断点
芯片测试芯片本身 / 封装后器件功能、参数、边界、可靠性ATE、探针台、万用表、示波器、ADC 采样
硬件在环测试控制器 + 真实硬件信号交互、闭环控制、故障注入HIL 台架、Simulink、CANoe

3.2 为什么嵌入式测试“可隔离、可控制”这么重要

热词里有“软件测试方法 可隔离 可控制”,这其实是嵌入式测试的核心方法论。

  • 可隔离:被测模块不依赖真实硬件也能跑,比如把读取 ADC 的函数通过函数指针注入 fake 数据。
  • 可控制:测试时可以人为制造输入、制造异常,比如模拟传感器断线、模拟过压。
  • 不可控的系统没法测试:如果一切依赖真实硬件时序,就难做自动化,也难复现 bug。

所以,转嵌入式测试,一定要养成写“可测试代码”的习惯。裸机代码里不要把所有逻辑揉在 main 里,至少要拆成独立的模块,用参数传状态,而不是全局变量满天飞。

3.3 单片机、物联网、嵌入式之间的关系

一个更通俗的理解:

  • 嵌入式开发:针对特定硬件写软件,核心是软硬件结合。
  • 单片机:嵌入式开发最常见的硬件载体,如 STM32、ESP32,跑裸机或 RTOS。
  • 物联网:把嵌入式设备连上网络,采集数据、远程控制。
  • ROS2:面向机器人系统的分布式通信框架,把多个嵌入式节点组合成一套完整机器人系统。

所以“嵌入式人形机器人芯片测试”不是单一技能,而是一个软硬件结合的岗位方向。想切入这个方向,需要掌握从“单片机裸机测试”到“ROS2 系统测试”的完整链路。

4. 环境准备:ROS2 与嵌入式开发工具链

实操之前,先把环境搭建好。本节以 Ubuntu 22.04 + ROS2 Humble 为例,其他版本请按官方文档调整。

4.1 安装 ROS2 Humble

ROS2 版本很多,Ubuntu 22.04 对应 Humble。先更新系统:

sudo apt update sudo apt upgrade -y

安装基础依赖:

sudo apt install software-properties-common curl -y sudo add-apt-repository universe

添加 ROS2 软件源。这一部分官网可能会更新,建议打开官方文档对照执行。常规步骤是:

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \ -o /usr/share/keyrings/ros-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] \ http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | \ sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

然后安装桌面版:

sudo apt update sudo apt install ros-humble-desktop

安装常用开发工具:

sudo apt install python3-colcon-common-extensions python3-rosdep -y

每次打开新终端,需要加载 ROS2 环境:

source /opt/ros/humble/setup.bash

建议写入.bashrc,省得每次手动执行:

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc source ~/.bashrc

4.2 运行小海龟验证 ROS2

ROS2 装好后,最简单验证方法是小海龟程序。

终端 1 启动海龟节点:

ros2 run turtlesim turtlesim_node

终端 2 启动键盘控制:

ros2 run turtlesim turtle_teleop_key

如果都能打开,说明 ROS2 基本可用。下一步可以查看当前有哪些节点和话题:

ros2 node list ros2 topic list

正常会看到/turtle1/cmd_vel、/turtle1/pose等话题,说明 ROS2 通信没问题。这是后面测试机器人系统的基础。

4.3 嵌入式开发工具链

做芯片测试和嵌入式测试,至少要准备一套能编译单片机的工具链。这里以 STM32 为例:

  • STM32CubeMX:图形化生成初始化代码。
  • GCC ARM 工具链:编译代码。
  • OpenOCD:通过 ST-Link/J-Link 烧录和调试。
  • 终端串口工具:minicom、PuTTY、或者 Python 的 pyserial。

在 Ubuntu 上安装 GCC ARM 工具链和 OpenOCD:

sudo apt install gcc-arm-none-eabi openocd minicom python3-pip -y pip3 install pyserial

还需要准备一个 STM32 开发板、一个 ST-Link 下载器,以及一根 USB 转串口线。具体型号不限,重点是掌握“写代码→编译→烧录→查看输出”的闭环。

5. 芯片测试实战:以 INA240 电流感应放大芯片为例

下面用真实的芯片 INA240 举例,演示“芯片功能测试”的完整思路。INA240 是 TI 公司一款高共模电压电流感应放大器,常用于电机电流检测、机器人关节电流采样,所以和人形机器人场景很匹配。

5.1 INA240 测试思路

拿到一颗芯片,测试前先看数据手册,明确:

  • 供电电压范围。
  • 增益规格,INA240 有 A1/A2/A3 等不同版本。
  • 输出公式:输出电压与输入差分电压、参考电压、增益有关。
  • 输入端允许的共模电压范围。
  • 输出范围,不能超过 ADC 量程。

当前示例使用单片机 ADC 读取 INA240 输出,从而验证芯片基本功能。更完整的芯片测试还会测失调、增益精度、噪声、上电时序、短路响应,这里先把链路跑通。

5.2 硬件接线

硬件接线大致如下,具体以开发板丝印为准:

  • INA240 供电 VCC 接 5V 或 3.3V,GND 共地。
  • IN+、IN- 接采样电阻两端。
  • OUT 接 STM32 ADC 引脚,例如 PA1。
  • REF 引脚通常接 VCC/2 或 GND,取决于输出偏置需求。

这里要特别提醒:测试时务必确认供电电压和输入量程,避免过压、反接损坏芯片和开发板。务必先在实验板上验证,再接入实际系统。

5.3 STM32 端读取 ADC 电压

下面是 STM32 HAL 库的读取片段。使用 ADC1 通道 1,对应 PA1。这段代码适合 F1 系列,其他系列引脚和时钟配置不同。

// 文件:main.c 核心片段 #include "stm32f1xx_hal.h" #include <stdio.h> #include <string.h> ADC_HandleTypeDef hadc1; UART_HandleTypeDef huart2; uint32_t adc_read_raw(void) { HAL_ADC_Start(&hadc1); HAL_ADC_PollForConversion(&hadc1, 10); return HAL_ADC_GetValue(&hadc1); } int main(void) { HAL_Init(); // 时钟、GPIO、ADC、UART 初始化由 STM32CubeMX 生成 // 此处省略 uint8_t buf[64]; while (1) { uint32_t raw = adc_read_raw(); int len = snprintf((char *)buf, sizeof(buf), "RAW:%lu\r\n", raw); HAL_UART_Transmit(&huart2, buf, len, 100); HAL_Delay(200); } }

这段代码把原始 ADC 值通过串口每秒输出 5 次,方便 PC 端分析。

5.4 PC 端用 Python 采集并计算电流

PC 端用 pyserial 读取串口,然后根据 ADC 分辨率、参考电压和 INA240 增益计算电流。

import serial import time ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1) VREF = 3.3 # STM32 ADC 参考电压 ADC_MAX = 4095 # 12 位 ADC 最大值 GAIN = 100 # INA240 A1 增益,具体以你手里的版本为准 RSENSE = 0.01 # 采样电阻阻值,单位欧姆 # INA240 输出与输入电流的关系官方公式里还涉及参考电压, # 这里简化为:Vout = (I * RSENSE) * GAIN + Vref VREF_OUT = VREF / 2.0 # 假设 REF 接 VCC/2 def calc_current(raw): vout = raw * VREF / ADC_MAX # Vout = I * RSENSE * GAIN + VREF_OUT current = (vout - VREF_OUT) / (RSENSE * GAIN) return current try: while True: line = ser.readline().decode().strip() if line.startswith('RAW:'): raw = int(line.split(':')[1]) current = calc_current(raw) print(f'RAW:{raw} Vout:{raw * VREF / ADC_MAX:.3f}V I:{current:.3f}A') except KeyboardInterrupt: ser.close()

运行前需要添加串口权限:

sudo usermod -aG dialout $USER

然后重新登录,再执行脚本:

python3 read_ina240.py

5.5 这个测试能说明什么

这个示例看起来简单,但它展示了芯片测试的基本链路:

  • 控制:通过采样电阻给已知输入信号。
  • 采集:通过 ADC 读取输出信号。
  • 计算:对照数据手册公式分析结果。
  • 判定:判断结果是否在规格范围内。

实际芯片测试要比这复杂,流程却是一致的。软件测试工程师的优势在于:熟悉用例设计、熟悉自动化脚本、熟悉数据对比和判定,这些能力可以直接迁移。

6. 用 ROS2 构建机器人系统测试基础

单个芯片测试完成后,还要把芯片放到整个机器人系统里测试。人形机器人是分布式系统,里面有多个 MCU、多个传感器、多个执行器,它们之间靠总线通信。ROS2 是这套系统最常见的软件中间件。

6.1 ROS2 核心概念速览

  • 节点(Node):一个可执行单元,比如“关节电流采集节点”。
  • 话题(Topic):节点之间异步发布/订阅的通道。
  • 服务(Service):请求/响应式同步通信。
  • 动作(Action):用于带反馈的长任务,比如运动控制。
  • QoS:通信质量策略,控制消息可靠性和延迟。

测试一个 ROS2 系统,本质上就是验证这些节点之间能否按预期交换数据。

6.2 最小发布/订阅测试例程

下面创建一个工作区,写一个发布者和订阅者。先建目录:

mkdir -p ~/ros2_test_ws/src/test_comm cd ~/ros2_test_ws/src/test_comm

创建package.xml:

<?xml version="1.0"?> <package format="3"> <name>test_comm</name> <version>0.0.1</version> <description>ROS2 communication test</description> <maintainer email="test@example.com">test</maintainer> <license>Apache-2.0</license> <depend>rclpy</depend> <depend>std_msgs</depend> </package>

创建setup.py:

from setuptools import setup package_name = 'test_comm' setup( name=package_name, version='0.0.1', packages=[package_name], py_modules=[], install_requires=['setuptools'], entry_points={ 'console_scripts': [ 'talker = test_comm.talker:main', 'listener = test_comm.listener:main', ], }, )

创建test_comm/talker.py:

import rclpy from rclpy.node import Node from std_msgs.msg import String class Talker(Node): def __init__(self): super().__init__('talker') self.pub = self.create_publisher(String, 'chatter', 10) self.timer = self.create_timer(1.0, self.timer_callback) self.count = 0 def timer_callback(self): msg = String() msg.data = f'Hello, ROS2 test: {self.count}' self.pub.publish(msg) self.get_logger().info(f'Publish: {msg.data}') self.count += 1 def main(): rclpy.init() node = Talker() rclpy.spin(node) node.destroy_node() rclpy.shutdown() if __name__ == '__main__': main()

创建test_comm/listener.py:

import rclpy from rclpy.node import Node from std_msgs.msg import String class Listener(Node): def __init__(self): super().__init__('listener') self.sub = self.create_subscription(String, 'chatter', self.callback, 10) def callback(self, msg): self.get_logger().info(f'Receive: {msg.data}') def main(): rclpy.init() node = Listener() rclpy.spin(node) node.destroy_node() rclpy.shutdown() if __name__ == '__main__': main()

编译:

cd ~/ros2_test_ws colcon build source install/setup.bash

运行发布者:

ros2 run test_comm talker

新终端加载环境后运行订阅者:

source ~/ros2_test_ws/install/setup.bash ros2 run test_comm listener

预期订阅者终端会持续打印Receive: Hello, ROS2 test: N,说明节点通信正常。

6.3 如何自动化验证通信

实际项目里,不可能一直盯着终端看。可以用命令行工具自动化检查。

查看话题数据:

ros2 topic echo /chatter

统计话题发布频率:

ros2 topic hz /chatter

查看节点关系:

ros2 node info /talker

这些命令是机器人系统测试的基本手段,和在 Web 测试里用 Postman 看接口返回是同一个思路。

7. 嵌入式软件测试:可隔离、可控制的测试方法

嵌入式测试在现场很难复现问题,所以“可隔离、可控制”必须是设计阶段就考虑的事。下面用 Unity 测试框架演示单元测试怎么写。

7.1 引入 Unity 单元测试框架

Unity 是一款轻量级 C 语言单元测试框架,很适合嵌入式。先下载源码:

git clone https://github.com/ThrowTheSwitch/Unity.git

假设被测模块是math_ops.c,我们先写一个简单加法函数。

math_ops.h:

#ifndef MATH_OPS_H #define MATH_OPS_H int add(int a, int b); #endif

math_ops.c:

#include "math_ops.h" int add(int a, int b) { return a + b; }

7.2 编写测试用例

test_math_ops.c:

#include "unity.h" #include "math_ops.h" void setUp(void) { } void tearDown(void) { } void test_add_positive(void) { TEST_ASSERT_EQUAL_INT(5, add(2, 3)); } void test_add_negative(void) { TEST_ASSERT_EQUAL_INT(-1, add(-3, 2)); } void test_add_zero(void) { TEST_ASSERT_EQUAL_INT(0, add(0, 0)); } int main(void) { UNITY_BEGIN(); RUN_TEST(test_add_positive); RUN_TEST(test_add_negative); RUN_TEST(test_add_zero); return UNITY_END(); }

编译运行:

gcc -I Unity/src test_math_ops.c math_ops.c Unity/src/unity.c -o test_math_ops ./test_math_ops

预期输出类似:

test_math_ops.c:13:test_add_positive PASS test_math_ops.c:17:test_add_negative PASS test_math_ops.c:21:test_add_zero PASS ----------------------- 3 Tests 0 Failures 0 Ignored OK

7.3 从单元测试到硬件测试的隔离思想

在真实项目里,read_adc()这类函数依赖硬件,不能在 PC 上跑。怎么办?通过函数指针或条件编译把硬件依赖隔离开。

例如:

typedef uint32_t (*adc_read_fn)(void); int current_task(adc_read_fn read_fn) { if (read_fn == NULL) { return -1; } uint32_t raw = read_fn(); if (raw > 4095) { return -2; } return (int)(raw * 100 / 4095); }

测试时传入 fake 函数:

uint32_t fake_read_adc(void) { return 2048; } void test_current_task(void) { TEST_ASSERT_EQUAL_INT(50, current_task(fake_read_adc)); }

这样测试不依赖真实 ADC,也能验证业务逻辑。这就是“可隔离、可控制”在实际代码里的落地方式。

8. 常见问题与排查思路

环境搭建和测试代码跑起来后会遇到不少坑,这里整理高频问题。

问题现象常见原因解决思路
ROS2 命令找不到环境没有 source执行source /opt/ros/humble/setup.bash
colcon build找不到包在错误目录执行确认当前目录是工作区根目录,即包含src的目录
Python 报ModuleNotFoundError: rclpyROS2 环境未加载先source /opt/ros/humble/setup.bash再运行
串口打开失败Permission denied用户不在 dialout 组sudo usermod -aG dialout $USER后重新登录
串口读到乱码波特率不匹配确认 STM32 串口配置和 Python 脚本波特率一致
ADC 读到全 0 或全满接线错误、共地问题、输入超量程用万用表量 INA240 OUT 引脚电压,确认是否在 ADC 量程内
Unity 编译链接失败缺少 unity.c编译命令中包含Unity/src/unity.c
MCU 烧录失败下载器驱动或接线问题检查 ST-Link 接线,确认驱动识别到设备

排查原则:先查环境,再查硬件,最后查代码。ROS2 类问题百分之八十是环境变量问题;芯片测试类问题百分之八十是共地、供电、量程问题。

9. 从软件测试转向嵌入式测试的实践建议

9.1 技能树怎么补

从软件测试向嵌入式测试迁移,至少覆盖以下能力:

  • C 语言:指针、结构体、函数指针、内存管理。
  • 单片机基础:GPIO、ADC、UART、定时器、中断。
  • 通信协议:UART、SPI、I2C、CAN、Modbus。
  • 嵌入式构建:Makefile、CMake、交叉编译。
  • ROS2 基础:节点、话题、服务、launch 文件。
  • 测试能力:单元测试、接口测试、硬件在环测试、可靠性测试。
  • 数据分析:Python 读取串口数据、计算误差、绘制曲线。

9.2 推荐一个起步项目

与其零散学,不如做一个小项目,打通“嵌入式 + 芯片测试 + ROS2”链路:

  1. 用 STM32 读取 INA240 电流值。
  2. 通过串口发送 ADC 原始数据。
  3. 写 Python 脚本解析、计算电流。
  4. 把 Python 脚本改写成 ROS2 节点,把电流值发布到话题。
  5. 再写一个订阅节点做数据记录和告警。
  6. 为电流计算逻辑写 Unity 单元测试。

做完这个项目,你对“芯片测试”“嵌入式开发”“ROS2 系统测试”的关系会有更直观的理解。面试时也能拿出完整作品,比单纯背八股更有说服力。

9.3 面试准备重点

嵌入式测试岗位面试,除了测试理论,肯定会问你:

  • 数据手册怎么看。
  • 如何设计一个芯片参数测试方案。
  • 讲讲你理解的“可隔离、可控制”。
  • 如何解决串口粘包问题。
  • ROS2 和 ROS1 的区别。
  • 实时系统里怎么保证测试不干扰业务逻辑。

这些内容,没有实际动手很难答好。所以在投简历之前,至少要把第 9.2 节的完整项目跑通,并整理成文档。

9.4 最佳实践

把这段时间的一些经验沉淀成清单:

  • 芯片测试前一定先看数据手册,手册里给了测试条件和公式。
  • 所有测试脚本都要能重复执行,输入、输出、预期结果对齐。
  • 串口数据要带帧头、数据长度、校验,避免粘包后无法解析。
  • 嵌入式测试用例尽量做到不依赖真实硬件,通过 Mock 实现可隔离。
  • 做硬件改动前先断电,拔插芯片时注意静电防护。
  • 生产环境跑测试程序,必须经过测试环境验证并保留回滚方案。
  • 记录测试日志时加时间戳,方便定位问题。

10. 总结与下一步行动

回到开头的问题:软件测试会不会被 AI 替代?重复性测试会,但测试思维不会。芯片测试、嵌入式测试、ROS2 系统测试,这些方向需要理解硬件、理解通信、理解系统架构,AI 只能辅助,不能替代工程师去定义“测什么、为什么测、怎么判定结果”。

从软件测试转向嵌入式芯片测试,路径很清晰:

  1. 先装好 Ubuntu + ROS2,跑通小海龟。
  2. 准备一套 STM32 开发板,点亮 LED、读 ADC、跑串口。
  3. 买一颗 INA240 或类似传感器芯片,写完整测试脚本。
  4. 把 USB 转串口数据接入 ROS2 话题。
  5. 给核心逻辑补单元测试。
  6. 整理成简历项目,去投嵌入式测试或芯片测试相关岗位。

别急着把软件测试知识扔掉,那是你做测试方案和自动化脚本的基本功。真正拉开差距的,是对硬件和系统的理解。动手做一个端到端的小项目,比看十篇“AI 替代论”文章都有效。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询