白皮书当国产测试软件减慢产品开发时 (1)
页 1联系我们 白皮书 当自主研发的测试软件 拖慢产品开发时 引言 您的公司是否自行开发硬件测试软件许多公司都这样做。几乎所有的硬件测试 软件都是这样开发的。这种方法称为“自主研发”测试,因为软件开发是在公司 内部进行的,所使用的是市场上现成的软件工具。 如果您对测试软件有完全的掌控能力和精深的知识,这固然可喜。您能够开发合 适的功能以满足自身特定的测试要求。但是,如果您的团队跟不上需求,又会如 何产品测试要求的变化速度超过测试软件的更新速度时,就会出现问题。这很快 就会导致产品开发进度大大拖延。自主研发的软件工具通常无法满足多功能产品的 新需求,也无法与您所在公司的设计和仿真软件集成。 在您的公司里,不同的团队可能开发了不同的测试软件,这阻碍了协作和数据交 换。如果核心工程师离职,自主研发就会陷入绝境。招聘和培训人员来开发和支 持您的自主研发环境,可能会耗费大量研发资源,而这些资源本来可以用于加速 创新。 在本文中,我们将探讨自主研发测试软件遇到的问题,并讨论现代商用测试软件 环境能够带来什么帮助。 自主研发的测试软件 如何拖慢您的速度 无法跟上快节奏的产品 开发和测试周期 很难与设计和仿真软 件集成 软件不利于协作 浪费宝贵的软件开发和 支持人才 页 2联系我们 与快节奏的产品开发和测试周期保持同步 公司正竭尽全力应对竞争压力、满足客户需求,产品的开发周期随之不断加快。现代设 计和仿真软件的改进是产品开发加速的主要因素1,2。设计周期的压缩加重了确认和制造 测试团队的压力,他们可能很难跟上如此快的开发节奏,并有可能成为拖累整体发布时 间的瓶颈。自主研发的测试软件在过去可能能够跟上发展的脚步,但今天的快速设计周 期需要更快、更敏捷的方法。 新产品设计通常需要更多测试,但测试截止日期保持不变。设计占用的时间越长,留给 测试的时间就越短。自主研发的软件无法满足对更快测试速度的需求。那些不是为了加 快测试速度而设计的软件也很难提升速度。在传统系统中优化测试步骤流程和执行速度 同样充满挑战。现代测试软件平台提供了包含时序分析仪在内的各种内置诊断工具,可 以帮助工程师分析哪些测试耗时最多,优化整体测试执行(图 1)。 “设计周期越来越 快,而且我们的器 件越来越复杂,产 生的测试数据数量 超出了我们的分析 和管理能力。” 测试软件工程 师,无线元器件制 造商 “ 图 1. 时序分析仪有助于优化整体测试速度和器件吞吐量 1 可持续产品开发的建模、模拟和分析(Modeling, Simulation and Analysis for Sustainable Product Development),国家标准与技术研究院,NISTIR 7745,2010 年 11月 2 系统级建模人员在设计周期竞赛中脱颖而出(System-Level Modelers Race the Design Cycle), Jean-Jacques DeLisle,微波与射频,2014 年 4 月 2 日 页 3联系我们 与产品设计和仿真软件集成 许多公司正在采用越来越复杂的产品设计和仿真软件来帮助加快开发进度。虽然这些 设计工具可以帮助研发团队加快进度,但也加重了确认和测试团队的责任。现代设计 和仿真软件可能产生大量数据,而测试团队必须对这些数据进行确认测试。将设计数 据与自主研发的测试软件集成,可能是一项十分艰巨的挑战,迫使测试开发人员重复 开发设计工具中已有的大部分内容。 另一个挑战是确保设计仿真结果与确认测试结果相符。除非您的仿真和测试软件使用相 同的测量算法,否则无法保证获得一致的结果。当结果不一致时,往往会造成设计团队 和测试团队之间发生混乱,尤其是当各个团队都努力争取在产品进入制造阶段之前实现 一致性时,这样的问题会导致进一步的延迟。 现代测试环境与设计和仿真软件无缝集成,确保物理测试与仿真使用相同的测量技术。 任何差异都指向产品本身的实际问题,而不是设计或测试软件或方法中的问题。 “我的研发团队可 以在 2 周内设计一 个新产品,并在月 底前获得样品 但是我们的 DVT 团队需要整整一年 的时间,并且需要 付 出 很 多 努 力 来 开发测试系统和程 序,才能开始收集 数据并进行确认测 试,为制造确定技 术指标。我们需要 把这个时间缩短一 半” 产 品 开 发 经 理,半导体制造业 “ 页 4联系我们 跨分布式团队协作 随着产品设计和开发的快速发展和全球化,分布式测试团队必须尽可能高效地工作。如 果各个团队都自己开发测试软件,且使用不同的算法和不同的用户界面,协作就是一项 挑战。不一致的测试结果会导致团队之间容易产生误解,减慢开发过程。使用电子邮件 来回发送结果会导致更多延误。 自主研发的测试软件通常不利于与其他团队(如研发团队)或其他部门所使用的设计软 件或测试软件共享信息。无法在产品开发生命周期中共享测试软件和测试结果,会导致 成本高企、耗时的重复性工作和项目返工(图 2)。 自主研发的软件一般只能完成整个产品测试工作流程的一小部分,它们通常是为支持 某项特定任务或测试而开发的。现代测试软件环境提供了一整套测试自动化、测试项目 管理、测试站管理、测试监测和分析工具。借助现代化的体系结构,用户可以从各种站 点和位置交换数据,从而增强协作(图 3)。现代工具提供了通用接口、通用数据库和 开放 API,可以方便地与现有硬件和软件集成,优化您的测试操作。 电子设计自动化(EDA)软件 基于文本的测试软件 图形化测试软件 测量算法和应用软件 数据分析软件 优化制造确认原型仿真 生命周期阶段 图 2. 无法共享测试软件、技术指标和结果会导致重复工作 页 5联系我们 图 3. 现代化体系结构支持跨越多个地点远程管理和执行测试 “由于我们使用不 同的软件并在不同 的城市工作,因此 很难与同事们协作 并保持同步。” DVT 工程师, 汽车零部件制造商 “ 什么是 TestOps 敏捷软件开发为软件开发带来了翻天覆地的变化。在后数字时代,很少有流程创新能够 像敏捷开发和 DevOps 这样,给生产力带来如此巨大的提升。敏捷方法、DevOps 团 队和 Scrum 工作流程实现了现代化的软件开发,将组织从每年发布一次软件版本重大 升级的模式,转型为每天或每周推出多个软件版本的环境。 如今,在测试和测量领域中也发生了类似的转变。自主研发的单一功能测试正在被模块 化、可重复使用的组件取代,这些组件可以高度并行化以提高测试效率和吞吐量。结合 现代协作工作环境,出现了革命性的新方法TestOps。 “即使我负责优化 制 造 良 率 和 周 转 时间,我也很难处 理合同制造合作伙 伴的数据。CM 以 CSV 文件的形式 提供数据,我的团 队需要努力开发和 维护分析工具,以 实现共享/协作。 随 着 我 们 的 流 程 变化,这些工具还 需要维护和升级, 这非常耗时。我也 缺乏分析方法来帮 助我确定有利于我 们业务的趋势、问 题,以及进行预测 性分析。” 制造/NPI 团队 经理,半导体制造 商 “ 页 6联系我们 优化工程人才资源,支持自主研发的软件 自主研发的工具通常是从现有工具和代码改编而来,但这些工具和代码可能已经过时 且很难获得支持。在开发周期中,开发人员会创建内部测试软件,但一经发布,以后的 测试改进周期可能变得极其缓慢。满足当今要求的软件可能无法满足明天的需求。 内部解决方案和自行开发的工具往往依赖开发人员独特的个人技能。如果这个人离职, 就很难找到替代的人。在寻找了解器件测试的软件程序员时尤其如此。 与数据采集工具类似,测试工程团队通常会创造自己的软件工具来分析数据。有时这是 通过电子表格或其他标准工具实现的,但有时是在内部开发专有软件系统。这些系统可 能足够好,但会占用本可以部署在更重要任务上的资源。创造的大量数据也使得传统 工具力不从心。现代测试环境提供综合的数据管理和分析功能,帮助可视化和解读复 杂的测试结果,让所有团队成员均可轻松访问(图 4)。 图 4. 现代测试环境通过先进工具(例如这个结果查看器)来可视化和解释复杂的测试结果 页 7联系我们 内部开发的测试软件工具可能难以维护,而且管理成本高昂。通常只有一位或几位关键 工程师知道如何更新该软件。如果专家离职或调动到其他部门,那么团队的其他成员就 不得不花时间重新学习这