TestStand​ 开发​系统​的​验证​与​确认【7】

概览

产品​测试​一直​以来​都​面临​着​一个​挑战,​即​确保​测试​系统​设计​的​正确​性​且​能够​继续​正常​运行。​开发​测试​系统​时,​工程​师​会​创建​测试​程序​并​设置​测量​限​值,​以便​正确​检测​有​缺陷​的​产品。​确定​测试​方法​后,​必须​先​对​测试​系统​本身​进行​测试,​确认​软件​和​硬件​能够​正确​执行​任务。​执行​验证​与​确认​(V&V)​过程,​可​顺利​确保​测试​系统​得到​正确​开发​并​达成​其​预期​用途。

​V&V​主要​影响​受​ISO​或​FDA​规程​约束​的​企业,​例如​制造​药品、​医疗​设备​或​汽车​和​航空​用品​的​企业。​由于​此类​产品​对​健康​和​安全​至​关​重要,​因此​这些​行业​受到​正式​监管,​包括​完成​明确​的​V&V​过程。​一些​公司​出于​降低​成本​或​竞争​目的,​自愿​执行​正规​V&V​过程。​如果​公司​的​竞争​力​取决​于​质量​或​可靠性,​那么​为​正规​V&V​过程​投资​势必​会​带来​回报。

​NI TestStand​软件​通过​提供​具备​明确​定义​的​组​件​的​模​块​化​架构,​满足​测试​系统​的​各种​需求,​从而​帮助​工程​师​开发​有效​的​测试​系统。​TestStand​组​件​的​这种​分离​有助​于​V&V​工作​的​开展,​因为​每​个​组​件​的​需求​可​单独​进行​定义。

​本文​档​讨论​了​适用​于​通过​TestStand​开发​的​测试​系统​的​V&V。​本文​档​涵​盖​以下​主题:

​• 定义​适用​于​TestStand​的​验证、​确认​和​影响​分析​的​概念。

​• 探讨​TestStand​的​组​件​及其​如何​帮助​简化​V&V​工作。

​• 介绍​V&V​的​通用​最佳​实践。

内容

  • 确认、​验证​和​影响​分析
  • 记录​和​收集​需求
  • 利用​TestStand​应对​V&V​挑战
  • 确认​测试​系统​更新

确认、​验证​和​影响​分析

在​讨论​验证​与​确认​的​最佳​实践​之前,​请​务必​先​了解​这些​概念​之间​的​区别​以及​它们​如何​应用​于​测试​系统。


确认

在​开发​任何​测试​系统​时,​首先​都​需要​了解​和​记录​测试​需求。​要​定义​这些​需求,​应​从​待​测​设备​(UUT)​的​规范​入手,​并​编制​测试​需求,​确保​检测​出​待​测​设备​中的​所有​缺陷。​在​开发​过程​的​这​一​阶段,​至​关​重要​的是​要​确保​测试​需求​全面​体现出​待​测​设备​的​所有​故障​情况。“确认”是​指​确保​测试​系统​能够​实现​原定​用途​的​过程。

确认是​评估​系统​是否​真正​实现​其​目的​或​用途​的​过程。

整个​测试​开发​过程​都​必须​进行​确认,​但​首先​应当​从​需求​收集​阶段​开始,​因为​在​项目​生命​周期​的​早期,​任何​缺陷​都​更​容易​得到​解决。​确认​可能​包括​正规​的​通过/​失败​测试​程序,​也​可能是​与​客户、​用户​或​患者​一起​进行​的​主观​可用性​研究​形式。​确认​通常​涉及​一些​主观​需求,​例如“拒绝​有​缺陷​的​产品”或“界面​简单​易​用”。​在​可能​的​情况​下,​您​应该​定义​更​详细​的​较​低​级别​需求,​充分​体现​这些​主观​陈述,​从而​确保​所有​参与​方​就​目标​达成​一致。

验证

详细​的​测试​需求​编制​完成后,​测试​开发​人员​就​可以​设计​和​实现​满足​这些​需求​的​测试​系统。​完成后,​工程​师​必须​确保​测试​系统​满足​所有​定义​的​需求。“验证”是​指​确保​测试​系统​正确​满足​特定​需求​的​过程。

验证是​用于​确定​测试​系统​是否​根据​设计、​图纸、​工作​说明​书​或​其他​类似​准则​中​规定​的​规范​而​构​建​的​过程。

验证​测试​应​在​产品​开发​的​几个​重要​阶段​进行。​既​可以​在​整个​系统​上​整体​进行,​也可以​在​测试​系统​的​较​小组​件​上​进行。

为了​说明​验证​与​确认​之间​的​区别,​我们​假设​测试​部门​构​建​了​一个​简单​的​测试​装置,​用于​测量​待​测​设备​(UUT)​的​电流​消耗。​测试​系统​必须​将​待​测​设备​电源​引​脚​的​电流​测量​值​与​要求​待​测​设备​电流​消耗​少​于​500mA​的​测试​限​值​进行​比较。​为了​解决​这个​问题,​测试​开发​人员​定义​了​一个​需求:“待​测​设备​全​功率​运行​时​电流​不得​超过​500 mA”。​然后,​开发​人员​使用​规定​的​硬件,​设计​和​实现​一个​测试​装置​来​进行​这项​测量,​并​创建​一个​测试​用例​来​检查​提供​全​功率​后​待​测​设备​的​电流。

为了​进行​测试​系统​的​验证,​开发​人员​需要​验证​系统​是否​以​可​接受​的​重复​性​正确​进行​了​测量,​且​在​功率​超过​500 mA​时​出现​故障。​如果​测试​系统​的​行为​符合​需求,​则​验证​通过。

但是,​制造​过程​中​存在​一个​故障​模式 — 反向​安装​的​二极管​可能​会​导致​电路​的​某些​部分​无法​激活,​从而​导致​150 mA​的​过​低​电流​消耗。​由于​测试​系统​仅​测试​了​最大限​值,​因此​未​将​这些​问题​报告​为​故障,​而​故障​设备​可能​会​被​正常​交付。​尽管​已​根据​规范​正确​构​建​了​测试​系统,​但​该​系统​未​达到​既定​目的,​因此​无法​通过​确认。​必须​将​规范​和​测试​系统​修改​为​包含​一个​测量​上限​值​和​一个​测量​下限​值,​例如​400-500 mA。

如果​根据​正确​编制​的​规范、​工程​图​或​工作​说明​书​进行​系统​验证,​则​相对​容易​一些,​且​测试​方法​非常​简单,​能够​轻松​发现​缺陷,​但​正如​上述​示例​所​示,​确认​工作​可能​更​具​挑战​性。


影响​分析

测试​系统​完成​确认​与​验证​并​投入​使用​后,​可能​需要​对​系统​进行​更改​或​更新。​这些​更新​可能是​出于​维护、​维修​或者​试图​改善​或​纠正​系统​性能​的​目的,​例如​更换​故障​的​仪器​或者​修改​算法​或​设置。​对​系统​进行​更改​时,​请​务必​了解​测试​系统​的​哪些​部分​必须​经过​重新​确认,​才能​确保​这些​更改​不会​导致​缺陷,​而​这​一​过程​称为“影响​分析”。 

影响​分析是​确定​哪些​测试​系统​组​件​受到​一系列​所​做​更改​影响​的​过程。

进行​详细​的​影响​分析​非常​重要,​因为​更改​可能​导致​系统​异常​运行​且​不易​被​发现,​并​可能​导致​产品​召回、​生产​停工​或​对​业务​的​其他​干扰。​更改​还​可能​导致​系统​在​正常​运行​的​情况​下​影响​结果​或​测试​结果,​并​导致​对​受​试​产品​做出​错误​决定。​如果​某些​更改​未​被​注意到​或​确认​存在​错误,​可能​需要​付出​巨大​代价。​在​某些​行业​中,​如果​发​运​有​缺陷​的​产品,​可能​最终​会​导致​产品​召回。​FDA​保留​采取​监管​措施​的​权利。 

为了​减轻​更改​对​系统​的​影响,​请​务必​以​模​块​化​方式​设计​测试​系统,​这样,​对​某​个​组​件​的​更改​才不会​影响​其他​组​件。​为此,​必须​确保​每​个​组​件​与​其他​组​件​完全​分离,​并​采用​独立​的​确认​程序。​例如,​可以​引入​硬件​抽象​层​(HAL)。​硬件​抽象​层​提供​了一​组​与​硬件​交互​的​标准​函数。​HAL​定义​的​函数​可以​独立​于​测试​系统​的​其他​部分​进行​确认。​如果​用户​进行​硬件​更改,​影响​将​仅​限于​HAL​层,​因为​用户​可以​在​更改​后​验证​HAL​函数​是否​具有​相同​的​行为。

确认​与​验证​行业​标准

许多​行业​都有​明确​定义​的​V&V​指导​原则,​而且​这些​原则​都是​依照​各类​规范​(例如​《生产​质量​管理​规范》​(GMP))​或​法规​(例如​ISO-9000、​FDA​的​21 CFR​或​IEEE​标准)​制定​而​成。​每​个​V&V​系统​都很​类似,​只是​使用​略有​不同​的​术语​来​解释​这​两​个​过程​的​通用​需求,​但​通常​不会​定义​具体​的​需求。​本文​档​探讨​了​自动​化​测试​系统​的​V&V​过程。

FDA 21 CFR​中​与​医疗​器械​相关​的​确认​需求​含糊不清,​包括​规定​医疗​器械​必须​经过​确认​符合​用户​需求​和​预期​用途​的​表述​也是​一样,​因此​质量​系统​经理​必须​定义​需求​并​监督​确认​测试。​对于​测试​系统,​定义​确认​测试​的​方法​可以​很简单,​例如,​跟踪​已知​故障​模式​和​提供​优​劣​产品​样本​有助​于​确保​系统​检测​到​已知​缺陷。​另​一种​方法​则​可能是​使用​值得​信赖​的​人工​测试​程序,​也​可能是​纳入​另​一个​自动​化​系统​来​确认​新​测试​系统​的​结果。 

某些​确认​实例​必须​格外​周密,​例如​关于​航空、​制药​和​医疗​设备​行业​的​确认,​因为​确认​过程​涉及​安全​性、​质量​或​成本​的​极端​情况。​周密​的​系统​确认​可能​需要​数​周​或​数​月​才能​定义​并​执行。​例如,​如果​测试​系统​使用​16x32​配置​的​开关​矩阵,​则​测试​工程​师​可以​使用​连续​性​测试​系统​来​测试​每​种​可能​的​连接​组合,​并​确保​绝​无​受限​连接。​再​例如,​确认​通信​系统,​此​系统​中​每​个​可能​的​命令​和​命令​序列​都​必须​经过​测试​和​确认。​尽管​这种​确认​过程​看似​极端,​但​我们​必须​确保​系统​在​任何​情况​下​不会​导致​损坏、​伤害​或​错误​结果。

记录​和​收集​需求

V&V​过程​以​明确​定义​的​规范​为​中心。​确认​也​可能​会​遇到​一些​客观​问题,​例如​市场​或​最终​用户​定义​的​宽​泛​需求。​对于​任何​测试​系统,​最​重要​的​第​一步​都是​研究​并​记录​良好​的​工作​规范​和​V&V​需求。​如果​规范​不够​具体、​留有​解释​空间​或​模棱​两​可,​则​很​难​确保​测试​系统​的​完整性。​如果​审核​员​或​观察​员​发现​没有​记录​或​实施​不​正确​的​情况,​可以​停止​测试。​要​轻松​完成​V&V​过程,​必须​认真​执行​经过​精心​编制​的​规范。

验证​过程​需要​一份​或​多​份​设计​文​档​或​图纸​来​控制​系统​必须​达成​的​效果。 文​档​和​图纸​可能​涉及​一个​组​件、​装置​或​整个​系统。​验证​的​规范​和​测试​方法​必须​是​详尽​的​文​档,​其中​应​提供​尽可能​多​的​信息,​以便​能够​创建​正确​的​测试​系统。

确保​记录​规范​的​任何​变更,​无论​这类​变更​是​客户​或​工程​师​提出​的,​还是​在​学习​和​了解​过程​中​发现​的。​采用​工程​变更​通知​单​流程​记录​变更​和​原因,​正式​记录​变更。​只有​在​将​说明、​设置​和​测试​限​值​与​正确​的​文​档​相​匹配​时,​验证​才能​通过。 

设计​确认​测试​通常​比较​主观,​它​更像​是​一​门​艺术​而​非​一​门​科学,​尽管​智慧​和​经验​似乎是​确认​设计​的​唯一​工具,​但​请​记住,​收集​需求​也能​揭露​问题​且​非常​有用。​具体​的​方法​包括​审查​其他​测试​装置​或​产品​的​过往​性能、​访问​操作​员​及其​主管,​以及​研究​过去​的​测量​数据。​如果​一家​公司​通常​将​测试​外​包给​测试​系统​集成​商,​则​应​针对​每​个​项目​进行​详细​审查,​找出​能​让​未来​项目​更加​成功​的​方法,​并​将​这些​方法​运用​到​下​一个​项目。

利用​TestStand​应对​V&V​挑战

TestStand​建立​在​模​块​化​的​架构​上,​具备​许多​分离​式​组​件,​包括​TestStand​引擎、​过程​模型、​测试​代码​和​用户​界面。​这种​架构​可以​更​轻松​地​独立​分析​每​个​组​件,​对于​V&V​工作​很有​帮助。​此外,​由于​影响​通常​仅​限于​单​个​组​件,​因此​如果​对​现有​测试​系统​进行​了​更改,​只需​少量​的​重新​确认​工作。

TestStand​的​模​块​化​架构​允许​单独​验证​和​确认​每​个​组​件,​并​减少​更改​对​整个​测试​系统​的​影响。

在​设计​测试​系统​时,​务必​考虑​到​验证​与​确认,​并​思考​如何​构​建​能​简化​相关​工作​的​系统。​以下​几节​提供​了​在​考虑​V&V​的​情况​下​设计​测试​系统​组​件​的​最佳​实践。

设计​序列​文件

在​开发​测试​序列​时,​请​牢记​以下​目标:

  • 利用​功能​逻辑​块​的​子​序列​来​实现​功能​的​组​件​化。
  • 减少​步骤​之间​的​交互,​从而​减轻​单​个​步骤​更改​对​测试​系统​的​影响。

关注​这些​目标​能​更好​地​跟踪​需求​在​测试​代码​中​是​如何​满足​的,​并​能​减少​单​个​步骤​更改​导致​的​影响。 

使用​单独​的​步骤​与​步骤​设置

在​定义​步骤​的​某​项​条件​时,​请​考虑​该​条件​是否​会​应用​于​多个​步骤。​在​TestStand​环境​中​使用“If/​Else”或“Case”步骤​来​实现​逻辑​更​为​直观、​可​扩展​且​可​修改,​从而​运行​不同​的​选项,​并​按照​条件​添加​多个​步骤。​但是,​它们​引入​了​测试​步骤​和​流​控制​之间​的​关系。​对于​始终​会​应用​于​单​个​步骤​的​逻辑,​可​使用​前提​条件,​从而​将​逻辑​和​步骤​添加​到​单​个​组​件​中。
在​测试​代码​中​实施​切换​时,​请​使用​类似​的​方法。​针对​应用​于​单​个​测试​的​路线,​可​使用​步骤​切换​设置,​从而​通过​测试​代码​来​实现​测试​功能​的​组​件​化。​对于​影响​多个​步骤​的​切换,​在​序列​中​使用​切换​步骤​更​为​直观,​还​能​让​该​序列​更​具​可读​性。


使用​子​序列​实现​模​块化

要​将​内​置​步骤​设置​的​组​件​化​优势​与​使用​单独​步骤​的​可​扩展​性​相​结合,​可以​创建​子​序列​来​封​装​相关​的​步骤​集。​通过​在​单独​的​序列​文件​中​包含​此类​序列​的​集合,​可以​有效​地​创建​一个​序列​文件,​该​序列​文件​是​一个​函数​库,​可以​独立​进行​确认​并​在​多个​测试​应用​程序​之间​共享。
此外,​测试​序列​应当​几乎​完全​由“序列​调​用”步骤​组成,​每​个​步骤​都​对​测试​进行​逻辑​分组。​子​序列​的​组织​应​映射​到​测试​规范,​其中​较​高级​别的​需求​(例如“系统​应​测试​设备​的​音​频​功能”)​应​映射​到​测试​中的​序列,​而​较​低​级别​的​支持​需求​(例如“最大​音量​不得​超过​80 dB”)​应​映射​到​序列​中的​步骤。


减少​多个​步骤​之间​的​依赖​关系

当​步骤​需要​使用​上​一步​中​获得​的​数据​时,​也可以​引入​步骤​之间​的​依赖​关系。​避免​使用​PreviousStep​属性​直接​访问​另一​步骤​中的​数据,​而​应​使用​局部​变量​来​存储​第​一步​中的​数据,​然后​在​后​续​步骤​中​使用​该​变量。

还​应​确保​在​执行​测试​之前,​每​个​步骤​都​独立​设置​或​验证​是否​设置​了​所需​条件。​例如,​如果“音​频​音量​测试”步骤​包括​了“低”、“中”和“高”音量​的​音量​测试,​而​随后​的​步骤​会​执行​必须​在“中”音量​下​进行​的​音​频​质量​测试,​那么​在​执行​之前,​应​确保​将​音量​设置​为“中”。​这样​可以​确保​两​个​测试​均​独立​进行:​对​音​频​音量​测试​进行​更改​不会​影响​音​频​质量​测试。


记录​测试​序列

要​充分​满足​规范​中的​所有​需求,​最​重要​的是​清晰​地​记录​序列​文件。​但​应​避免​记录​重复​信息,​例如​限​值​或​测试​参数。 

步骤​名称​和​描述​可​用于​记录​步骤​的​用途。​步骤​名称​应​描述​该​步骤​执行​的​操作​以及​执行​该​操作​的​原因,​但​不​应​包含​该​步骤​中​定义​的​参数​值。​例如,​不要​将​步骤​命名​为“等待”(Wait),​而​应​命名​为“等待​系统​重​启”(Wait for system to boot)。​如果​名称​需要​更多​信息,​请​使用​步骤​的​Description​属性​来​指定​其他​详细​信息。

将​TestStand​与​NI Requirements Gateway​集成​在一起,​也可以​有效​跟踪​实际​测试​代码​中​需​满足​需求​的​情况。​借助​NI Requirements Gateway,​可以​快速​查看​满足​了​哪些​需求,​并​能​导航​至​满足​该​需求​的​步骤,​从而​加快​验证​过程。

NI Requirements Gateway​可在​需求​文​档、​测试​序列​和​测试​报告​之间​创建​关联,​确保​满足​所有​需求

借助​可​用于​步骤、​序列​和​序列​文件​的“Requirements”字​段,​可​提供​所​满足​需求​的​相关​信息。​结合​使用​NI Requirements Gateway​与​这些​字​段,​可在​需求​文​档​和​测试​代码​之间​创建​映射,​从而​快速​了解​满足​需求​的​情况。 


“Requirements”字​段​可​用于​将​步骤、​序列​或​序列​文件​映射​到​规范​文​档​中的​具体​需求

有关​将​NI Requirements Gateway​与​TestStand​结合​使用​以​跟踪​需求​的​更多​信息,​请​参见《结合​使用​NI Requirements Gateway​与​NI TestStand》​教程。

开发​独立​的​代码​模块

TestStand​步骤​会​调​用​代码​模​块,​以便​与​仪器​和​自动​化​硬件​进行​通信。​代码​模​块​可以​用​多种​语言​实现,​包括​LabVIEW、​C​+​+或​C#。​由于​TestStand​在​步骤​和​代码​模​块​之间​提供​了​自然​边界,​因此​有利​于​编写​可​独立​于​TestStand​序列​进行​测试​和​确认​的​代码​模​块。 
为了​确保​能​在​测试​序列​之外​测试​代码​模​块,​请​避免​使用​SequenceContext​或​其他​TestStand​引用​直接​访问​数据,​而​应当​通过​参数​将​数据​传递​到​代码​模​块​中。​对于​需要​使用​SequenceContext​的​情况​(例如​实现​终止​监视​器),​应​设计​代码​模​块,​使​其​无​需​TestStand​专用​代码​即可​运行。​在​LabVIEW​代码​模​块​中,“非​引用”函数​可​用于​在​使用​SequenceContext​之前​检查​其​是否​有效。

使用​独立​的​可​执行​代码​模​块,​可​设计​能够​循环​代码​模​块​并​传递​所有​输入​参数​置换​的​测试​装置。​然后,​测试​装置​可以​将​结果​与​已知​正确​结果​进行​比较,​从而​确认​代码​模​块​的​行为​是否​符合​预期。

使用​插​件​更改​过程​模型

TestStand​过程​模型​会​处理​并非​特定​于​待​测​单元​的​测试​功能,​包括​待​测​设备​跟踪、​报表​生成、​数据​库​记录,​以及​批量​测试​或​并行​测试。​TestStand​附带​的​过程​模型​很​复杂,​因此​对​这些​模型​进行​更改​需要​大量​的​确认​工作。 

过程​模型​使用​插​件​架构,​该​架构​可​实现​默认​的​报表​生成​和​数据​库​记录​功能。​此​架构​可​用于​扩展​现有​过程​模型​的​功能,​而无​需​更改​过程​模型​序列​文件​本身。​为此,​应​创建​一个​自​定义​插​件,​在​单独​的​插​件​序列​文件​中​实现。​此​插​件​的​行为​可​单独​确认。


过程​模型​插​件​是​独立​于​过程​模型​文件​的​组​件,​可以​单独​进行​确认

如果​需要​直接​在​过程​模型​中​更改​功能​(例如​更改​模型​收集​待​测​设备​序列​号​的​方式),​请​考虑​禁用​过程​模型​中​实现​当前​功能​的​步骤,​然后​创建​一个​单独​的​插​件​来​实现​新​功能。​通过​使用​这种​方法,​未来​对​自​定义​行为​所​做的​更改​可以​仅​限于​插​件,​这样​将​更易​于​重新​确认。 

如需​了解​更多​关于​如何​自​定义​过程​模型​和​插​件​的​信息,​请​参阅《NI TestStand​过程​模型​开发​和​自​定义​的​最佳​实践》​文​档。

管理​测试​设置​和​配置

在​开发​测试​系统​时,​请​务必​确保​所有​TestStand​设置​在​执行​测试​的​所有​工作站​上​都​相同,​并且​在​未经​相应​更改​确认​的​情况​下​未​做​修改。​但是,​由于​许多​TestStand​组​件​具有​单独​的​设置,​因此​很​难​确保​不存在​任何​更改。​除了​TestStand​设置​外,​还​必须​确保​多个​测试​系统​的​仪器​设置​一致。​仪器​设置​可以​包括​在​NI Measurement & Automation Explorer (MAX)​中​进行​的​NI-​DAQmx​设置,​或​设备​的​GPIB​和​COM​设置。​此类​设置​数​不胜​数,​因此​确认​测试​很​难​设计。

确保​设置​正确​的​方法​之一​是在​测试​序列​中​以​编​程​方式​进行​设置,​然后​查询​每​个​设置​以​确保​仪器​或​程序​接受​该​设置。​如果​无法​查询​设置,​请​找到​设置​的​存储​位置,​然后​从​文本、​INI​或​XML​文件​读​取​设置。​系统​可以​验证​并​记录​TestStand​外部​项目​的​状态,​并​使​其​处于​受​控​状态。

使用​源​代码​控制​工具​管理​文件

管理​设置​的​另​一种​方法​是​严格​控制​包含​设置​的​文件。​存储​所有​TestStand​设置​的​配置​文件​位于<TestStand Application Data>​Cfg目录​中。​对于​其他​设置,​请​参阅​产品​特定​的​说明​信息,​以​获取​有关​设置​文件​位置​的​信息
监视、​控制​和​存储​测试​系统​文件​的​行业​公认​方法​是​源​代码​控制​(SCC)​程序,​例如​Subversion、​Perforce​和​Microsoft Visual Source Safe。​许多​此类​程序​的​设计​初衷​都是​为了​符合​Microsoft SCC​界面,​并且​用户​可以​在​TestStand​或​LabVIEW​中​使用​这些​程序。​在​某些​情况​下,​如果​无法​获得​临时​所​有权​并​记录​以​保存​变更,​则​用户​无法​修改​文件。​这些​程序​通常​能​告知​哪些​文件​已​更改,​并​会​分析​旧​文件​和​新​文件​以​突出​显示​更改,​从而​帮助​简化​验证。

文件​校​验​和​也​可​用于​确保​设置​文件​的​已​确认​状态​未​改变。​要​使用​这种​方法,​可以​添加​相应​的​步骤,​将校​验​和​与​为​确认​文件​值​计算​的​校​验​和​进行​比较,​如果​两者​不​匹配​则会​生成​测试​故障。  

确认​测试​系统​更新

除了​测试​系统​之外,​请​务必​确保​支持​测试​的​所有​硬件​和​软件​都​处于​已知​且​已​确认​的​状态。​本​节​介绍​了​维护​系统​状态​的​方法,​以及​在​必要​时​应用​更改​的​方法。


管理​硬件​配置

必须​为​系统​以及​每​个​单独​的​测试​正确​选择、​安装、​编​程​和​配置​仪器。​例如,​数字​万​用​表​(DMM)​或​示波器​包含​几​种​用于​进行​正确​通信​和​信号​采集​的​配置​选项,​这些​选项​必须​在​测试​系统​完成​时​进行​验证​和​确认,​并​在​未来​用于​硬件​更改。

创建​硬件​抽象​层​(HAL)​来​管理​硬件​交互,​这​有助​于​减少​对​测试​系统​中的​硬件​进行​更改​时​所需​的​重新​确认​工作。​与​测试​序列​中​采用​设备​特定​的​代码​模​块​不同,​抽象​层​可​将​测量​类型​和​仪器​特定​的​驱动​程序​从​测试​序列​中​分离​出来。​由于​测试​程序​通常​是​根据​仪器​类型​(如​电源、​数字​万​用​表​[DMM]、​模拟​输出​和​继电器)​而不是​具体​的​仪器​进行​定义,​因此​使用​抽象​层​有助​于​开发​更​容易​适应​新​仪器​和​需求​的​测试​序列。​HAL​就绪​后,​用户​可以​确认​新​硬件,​只需​确保​HAL​函数​在​一​组​测试​用例​中​产生​与​之前​硬件​相同​的​输出​即可,​而无​需​全面​测试​整个​测试​系统。​有关​使用​HAL​的​更多​详细​信息,​请​参阅《测试​系统​构​建​基础​知识:​硬件​和​测量​抽象层》。

在​运行​时​确认​硬件​也是​一个​好主意。​通过​在​运行​时​读​取​和​存储​设置​或​其他​因素,​可​确保​所有​必须​与​软件​一起​确认​的​项目​已​按​预期​配置​和​运行。​例如,​TestStand​步骤​可能​会​查询​仪器​的​校准​日期,​确保​校准​是​最新​的,​还​会​验证​连接​到​COM​端​口​的​仪器​型号​和​序列​号,​确保​仪器​未​被​更换。​在​设计​测试​序列​甚至​购买​仪器​时​牢记​这些​考量​因素,​这​有助​于​简化​V&V​过程。

如果​更改​硬件​不可避免,​则​必须​考虑​V&V​过程​中的​更改。​如果​一台​仪器​出现​故障,​然后​插入​另一​台​相同​品牌​和​型号​的​仪器,​请​思考​必须​完成​哪些​工作​才能​确认​这​台​仪器​运行​正常,​并​设计​测试​来​确保​更改​成功。​使用​可​互换​虚拟​仪器​(IVI)​驱动​程序​和​接口​进行​仪器​设置,​有助​于​简化​两​台​同​品牌​或​同​型号​仪器​的​转换,​或​两​台​不同​品牌​或​不同​型号​仪器​之间​的​转换。

管理​软件​配置

维护​测试​系统​时,​需要​考虑​升级​LabVIEW、​TestStand​或​任何​其他​程序,​以便​能够​使用​各种​新​功能。​进行​此类​软件​升级​通常​需要​重新​确认​和​重新​验证。​将​可能​的​升级​视为​投资​回报​(ROI)​的​一种​尝试。​例如,​要​获得​简化​的​开发​界面,​则​应​在​开发​过程​中​而不是​在​系统​部署​后​进行​升级。​但是,​与​最近​的​TestStand​升级​一样,​提高​执行​速度​可以​缩短​测试​时间,​提高​吞吐量​并​带来​更多​收入。​在​这​两​种​情况​下,​重新​确认​的​成本​都是​决定​因素,​但是​这样​的​投资​成本​也可以​带来​可观​的​回报,​因此​投入​资金​和​精力​势在必行。​通常​应​一次​完成​多个​软件​升级,​尽量​减少​软件​的​确认​次数。

要​在​测试​系统​上​维护​一套​一致​的​软件,​请​考虑​从​经过​确认​的​系统​上​创建​一个​基础​镜​像,​并​在​设置​新的​测试​站​时​使用​该​镜​像。​但是,​即使​在​使用​镜​像​时,​也​必须​确保​不​进行​软件​更新。​对于​National Instruments​软件,​请​确保​将​NI​更新​服务​配置​为​从不​自动​安装​更新。​默认​情况​下,​大​多数​计算​机会​自动​执行​Microsoft Updates。​Sun、​Apple​和​Adobe​等​其他​公司​也​使用​基于​Web​的​自动​更新。​在​任何​需要​完成​V&V​过程​的​系统​上,​必须​禁用​任何​自动​更改​和​升级。​自动​更新​进行​的​更改​通常​不可​预测,​并且​可能​会对​操作​和​设置​产生​未知​的​影响。 

IT​部门​可能​会​有​控制​公司​内​计算​机​的​常规​策略,​包括​使用​病毒​扫描​软件、​设置​安全​策略​(如​屏幕​保护​程序)​以及​根据​需要​安装​补丁​和​升级。​制造​部门​必须​与​IT​部门​合作​进行​管理,​确保​不对​TestStand​系统​进行​任何​更改。​务必​确定​哪些​更改​项​会​特别​影响​相关​的​计算​机,​但是​您​的​需求​可能​会​与​IT​策略​冲突,​例如​需要​删除​病毒​扫描​程序、​关闭​屏幕​保护​程序​以及​不​执行​全​公司​范围​的​升级​或​修补​安装。

本文转自:https://www.ni.com/content/ni/locales/zh-cn/support/documentation/supplemental/08/verification-and-validation-with-teststand.html

原文地址:https://www.cnblogs.com/YourDirection/p/13764306.html