原創|實施案例|編輯:況魚杰|2020-11-06 09:59:35.780|閱讀 262 次
概述:本案例研究的目的是描述美國國防部的DevOps歷程,并重點介紹表征DevOps和DevSecOps的技術和流程。(為了遵守公司的隱私政策,標識信息已被刪除。)
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
自2012年以來,Parasoft一直與美國國防部在航空航天和國防工業中的承包商合作,以改善其軟件的質量和安全性。在Parasoft與承包商的關系期間,該項目的性質發生了巨大的變化。最近,美國國防部宣布計劃建立DevOps管道以支持該計劃。
注:DevOps管道是一種自動化的基礎架構,用于處理各個團隊為項目貢獻的代碼。在檢入代碼并通過管道推送代碼時,將連續觸發測試執行和代碼分析作業。持續的代碼質量活動向軟件工程師和測試人員提供反饋,從而使管道末端的構建符合組織的質量,安全性和合規性目標。DevSecOps將安全測試活動集成到流程中。
該項目的規模和復雜性對所有相關供應商構成了重大挑戰。本案例研究的目的是描述公司的DevOps歷程,并重點介紹表征DevOps和DevSecOps的技術和流程。(為了遵守公司的隱私政策,標識信息已被刪除。)
承包商的DevOps旅程始于2012年,當時它開始與Parasoft合作實施自動化靜態代碼分析解決方案。承包商現有的靜態代碼分析解決方案缺乏及時交付任務關鍵型軟件以及不遵守安全關鍵準則所需的自動化功能。
自動化代碼質量的能力對于運行DevOps管道至關重要,但是要過幾年才可以在軟件開發中進行的討論集中在DevOps上,而DevSecOps則要少得多。在此階段,承包商希望獲得更高效的自動化靜態分析技術,以降低與其開發過程相關的成本和風險,并以使其能夠符合JSF和DO-178的方式進行。此外,承包商此時未考慮更改其軟件安全性方法。 安全測試是開發生命周期的一個單獨階段,它具有自己的一組過程,對于許多公司而言,這些過程與靜態代碼分析幾乎沒有關系。但是,DevSecOps管道將軟件安全活動集成到工作流中。當代碼通過不同的門時,可以自動應用不同的技術來驗證代碼的其他方面,例如安全性。
Parasoft的方法始終是在軟件工程流程中建立安全性。這是通過使檢查程序在檢測到已知會導致與安全相關的缺陷的模式時報告違規行為來實現的。實際上,對于諸如Parasoft的方法,分析代碼以確保質量并分析代碼以確保安全性遵循完全相同的過程。唯一的區別是啟用了哪些檢查程序。由于這種方法,在DevOps管道中自動化質量和安全性非常簡單。
在此階段進行的投資幫助承包商為DevOps計劃奠定了基礎,該計劃將在最近開始計劃。
承包商旅程的下一個階段是擴展其單元測試功能,其目標也是實現更高的自動化水平。單元測試是一項基礎的軟件質量活動,所有行業的工程師和開發人員都在努力一致,高效地實施。就工程資源而言,這是一項眾所周知的昂貴活動,其原因有以下幾個:
無論是生產自己的應用程序還是將下游代碼集成到他們的項目中,為安全關鍵的國防部計劃提供軟件的組織必須能夠證明從需求到測試的可追溯性,以及報告測試的完整性。如果未發現的編譯單元導致應用程序中產生意外行為(例如崩潰或可利用的表面),則軟件集成商應對任何負面影響負責。
有關應用程序狀態的連續而完整的信息使承包商能夠自信地交付沒有嚴重錯誤的軟件。通常,“反饋循環”對于團隊滿足DevOps承諾的嚴格發布周期至關重要。這是因為理想的反饋循環會盡早返回徹底,準確的測試,代碼分析,覆蓋率和可追溯性數據,以便軟件工程師可以解決問題而不會浪費迭代。 C / C ++ test使得反饋循環成為可能,從而使承包商能夠發現缺陷并找出對應用程序的安全性至關重要的未發現代碼,而解決這些問題的成本卻過高。
最近,該公司已求助Parasoft來測量匯編級別的代碼覆蓋率,這使該公司能夠達到其DO-178B / C合規性目標。 雖然許多標志著真正的DevOps管道的過程尚未實現,但許多基礎架構已經部署。 此外,執行該計劃的政府部門已下令,為該項目做出貢獻的所有承包商都應遵循DevOps模式。
長期運行的政府項目最終會進入一個階段,重點從新開發轉移到可持續發展。這意味著盡管開發仍在繼續,但是隨著硬件的更新,軟件和維護成為主要目標。朝著可持續發展的方向發展意味著更加重視軟件測試效率。
該案例研究中心的承包商目前正在開發DevOps管道,以支持該計劃的可持續性階段。管道不僅用于處理由主承包商提供的代碼,而且還用于處理其他負責代碼庫不同部分的供應商。 目標是使用Parasoft的解決方案來標準化和自動化測試活動。最終,DevOps管道將在安全的容器化環境中運行,DevSecOps負責人認為這是美國國防部所有部門的最佳做法。這使組織能夠實施側重于安全性和質量的左移測試策略。
DevOps管道與自動化測試基礎結構之間的主要區別之一是,DevOps要求組織內部進行文化變革。自動化測試和構建活動是向DevOps邁進的一部分,但是有時必須部署新技術,這些新技術要求以不同的方式完成某些實踐。所做的更改使組織可以更有效地實現相同的目標,并獲得更好的結果。例如,Parasoft支持DevSecOps的方法之一就是在開發周期的每個階段提供可操作的數據,這就是DevOps工作流程的反饋循環特性。數據不僅是徹底且可操作的,而且在許多情況下,Parasoft都可以使補救工作流變得輕而易舉。工程師可以迅速修復缺陷并立即重新運行分析并將代碼分析結果直接鏈接到代碼違規和文檔以提供幫助。
這項工作仍在進行中,但航空航天和國防承包商已承諾進行必要的文化變革,以實施DevOps并標準化Parasoft解決方案。
直至今年,承包商已實現了自動化的靜態代碼分析和自動化的單元測試,具有集成的覆蓋范圍和可追溯性以及組裝級別的覆蓋范圍。實施這些技術是建立真正的DevOps管道的關鍵步驟,因為它們使有關應用程序狀態的完整而準確的數據能夠不斷反饋給軟件工程師。
真正的DevSecOps管道的路徑將更短,因為承包商正在對Parasoft C / C ++ test進行標準化。在傳統的軟件工程模型中,安全性測試是一個獨立的獨立過程,該過程從對大多數應用程序進行編程和質量測試之后開始。Parasoft C / C ++ test旨在將安全測試活動集成到常規工作流程中。從針對質量的靜態代碼分析到針對安全性的一組檢查器的切換非常簡單,甚至可以并行運行。
Parasoft C / C ++ test的強大的單元測試,覆蓋范圍和可追溯性功能也可以輕松實現自動化,從而使任何軟件工程團隊都能快速獲得所需的反饋,以兌現DevSecOps模型的承諾。
以上就是Parasoft C / C ++ test在國防部的實施案例,除此之外,parasoft還在金融、教育、醫療等等行業都有應用,您是否感興趣呢?如果您有任何疑問或需求,請隨時聯系慧都客服,我們很高興為您提供查詢和咨詢。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn