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