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