2. TestStand架构与部署规划

在电子产品量产测试体系中,TestStand 并不是一个单一软件,而是由多个可独立部署、协同工作的组件构成的测试执行平台。理解这些组件的职责边界,是后续规划单机、分布式或产线级部署方案的前提。很多项目在初期把 TestStand 当作“一个装完就能跑的软件”,到了多工位并行、多产品混线时才发现许可证、引擎实例、用户界面和部署工具之间的耦合关系没有理清,导致返工。本节从组件架构出发,逐步展开部署模式、授权机制与量产环境下的安装配置策略。

2.1 核心组件与职责划分

TestStand 的核心组件可以按“执行—编辑—交互—部署”四个维度理解。TestStand 引擎(Engine)是真正的执行内核,负责解析序列文件、调度步骤、管理执行流、处理变量与结果记录。引擎以进程内或进程外方式运行,所有序列的执行、断点、单步、回调都发生在引擎中。序列编辑器(Sequence Editor)是开发态的主要工具,用于创建和编辑序列文件、配置步骤属性、调试执行流、查看变量与结果。用户界面(User Interface, UI)是操作员实际面对的界面,TestStand 提供基于 C#/VB.NET 的默认 UI 源码,量产中通常需要二次开发,加入工位号、产品条码、测试进度、Pass/Fail 判定和数据库上传等元素。部署工具(Deployment Utility)负责把开发完成的序列、代码模块、依赖文件和配置打包成可分发镜像,在目标产线机器上还原运行环境。

此外还有几个容易被忽视但影响部署的组件:TestStand 服务(TestStand Service)用于支持远程执行和分布式调用;数据库记录组件负责把测试结果写入本地或中央数据库;许可证管理器决定引擎和编辑器的授权状态。这些组件共同决定了部署形态。

TestStand 核心组件与部署关系 开发态(工程机) 序列编辑器 编辑 / 调试 / 断点 TestStand 引擎 执行内核 / 调度 序列文件 (.seq) + 代码模块 (DLL / VI / .NET) 步骤类型 · 变量 · 回调 · 结果记录配置 部署工具(Deployment Utility) 打包镜像 → 目标机还原运行环境 运行态(产线工位) 用户界面 (UI) 操作员交互 / 判定 TestStand 引擎 运行时执行 测试结果 → 数据库 / MES / 本地日志 Pass/Fail · 测量值 · 条码 · 时间戳 许可证与运行时授权 开发许可证 调试/部署许可证 运行时许可证 远程执行授权 部署

2.2 三种部署模式的选择依据

单机部署是最简单的形态:序列编辑器、引擎、UI 和数据库客户端全部安装在同一台工控机上。适合研发验证、小批量试产或单工位测试。优点是配置简单、无网络依赖;缺点是资源竞争明显,UI 刷新、数据库写入和引擎执行共享同一台机器的 CPU 与内存,当测试步骤密集或并行测试多个 UUT 时容易丢帧或超时。

分布式部署把引擎与 UI 分离。操作员工位只运行 UI,通过 TestStand 服务调用远端引擎执行序列,测试结果回传 UI 并写入中央数据库。这种模式适合多工位共享测试资源(如共用一台高精度源表或示波器)的场景。关键配置点是远程执行授权、网络延迟容忍度和引擎实例数。若多个工位同时调用同一引擎,需要评估引擎的并发执行能力,必要时为每个工位分配独立引擎实例。

产线级部署在分布式基础上进一步引入集中管理:序列文件统一存放在版本库或共享目录,部署工具生成标准镜像,各工位通过脚本自动拉取并还原;许可证由许可证服务器统一分配;测试结果集中写入 MES 或数据库。产线级部署的核心不是技术复杂度,而是一致性与可追溯性——任何一台工位的序列版本、代码模块版本、配置文件都必须可查、可回滚。

2.3 许可证与运行时授权

TestStand 的许可证分为开发许可证、调试/部署许可证和运行时许可证。开发许可证允许使用序列编辑器和全部调试功能;调试/部署许可证允许在目标机上运行和调试序列,但不能编辑;运行时许可证只允许执行已部署的序列,不能打开序列编辑器。量产工位通常只需要运行时许可证,成本最低,但要注意:如果工位需要现场修改阈值或调整步骤参数,就必须使用调试/部署许可证,否则操作员无法保存修改。

许可证的分配方式有两种:本地授权和网络授权。本地授权把许可证绑定到单台机器,适合工位数量少、变动少的场景;网络授权通过许可证服务器动态分配,适合工位数量多、需要灵活调配的场景。无论哪种方式,都建议在部署前确认许可证数量与工位数量、并发引擎实例数的匹配关系,避免产线开线时因授权不足导致引擎无法启动。

2.4 量产环境安装与配置策略

量产环境的安装不能依赖手工点击。推荐的做法是:在工程机上完成 TestStand、驱动、代码模块和序列文件的完整配置,使用部署工具生成镜像;在目标机上通过脚本静默安装 TestStand 运行时、还原镜像、注册许可证、配置数据库连接和 UI 启动参数。以下是一个部署检查清单的示例,字段可根据实际产线调整。

检查项 示例值 / 要求 判断依据
TestStand 版本 2021 SP1 或项目锁定版本 与开发机一致,避免序列兼容性问题
许可证类型 运行时许可证 × 工位数 引擎启动无授权报错
序列文件版本 v2.3.1(与 MES 工单绑定) UI 启动后显示版本号与工单一致
数据库连接 指向产线中央数据库,超时 5s 单条结果写入延迟 < 200ms
UI 启动参数 工位号、产品型号、操作员登录方式 界面标题与工位物理标识一致
代码模块路径 DLL 与 VI 均使用相对路径或环境变量 换机还原后无需手工改路径
部署完成后,建议用一条“黄金序列”做冒烟测试:包含一个必然 Pass 的步骤、一个必然 Fail 的步骤和一个需要人工确认的步骤,分别验证引擎执行、UI 判定和数据库写入三条链路是否正常。冒烟测试通过后再接入真实产品测试。

最后需要强调的是,部署规划不是一次性工作。产线换型、产品升级、TestStand 版本更新都会触发重新部署。因此,序列文件、代码模块、配置文件和部署脚本都应纳入版本管理,每次部署记录版本号、部署时间和操作人。这样在出现测试结果异常时,才能快速定位是序列逻辑问题、代码模块问题还是部署环境问题。