许多开发航空电子软件的组织仍然受到糟糕的验证实践的困扰。某些验证技术可以使那些通过避免缺陷的策略使那些寻求遵守航空电子认证标准的人受益。
航空电子标准鼓励采用结构化的软件开发方法,但许多组织并没有很好地执行这一点。在许多情况下,软件团队面临着开始编码以满足紧迫的时间框架的压力,因此没有完全分析和定义软件需求和设计,跳过单元测试,并在大量软件上进行测试。然后,向外部公司支付费用,以根据最终软件为审批过程生成文档和单元测试。即使开发符合DO-178B或DO-178C等标准,也会出现这种情况。
最后,这种方法可能会发现许多缺陷,但它通常不是那么有效 - 交付的软件具有高于预期的残余缺陷数。在测试过程中不可避免地会发现初始需求规范和软件设计的问题;在测试过程中发现的大量缺陷可能意味着软件集成阶段需要比预期长三到四倍的时间,或者整个项目必须报废并重新开始。所有这些都意味着开发成本远高于预期,软件质量低于预期。
改进验证过程通过缩短开发时间、显著缩短集成时间、显著减少软件缺陷以及更高质量、按时交付带来优势。
航空电子标准提供定义
这些标准故意不定义特定的生命周期或方法。它们定义了明确的目标和输出,并且可以以不同的顺序生成,从规划、需求、设计、编码、集成、配置管理、过程保证和验证过程。
与其事后才产生输出,不如从经过深思熟虑的验证计划开始,这意味着这些输出可以从一开始就集成到开发过程中。在生产时对其进行验证可以创建更高质量的产品,并具有更大的成功机会。
左移以便早期验证
一种方法是使用一种称为左移的技术。这更加强调提高开发生命周期早期阶段(V形开发的左侧,见图1)的输出质量,具有更严格的要求和设计阶段。这种技术是关于将最广义的测试转移到 V 模型的左侧。
图1:传统的V型软件开发生命周期。
每个航空电子项目都从需求阶段开始,但这并不总是做得很好。需求可能没有足够详细地分析——某些需求可能存在歧义,需求之间有时存在不一致,并且可能无法完全解决错误情况的处理。这些条件可能会导致生命周期后期的问题。
关键实际上是从验证计划开始,这似乎是把最后的事情放在第一位。然而,验证不仅仅是测试软件。如果通过审查和分析更有效地验证需求和设计,那么开发软件的基础就会更加稳定。接下来,考虑如何测试源代码,将使用哪些测试向量和激励,以及从哪些工具和哪些环境中都有助于构建连贯高效的设计和验证流程。
改进流程的一个关键方法是在需求和设计阶段的一开始就让经验丰富的测试人员参与进来。虽然航空电子专家将汇总需求,但测试人员可以评估需求属性,确定需求的可测试和可追溯性。测试人员还将 - 这是至关重要的 - 突出歧义和不一致。测试人员还将研究故障条件是否得到充分解决,这个问题通常没有得到很好的覆盖,当在极端情况下出现意外故障模式时,这个问题会导致进一步的重大问题。让测试人员参与设计阶段意味着软件在设计时考虑了可测试性,设计了简化测试的功能,并评估了需求和设计之间的可追溯性。从一开始就设计更好的软件可以更轻松地在主机平台上进行测试,而不必在目标平台上进行测试。此外, 结构 测试 覆盖 率 目标 可以 更 容易 地 实现, 从而 显著 加快 测试 开发 和 问题 解决 速度。
在软件测试方面,左移也适用。隔离测试小代码单元可以确信它们在内部工作,并创建一组经过预先测试的构建块,这些构建块可以快速组合在一起。一个单元可能大约有 50 到 100 行代码,因此一次可以集成 20 到 30 个单元,也可以单独测试。测试完成后,这些较大的软件组件可以与其他组件集集成,依此类推。这种循序渐进的测试和集成方法避免了大爆炸集成测试遇到的困难。然而,为了最有效,分步测试需要在生命周期的早期通过更好的验证来创建稳定的要求和设计基础。
采用左移概念的验证计划将产生更可预测的时间尺度,并创建具有较低缺陷级别的软件,因为在生命周期的早期避免或检测到缺陷,而不必在以后阶段删除。
未来
美国联邦航空局于 2013 年 7 月批准的新 DO-178C 规范现在包括有关正式方法的指南。它还阐明了高级需求、低级需求和派生需求之间的区别,并更好地定义了系统需求和系统设计之间的退出/进入标准,允许使用高级模型。用于基于模型的工程的新工具使用高级模型自动生成代码,甚至自动生成芯片的 RTL。
形式化方法和基于模型的工程与开发生命周期中早期验证的左移概念一致,但它们为测试已实现的软件带来了不同的挑战。
首先避免缺陷
有一些方法可以实现验证过程,这些方法不会增加开发成本,但仍能提供更高质量的结果。使用左移过程可以显着提高航空电子系统软件的质量。在需求和高级设计阶段使用独立、经验丰富的测试人员可以提高需求和设计的质量。这种方法还使测试人员能够尽早开始生产系统和集成测试。开发可以单独进行全面测试的小软件单元,并以有条不紊、循序渐进的方式集成软件,简化了复杂系统的集成挑战。
使用此过程,验证不再是测试期间的缺陷消除,而是在开发生命周期的所有阶段避免缺陷。保证流程(如 DO-178C)所需的合规性工件是自然生成的,而无需在项目结束时返回并开发它们。集成时间的节省和质量的提高降低了成本并增强了可靠性,这是任何软件项目的关键考虑因素,尤其是航空电子设备。
审核编辑:郭婷
-
代码
+关注
关注
30文章
4736浏览量
68297 -
航空电子
+关注
关注
15文章
489浏览量
45157
发布评论请先 登录
相关推荐
评论