翻譯|行業資訊|編輯:胡濤|2024-09-05 09:43:20.963|閱讀 94 次
概述:CrowdStrike 軟件更新失敗是一個重要的教訓,它讓我們認識到早期、自動化和全面的軟件測試的重要性。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
通過自動化軟件測試并將其左移,組織可以顯著降低 CrowdStrike 等事件發生的風險。繼續閱讀,了解采用左移測試方法的強大之處。
CrowdStrike 軟件更新失敗是一個重要的教訓,它讓我們認識到早期、自動化和全面的軟件測試的重要性。正如我的同事Miroslaw Zielinski在《CrowdStrike 事件中的軟件測試見解》中所強調的那樣,為了節省時間和金錢而偷工減料可能會導致災難性的后果。測試不僅僅是一個需要檢查的框。它是確保您交付的軟件可靠、安全并能夠在現實世界中按預期運行的重要組成部分。
雖然這次失敗背后有多種因素,但我經常聽到組織提出的一個共同挑戰是頻繁發布更新的持續壓力。這種壓力往往使優化測試成本和時間成為一個有吸引力的目標。然而,避免 CrowdStrike 失敗等事件的關鍵在于采用全面的、左移的測試方法。
Parasoft 的軟件測試(尤其是靜態分析)旨在促進這種左移方法。但在深入研究此解決方案之前,讓我們先了解左移測試的強大功能。
左移測試是現代軟件開發中最強大的概念之一,它能夠及早發現錯誤并提高整體代碼質量。傳統上,測試和調試是在開發周期的最后階段進行的——在代碼編寫和集成之后——通常是在初始測試階段之后。這種方法通常會導致在流程后期發現關鍵的錯誤和問題,而修復這些問題要困難得多,而且耗時得多。
通過在實施過程中實施靜態分析,工程師可以在編寫代碼時解決編碼問題或合規性違規問題。這種即時反饋使開發人員能夠當場糾正問題,從一開始就顯著提高代碼質量。結果就是大幅減少了缺陷,否則這些缺陷會在開發生命周期的后期才被發現,而修復這些缺陷會變得越來越復雜和昂貴。
例如,如果通過靜態分析及早發現缺陷,則可以快速有效地解決該問題。但是,如果同一缺陷直到后來才通過質量保證測試發現,解決過程就會變得更加復雜。涉及的團隊成員更多,記錄、報告、重現和修復問題的步驟需要更長的時間,從而導致工作量增加和延誤。
如果缺陷影響到生產,風險會更高。現場修復缺陷尤其具有挑戰性,因為它會直接影響客戶,可能需要緊急修補、召回,甚至采取損害控制措施來保護產品的聲譽。開發團隊必須迅速采取行動修復錯誤,而 QA 團隊需要重新測試解決方案,這增加了流程的復雜性。
回顧 CrowdStrike 事件,我們清楚地知道靜態分析對于在開發過程早期識別和解決缺陷、防止代價高昂且具有破壞性的問題影響生產至關重要。
靜態分析是一種先進的技術,用于檢查源代碼以識別潛在錯誤,例如使用未初始化的變量、空指針取消引用、緩沖區溢出和許多其他編碼缺陷,而無需執行代碼。
例如,Parasoft 的靜態分析引擎不僅限于簡單的語法檢查。它不僅執行控制流和數據流分析來捕獲各種錯誤和編碼問題,而且還通過獨特的 AI 和機器學習應用領先于競爭對手。我們的 AI驅動解決方案會在與代碼庫的歷史交互和以前的靜態分析結果的背景下審查新的靜態分析結果,預測相關性并確定新發現的優先級,以幫助組織更有效地采用靜態分析。
以下僅列舉了靜態分析可以檢測到的幾種類型的錯誤或問題。
在安全關鍵型開發中,人們會積極尋找并緩解此類編碼錯誤,因為如果系統崩潰或出現故障,可能會造成生命損失。雖然安全概念不是 CrowdStrike 的要求,但軟件質量是必需的,他們應該考慮采用MISRA、CERT、CWE等編碼標準。
MISRA 等編碼標準是由具有多年經驗的專家開發的,而 Parasoft 作為MISRA C 和 C++ 2023編碼標準的貢獻成員,提供了基于這些專業知識的強大靜態分析解決方案。
盡管有這些明顯的好處,但令人驚訝的是,仍然有很多開發團隊沒有使用靜態分析。采用靜態分析對于降低軟件測試成本、提高代碼質量至關重要。
通過將靜態分析納入其持續集成/持續部署 (CI/CD) 管道,CrowdStrike 可以自動識別導致其軟件更新失敗的內存訪問問題。
在現代 CI/CD 環境中,開發人員編寫并提交代碼,從而觸發自動構建過程。構建成功完成后,將運行自動測試(包括靜態分析)。Parasoft C 和 C++ 測試解決方案(如 C/C++test)可輕松集成到 CI/CD 管道中,并與 Jenkins、GitLab、Bamboo、VS Code、Eclipse 等工具無縫協作。
這種集成可確保持續監控和改進代碼質量,開發人員可立即收到有關靜態分析發現的任何問題反饋。通過自動執行這些質量檢查,組織可以:
CrowdStrike事件為開發團隊提供了寶貴的教訓。
CrowdStrike 軟件更新失敗凸顯了在當今軟件開發環境中全面、自動化測試的重要性。組織可以通過利用 Parasoft 的靜態分析解決方案以及單元測試、代碼覆蓋率和其他測試方法顯著降低此類事件的風險。我們的工具可幫助團隊在管理業務風險的同時保持高標準的軟件質量,確保他們的軟件可靠、安全且隨時可在現實世界中運行。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn