验证与确认(V&V)工程师构建了各种类型的测试系统。随着越来越多的设备设计具有软件控制的内置智能,不断增加的产品复杂程度超出了复杂的机械设计。一些团队必须迅速改变或更新他们的测试系统,才能应对不断增加的复杂性,而另一些团队发现他们必须同时为传统测试系统和新测试系统提供支持。测试系统的类型包括较简单的工作台、复杂的硬件在环(HIL)系统,各式各样。然而,每种系统类型的共同点是,必须采集和记录数据,这些数据可以反映出产品的性能如何。
产品复杂性之所以增加,是因为技术进步是一种竞争优势,如果公司能比其竞争对手更快地进入市场,就能从中获益。这种时效性给V&V工程师增加了额外的压力,他们在设计新测试系统时,包括开发新的测试软件和程序时,都会感受到时间的限制。因此,可以理解为什么工程师会感到仓促。但当时间少了,我们就会优先考虑风险,而不是质量(除非我们是在一个规范的市场中)。不过,我们应该考虑如何通过实现构建、管理和维护测试系统方法的标准化来提高效率。这个途径不仅保证了速度,还可避免影响质量。
谈到提高测试系统的相关效率时,我们需要首先来看看当前所做的工作。因为V&V测试团队经常要测试产品的各种版本或完全不同的产品,他们需要做好准备,构建全新的测试系统,从而测试具有各种要求和规格的产品。较新的产品可能是用控制设备本身的软件构建而成。在真正的工业物联网(IIoT)结构中,产品需要收集并向网络发布信息。较旧的产品可能以电气和机械功能为基础,又或许只具备机械功能,没有任何电气组件。
归根结底,无论您的设备是否先进,是否使用前沿技术,是否根据久经考验的电气和/或机械工程设计构建,都不重要。所有的产品在投入生产之前都需要在V&V阶段进行验证和检验。进行V&V测试的时间取决于几个因素。是否需要满足产品上市时限?设计团队的时间安排是否出现了延误?也许V&V测试中发现了一些设计问题,导致板卡需要重新设计和重做,使时限推迟了数月。随着时限越来越紧迫,所有相关压力迫使我们跳过测试计划中原本设定的测试步骤,让质量处于风险之中。
创新的速度必须而且确实在继续加快。但是,测试团队可以使用的资源却依然如故,甚至还有下降趋势!很遗憾,这不足为奇。这依旧是造成我们最终变得被动,争相构建测试系统的主要原因之一。
要掌握主动权,我们必须了解系统构建、管理和维护的方式。被动测试团队的重要标志之一是具有许多的“定制”测试系统和测试台。换句话说,对于这些测试系统和测试台,要在不同的设置之间复用设备或改变其用途难比登天,因为这很复杂,需要花费很长的时间。另一个标志是具有“多次构建”的测试系统。 若您的测试工程师技能广泛,他们可能会很好地优势互补,但有时如果最初的构建者已经离开,那么重建测试系统比花时间了解其当前的状态会更快。
虽然对于组织中这样的情况,您可能已经习以为常,但这正是实现标准化的好机会。实现标准化后,离掌握主动就更近了一步。
从建立全新测试系统到维护一组系统,标准方法有很多的优势:
宏观来看,标准方法可以提高团队的效率。但当然,我们还需要考虑其他因素。如您所想,我们可以将其分为两类:硬件和软件。我们来看看可以从哪里入手,以及为成功实现测试系统标准化,我们需要考虑哪些事项。
观察一下所有的测试系统,您可能会发现,虽然我们需要实现标准化来提高效率,但还要考虑到众多系统的差异性。
从硬件的角度来看,灵活性、可扩展性和方法对测试系统效率有重要影响。
V&V测试通常在复杂程度各异的系统上执行。一方面,您可能需要一个开环控制和测量系统,使用户可以控制测试并根据需要开始和停止。而另一方面,您可能需要高度复杂的自动化系统来进行HIL/嵌入式软件测试。
为了实现效率的提高,应考虑上述需求。您选择的方法应该要同时满足这两方面的需求。随着新技术的发展,这一点变得更加重要,同时催生出了对新类型测量的需求。
标准的方法必须具有灵活性,可以囊括各种类型的现有测量,并随着技术的进步不断增加新功能。这可确保您的系统随时可用,而且您的V&V测试团队也不必在每次技术革新时重新学习新的方法。反过来,这也提高了效率,消除了集成新设备和不同设备的相关障碍。
我们无法预测5年后会出现怎样的产品功能,更不用说10年后的情况了。然而,我们往往会期望设备能够持续使用5年或10年。因此,可扩展性变得极为重要,对于V&V测试团队尤为如此。
我们不仅会使用一些极其昂贵的设备,而且集成起来也可能很复杂。即使不做一些复杂的事情,比如只是需要扩大测试台,以便将能够测试的设备数量从2台提升至8台,如果您没有选到一个容易扩展并支持快速集成和同步其他通道的平台,那么这种扩大规模以处理更多设备的情况也十分具有挑战性。
在V&V中,选择构建系统所依托的平台和方法时,必须考虑系统的可扩展性。选用合适的方法能让您迅速适应、集成和扩展自己的系统,并拥有更多的通道,进而提高效率。这应该是您策略的重要一环,您可以在初期节省成本,但要确保在未来有系统扩展需求时,能够轻松实现。
我们已经讨论了标准化如何能轻松实现用途改变和复用,但备件也很重要。当时限缩短后,您很难在测试前一周或几分钟发现某台设备需要校准或不能按计划运作。此时,您必须争分夺秒地去找一块新板卡,测试就可能会被推迟。在实现硬件方法和平台的标准化时,您需要在成本和平台方法之间找到合适的平衡点,通过备件策略确保拥有正常运行时间。从根本上来说,这意味着您的选择必须支持广泛的设备类型和功能,并具有高质量和高精度。
我们并非总能找到一种方法和平台来提供所有的功能,满足各种测试的需要。在这种情况下,要考虑您是否有同步、定时和吞吐量的要求,并确定将不同类型的设备集成到一个系统中的复杂程度。平台越开放,就越有可能在不影响效率和时间的情况下灵活地集成其他设备。
标准化面临的最大风险是所选方法或平台在未来不能扩展,无法为您提供支持。最后,您选择的策略需要适合您的团队;在开始标准化之旅前,做一个彻底的评估往往十分有益。
与硬件考虑因素一样,在实现软件方法标准化时,测试的复杂性也很重要。对于不太复杂的测试,您可能会发现自己需要可控制硬件输出并测量硬件输入的一站式软件。借助这种类型的软件,测试工程师能够专注于实现正确的硬件,并更快地构建测试台。然而,随着扩展,测试会在未来某个时刻变得非常复杂,使得工程师必须构建自动化测试系统,该系统需要通过具有不同内部依赖关系的测试程序运行。这种需求增加了大量的时间。
测试工程师在测试复杂的产品时,需要运行许多不同的场景,他们选择构建自动化系统,只是因为如果手动运行所有的测试,需要的时间太长。编写测试程序和例程现在已成为他们工作不可或缺的一部分。在斟酌团队的技能时,您可能会发现他们对不同类型的软件和编程语言熟练程度不同。然而,正如前面所述,如果您没有一个统一的方法,那么随着时间的推移,管理和维护测试系统会愈加困难,甚至无法进行。
当您开始思考软件方法时,可能会反复听到框架这个词。如果您有一个开放的框架,并且在构建时考虑到了扩展性,就可以避免每次构建新测试系统时团队中的每个人重复构建相同基础组件的情况。我们经常会忘记我们其实为每个测试系统构建了同样的基础组件,因为它“隐藏”在软件中。然而,对于软件来说,这就是真正能提高效率的地方。
理想情况下,在不太复杂的测试中,您的软件方法需要支持快速的传感器配置和数据记录,而无需开发任何代码。但在需要开发时,则需要一种可为工程师提供框架的开放式方法。测试工程师需要能够更快地开发、调试和部署测试,将用多种不同语言编写的测试代码直接集成到框架中。此时,您很可能会尝试实现测试自动化,所以您也需要考虑集成不同类型硬件的难易程度,这样就不会得到一个限制使用所需硬件的框架。
总的来说,标准化就是为了提高效率,并降低风险。您需要确保软件和硬件的方方面面都能协同工作,无缝集成。如果您所选硬件的驱动程序不支持您所选的软件方法,就无法实现所需的效率提升。同样,如果您的软件方法开放程度不够,需要针对不同语言进行返工,需要创建包装器来执行代码,那么随着新仪器的加入,其维护和管理就会变得过于复杂。归根结底,您需要找到适合两者的理想方法,确保在软件和硬件平台上实现标准化,易于集成,可以扩展。
系统不是标准化的全部,流程和数据也至关重要。执行标准化时,正确的数据不仅可以为您提供有关产品性能的宝贵见解,还可以提供关于整个测试环境的重要见地。在对流程执行标准化时,您可以发现当前的瓶颈所在,哪些工作流程可以改进,以及目前手动完成的哪些步骤可以实现自动化。
正如我们所介绍的,通过实现构建、管理和维护系统方式的标准化,您可以在很多方面实现效率提升。NI的软件和硬件解决方案在开发时已经考虑到了高质量、开放性、可扩展性和灵活性等因素,因此,即使您认为自己必须在软件或硬件方法上做出妥协,您也可以利用所拥有的基础组件,在更短的时间内构建出一个框架和标准方法。根据每位团队成员的技能和熟练程度构建,并将其整合在一个通用框架中,从而提高工作效率,更加无缝地实现标准方法。