软件分析和测试在工业自动化中发挥着至关重要的作用。虽然手动测试对于解决微妙问题,尤其是与人类安全相关的问题,仍然至关重要,但自动化测试在速度、可扩展性和成本效益方面具有明显优势,可确保自动化系统的可靠性。
整合自动化分析和测试协议使行业有能力提高生产力和产品质量,同时降低与人为错误相关的风险,因为纠正人为错误既耗时又成本高昂。
拥有稳健的架构验证流程是完善代码的基石,可使自动化变得高效、合规。它通过识别代码合规性偏差、潜在瓶颈和漏洞,帮助简化工作流程、改善数据流并提高整体性能。
麦肯锡的一份报告强调,制造商在推出工业 4.0 解决方案之前往往会陷入 "分析瘫痪"。当他们等待一个成熟的、理想状态的数据和 IT/OT(信息技术/运营技术) 架构被定义和实施时,他们就会错过一个经验证的且实用的最小可行架构所带来的更短的影响时间。
"互操作性和集成是关键考虑因素。自动化系统应与各种 IT 系统无缝集成,以促进数据传输、转换和协调,"数据与分析咨询、研究和教育公司 DBP Institute 的创始人兼管理负责人Prashanth H. Southekal说道。
Qt Group质量保证客户服务部门的Daniel Simon博士也表达了同样观点,他强调了维护软件架构的重要性:"如果不追踪软件架构,就会失去对复杂性的总体把握,从而遇到麻烦。由于软件会随着时间的推移而退化,可维护性也会降低,因此您有可能无法及时将产品推向市场。我们称之为'创新差距' —— 在某些时候,软件会达到无法处理的复杂程度。软件无法再更改。这是一种风险;您的竞争对手会向市场推出新系统,而您却被甩在了后面"。
架构验证和静态代码分析可以解决由于架构和软件侵蚀造成的差距,并加强控制以管理高级系统的复杂性。将架构验证与其他代码分析功能(如早期的指南检查和克隆检测与管理)相结合,可以大大减少在开发过程后期纠正样式和编码违规所需的时间和费用。Simon 解释说,由于软件错误不可避免,因此除了验证之外,及时更新对于保持系统平稳运行也至关重要。"两者结合在一起,可以帮助制造商管理整个软件生命周期"。
当静态代码分析与动态测试和代码覆盖率相结合时,测试策略就会演变成为仔细检查系统运行时并提供可量化数据的强大工具。正如 Qt Group质量保证工具高级业务开发负责人Jan Aarsaether 解释的那样:"代码覆盖率决定了测试覆盖源代码的哪些特定部分,更重要的是,决定了测试没有覆盖哪些部分。
它能提高测试策略的效率,优化资源分配,消除误报,最大限度地提高测试效果。
"归根结底,就是要更智能地进行测试,而不仅仅是更困难地进行测试。随着机器数量的增加和敏捷的DevOps工作方式,发布周期正在缩短,竞争变得越来越激烈,问题也在不断升级。如果不更聪明地工作,就无法做到这一点"。
常见的挑战包括集成在各种硬件上运行的更丰富的应用程序,处理不同硬件和平台供应商提供的多种操作系统和屏幕,以及由于敏捷DevOps风格的技术和流程而始终处于发布就绪状态。
数字化和流程自动化程度的增长导致了可见和不可见应用程序的激增,从而导致了行业内屏幕数量的激增。这些屏幕以前是机械按钮,现在已成为传感器或机器人的监控界面,工人通过与之交互来控制操作的各个方面。
引入新功能意味着在这些界面背后引入新软件,例如扩展用于监控生产流程的图形用户界面(GUI)。这种扩展增加了软件和屏幕的多样性,扩大了确保系统效率和可靠性所需的工作范围。
Aarsaether 说:"大多数进行自动测试的人都采用了工作方法。然而,功能测试也需要自动化,因为问题的范围(而不仅仅是工作量)正在成倍增加。手动测试作为自动化功能测试的替代方案已不再可行,因为您会在流程后期才发现问题,而此时解决问题的难度和成本都会增加。”
静态代码分析、代码覆盖率分析和GUI测试等方法不仅有助于提高企业生产力,还能评估并确保法规和标准的合规性。
这些流程可共同提供符合监管要求的书面证明,如测试报告和可追溯性矩阵,这对审计和调查至关重要。它们还能帮助制造商验证软件系统、妥善管理变更并支持持续改进措施。
"监管方式,尤其是有关可能对生命或健康构成风险的软件系统安全性的监管方法,已经很完善。例如,ISO 26262 适用于汽车领域;ISO 62304 适用于医疗领域。总的来说,ISO 61508 是一个指南,强调了确保软件正常运行的重要性。它还强调在实施前进行仔细规划的必要性,而这一步骤往往会被忽视,"Simon 说。
行业专家表示,随着时代的进步,对验证、测试和监管合规性的需求将会增加。2024 年,Gartner 对 84 个国家的 2,400 名首席信息官进行了全行业调查发现,提高运营利润(65%)、创造收入(46%)、确保合规性和最大限度降低风险(45%)是数字技术投资最关键的成果。
“我认为从工业 4.0 到 5.0,我们将看到的是对更精细化的关注。但这也带来了挑战,即管理复杂性。”弗吉尼亚联邦大学副教授Peter Aiken预测说,“未来将更加困难。”
"我们还需要承认这样一个事实:当然,所有这些都是由人类编程的。人类会犯错,因此软件也会犯错。"
专家们一致认为,工业自动化中的人工监督对于实现无缝操作至关重要。在以人类安全为首要考虑、人与机器人是同事的混合环境中,这一点尤为重要。他们的结论是,让人类专注于自己最擅长的领域,并将重复性任务自动化,才是理想的发展方向。