政府部门案例:美国国防公司部署Parasoft支持主要国防部计划的DevSecOps

本案例研究的目的是描述美国国防部的DevOps历程,并重点介绍表征DevOps和DevSecOps的技术和流程。(为了遵守公司的隐私政策,标识信息已被删除。)

自2012年以来,Parasoft一直与美国国防部在航空航天和国防工业中的承包商合作,以改善其软件的质量和安全性。在Parasoft与承包商的关系期间,该项目的性质发生了巨大的变化。最近,美国国防部宣布计划建立DevOps管道以支持该计划。

注:DevOps管道是一种自动化的基础架构,用于处理各个团队为项目贡献的代码。在检入代码并通过管道推送代码时,将连续触发测试执行和代码分析作业。持续的代码质量活动向软件工程师和测试人员提供反馈,从而使管道末端的构建符合组织的质量,安全性和合规性目标。DevSecOps将安全测试活动集成到流程中。

该项目的规模和复杂性对所有相关供应商构成了重大挑战。本案例研究的目的是描述公司的DevOps历程,并重点介绍表征DevOps和DevSecOps的技术和流程。(为了遵守公司的隐私政策,标识信息已被删除。

政府部门案例:美国国防公司部署Parasoft支持主要国防部计划的DevSecOps


阶段1:静态代码分析

承包商的DevOps旅程始于2012年,当时它开始与Parasoft合作实施自动化静态代码分析解决方案。承包商现有的静态代码分析解决方案缺乏及时交付任务关键型软件以及不遵守安全关键准则所需的自动化功能。

自动化代码质量的能力对于运行DevOps管道至关重要,但是要过几年才可以在软件开发中进行的讨论集中在DevOps上,而DevSecOps则要少得多。在此阶段,承包商希望获得更高效的自动化静态分析技术,以降低与其开发过程相关的成本和风险,并以使其能够符合JSF和DO-178的方式进行。此外,承包商此时未考虑更改其软件安全性方法。 安全测试是开发生命周期的一个单独阶段,它具有自己的一组过程,对于许多公司而言,这些过程与静态代码分析几乎没有关系。但是,DevSecOps管道将软件安全活动集成到工作流中。当代码通过不同的门时,可以自动应用不同的技术来验证代码的其他方面,例如安全性。

Parasoft的方法始终是在软件工程流程中建立安全性。这是通过使检查程序在检测到已知会导致与安全相关的缺陷的模式时报告违规行为来实现的。实际上,对于诸如Parasoft的方法,分析代码以确保质量并分析代码以确保安全性遵循完全相同的过程。唯一的区别是启用了哪些检查程序。由于这种方法,在DevOps管道中自动化质量和安全性非常简单。

在此阶段进行的投资帮助承包商为DevOps计划奠定了基础,该计划将在最近开始计划。


第二阶段:单元测试和覆盖

承包商旅程的下一个阶段是扩展其单元测试功能,其目标也是实现更高的自动化水平。单元测试是一项基础的软件质量活动,所有行业的工程师和开发人员都在努力一致,高效地实施。就工程资源而言,这是一项众所周知的昂贵活动,其原因有以下几个:

  • 创建测试所需的时间和专业知识。
  • 执行测试所需的时间和计算资源。
  • 维护单元测试所需的知识和技术技能。
  • 能够识别代码更改后要运行的测试。

承包商再次联系Parasoft,用Parasoft替换其现有的单元测试解决方案,因为它需要更有效地创建,执行和维护其单元测试。尽管每个测试供应商都有各自的优势和局限性,但是Parasoft的旗舰嵌入式测试解决方案Parasoft C / C ++ test强调测试范围和需求可追溯性,将其作为单元测试工作流程的组成部分。跨框架高效执行单元测试并收集追溯到需求的简明覆盖范围信息的能力帮助承包商在此阶段有效地实现了其安全关键和合规性目标。

无论是生产自己的应用程序还是将下游代码集成到他们的项目中,为安全关键的国防部计划提供软件的组织必须能够证明从需求到测试的可追溯性,以及报告测试的完整性。如果未发现的编译单元导致应用程序中产生意外行为(例如崩溃或可利用的表面),则软件集成商应对任何负面影响负责。

有关应用程序状态的连续而完整的信息使承包商能够自信地交付没有严重错误的软件。通常,“反馈循环”对于团队满足DevOps承诺的严格发布周期至关重要。这是因为理想的反馈循环会尽早返回彻底,准确的测试,代码分析,覆盖率和可追溯性数据,以便软件工程师可以解决问题而不会浪费迭代。 C / C ++ test使得反馈循环成为可能,从而使承包商能够发现缺陷并找出对应用程序的安全性至关重要的未发现代码,而解决这些问题的成本却过高。

政府部门案例:美国国防公司部署Parasoft支持主要国防部计划的DevSecOps

最近,该公司已求助Parasoft来测量汇编级别的代码覆盖率,这使该公司能够达到其DO-178B / C合规性目标。 虽然许多标志着真正的DevOps管道的过程尚未实现,但许多基础架构已经部署。 此外,执行该计划的政府部门已下令,为该项目做出贡献的所有承包商都应遵循DevOps模式。


第三阶段:可持续发展

长期运行的政府项目最终会进入一个阶段,重点从新开发转移到可持续发展。这意味着尽管开发仍在继续,但是随着硬件的更新,软件和维护成为主要目标。朝着可持续发展的方向发展意味着更加重视软件测试效率。

该案例研究中心的承包商目前正在开发DevOps管道,以支持该计划的可持续性阶段。管道不仅用于处理由主承包商提供的代码,而且还用于处理其他负责代码库不同部分的供应商。 目标是使用Parasoft的解决方案来标准化和自动化测试活动。最终,DevOps管道将在安全的容器化环境中运行,DevSecOps负责人认为这是美国国防部所有部门的最佳做法。这使组织能够实施侧重于安全性和质量的左移测试策略。


文化变革

DevOps管道与自动化测试基础结构之间的主要区别之一是,DevOps要求组织内部进行文化变革。自动化测试和构建活动是向DevOps迈进的一部分,但是有时必须部署新技术,这些新技术要求以不同的方式完成某些实践。所做的更改使组织可以更有效地实现相同的目标,并获得更好的结果。例如,Parasoft支持DevSecOps的方法之一就是在开发周期的每个阶段提供可操作的数据,这就是DevOps工作流程的反馈循环特性。数据不仅是彻底且可操作的,而且在许多情况下,Parasoft都可以使补救工作流变得轻而易举。工程师可以迅速修复缺陷并立即重新运行分析并将代码分析结果直接链接到代码违规和文档以提供帮助

这项工作仍在进行中,但航空航天和国防承包商已承诺进行必要的文化变革,以实施DevOps并标准化Parasoft解决方案。

政府部门案例:美国国防公司部署Parasoft支持主要国防部计划的DevSecOps


结论

直至今年,承包商已实现了自动化的静态代码分析和自动化的单元测试,具有集成的覆盖范围和可追溯性以及组装级别的覆盖范围。实施这些技术是建立真正的DevOps管道的关键步骤,因为它们使有关应用程序状态的完整而准确的数据能够不断反馈给软件工程师。

真正的DevSecOps管道的路径将更短,因为承包商正在对Parasoft C / C ++ test进行标准化。在传统的软件工程模型中,安全性测试是一个独立的独立过程,该过程从对大多数应用程序进行编程和质量测试之后开始。Parasoft C / C ++ test旨在将安全测试活动集成到常规工作流程中。从针对质量的静态代码分析到针对安全性的一组检查器的切换非常简单,甚至可以并行运行。

Parasoft C / C ++ test的强大的单元测试,覆盖范围和可追溯性功能也可以轻松实现自动化,从而使任何软件工程团队都能快速获得所需的反馈,以兑现DevSecOps模型的承诺。

政府部门案例:美国国防公司部署Parasoft支持主要国防部计划的DevSecOps

以上就是Parasoft C / C ++ test在国防部的实施案例,除此之外,parasoft还在金融、教育、医疗等等行业都有应用,您是否感兴趣呢果您有任何疑问或需求,请随时联系客服,我们很高兴为您提供查询和咨询。

标签:软件测试技术C/C++

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月2日
下一篇 2020年10月3日

相关推荐

发表回复

登录后才能评论