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