芯片和电子系统设计团队面临的问题,已经超出了增加测试数量或实现回归流程自动化的范畴。随着产品转向更加依赖软件的架构,以及硬件、软件和子系统的集成,验证证据分散在不同的工具、团队和阶段中;与此同时,需求和设置不断变化,知识产权也会在新的场景中被重复使用。
在这一背景下,Jake Wiltgen 和 Mike Andrews 认为,核心挑战是在整个生命周期内保持含义和关联性,而不是单纯生成更多记录。以赞助商博客形式发布的这篇文章提出了“验证线程”这一概念,将其定义为在需求、标准、验证活动、设置和结果之间建立有组织的数字连接。
问题不在于数据不足
验证环境实际上已经产生了日志、波形、信号、确认信息、覆盖率指标以及成功或失败结果。然而,一项成功的测试结果本身并不能说明它处理了哪项需求,也不能说明所使用的设计版本、测试环境和设置,或支配该场景的假设。
覆盖率数字同样如此。它们表明了活动或进展,但单凭这些数字无法证明验证是充分的。当需求或设置发生变化时,团队不得不手动重建上下文,以了解哪些测试受到影响,以及先前的结果是否仍然有效。
验证线程带来了什么?
两位作者建议,将每个验证事件视为可重复使用的工程证据,而不仅仅是回归报告中的一行内容。这包括将活动与需求或工程意图关联起来,并记录相关的标准、设计版本、执行环境、激励因素、约束条件和证据。
这种关联使团队能够从“我们进行了测试”这一表述,转向更加具体的回答:需求是如何得到验证的,在什么条件下验证,使用了哪些证据,以及还存在哪些缺口?在重复使用模块或开发衍生设计时,这也有助于评估先前结果是否仍然有效,而不是随意重复工作,或未经分析便将其排除。
从工具集成到含义统一
文章强调,连接应用程序或交换文件,并不足以构建真正的验证线程。硬件验证、软件验证、系统测试、安全分析和需求管理所使用的抽象方式及成功标准各不相同。
因此,所提出的模型需要共享的含义,在不同环境中产生的需求、标准、设置和证据对象之间建立关联。其结果类似于一个工程知识网络,团队可以借此识别缺失、重复或过时的证据,并追踪一项需求变更对相关测试和结果的影响。
为什么这条消息重要?
这一观点的重要性在于,它将验证重新定义为持续的工程架构问题,而不是事后进行的文档阶段。在不同团队、供应商和地理位置之间分散开展开发,会减少对隐性知识的依赖;此外,在认证阶段,延误和模糊不清的成本不断上升,这使证据的完整性和可辩护性变得更加重要。
但文章也提出了一个明确限制:任何工具或数字线程都无法解决含糊的需求、未定义的标准或以不一致方式记录的证据。这种方法要取得成功,需要将需求拆解为可验证的预期,使标准明确,并以结构化方式记录验证事件。
根据所呈现的事实,主要的实际价值不在于增加一个新的仪表板,而在于让验证结果易于理解、重复使用和进行影响分析。至于对Questa One VeriThreader解决方案以及白皮书《Rethinking Traceability for Modern Systems》的提及,出现在一篇宣传材料的末尾,并未提供足够的独立细节来评判该产品或将其与其他替代方案进行比较。