原創(chuàng)|行業(yè)資訊|編輯:鄭恭琳|2021-01-04 17:29:53.317|閱讀 274 次
概述:所有企業(yè)都希望(或應(yīng)該)減少與軟件開發(fā)相關(guān)的風險。但是對于為安全至關(guān)緊要的行業(yè)和金融行業(yè)服務(wù)的企業(yè),需要盡可能消除風險,并在所有其他情況下將風險降至最低。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
所有企業(yè)都希望(或應(yīng)該)減少與軟件開發(fā)相關(guān)的風險。但是對于為安全至關(guān)緊要的行業(yè)和金融行業(yè)服務(wù)的企業(yè),需要盡可能消除風險,并在所有其他情況下將風險降至最低。
左移測試可以降低以下關(guān)鍵領(lǐng)域的風險,下面將詳細說明:
	
向“左移”的方向是將關(guān)鍵的測試實踐移至開發(fā)生命周期的早期。這個術(shù)語尤其在敏捷、持續(xù)和DevOps計劃中找到。那么,為什么需要執(zhí)行早期軟件測試?
許多測試活動發(fā)生在周期的后期,需要花費更長的時間才能找出問題所在,并且需要更多的修復成本。左移是關(guān)于將缺陷的識別和預防移到較早。如果您不這樣做,并在開發(fā)周期的稍后階段等待執(zhí)行測試實踐,則特別是非功能性業(yè)務(wù)需求(即安全性和性能測試)在代碼中已根深蒂固,以至于您只能打補丁而不是正確地修復它們。那么,將測試“移至左側(cè)”如何對軟件的關(guān)鍵領(lǐng)域有所幫助?
	
受損的應(yīng)用程序安全性會導致信息泄漏、停機、污損和惡意軟件安裝。根據(jù)Web Hacking事件數(shù)據(jù)庫,這些后果占安全相關(guān)結(jié)果的61.6%。
傳統(tǒng)的安全性方法是通過猜測和經(jīng)驗的結(jié)合來模擬直接攻擊。傳統(tǒng)方法由于過分依賴運氣而無效且過時。使用左移測試,可以在開發(fā)時避免這些安全風險。
	
組織面臨的最大風險之一是缺乏決策依據(jù)。開發(fā)進度是否能按時完成?產(chǎn)品符合要求嗎?現(xiàn)在是否需要采取任何措施來利用機會或減輕即將來臨的客戶問題的影響?
Parasoft的左移測試平臺通過將來自每個軟件開發(fā)基礎(chǔ)架構(gòu)的數(shù)據(jù)捆綁在一起,并根據(jù)已定義的公司策略應(yīng)用上下文智能,從而為組織提供了前所未有的、無與倫比的、完整的可見性,從而推動了自動化的預防和控制流程。提供最高管理級別所需的商業(yè)智能。
	
 
不遵守安全關(guān)鍵性法規(guī),政府或OEM法規(guī)可能導致召回,使合同無效,制定處罰或采取法律行動。盡管總金額因行業(yè)和項目而異,但它們通常是可觀的。通過靜態(tài)分析,覆蓋率分析,過程定義和常規(guī)測量的組合,左移測試方法將合規(guī)性系統(tǒng)化為一個自動化的,氣密性的過程,以確保控制風險。
	
軟件可靠性仍然是最顯而易見的問題之一,可以通過左移測試輕松解決。崩潰,停機時間和缺少SLA的癥狀會嚴重影響公司在市場中的地位。通過將預防,檢測和驗證結(jié)合到一個持續(xù)改進的過程中,左移測試將確保減少或消除可靠性風險。
	
在開發(fā)人員中,有一個古老的笑話:“如果調(diào)試是消除bug的過程,那么開發(fā)必須是將它們放入其中的過程。”用業(yè)務(wù)術(shù)語來說,每次代碼更改都是一種風險。
左移測試通過執(zhí)行可防止開發(fā)人員工作時出現(xiàn)結(jié)構(gòu)和設(shè)計問題的編碼策略,消除了引入新缺陷的風險。此外,左移測試策略將允許自動生成,執(zhí)行和管理回歸測試以及詳細的覆蓋率分析,從而消除損害現(xiàn)有功能的風險。自動化的同行評審分配可提供降低風險的最后一層,以確保適當?shù)膱F隊專家可以檢查100%的代碼。
	
隨著企業(yè)從高科技領(lǐng)域中廉價,缺乏經(jīng)驗的勞動力的風險中吸取教訓,外包正逐漸消失。但是,許多企業(yè)擁有活躍的離岸開發(fā)和測試團隊,并將繼續(xù)沿這一道路前進。盡管策略各不相同,但成功的外包商會在現(xiàn)場和非現(xiàn)場建立多個緩解風險的門,以防范風險注入。左移測試很自然地適合在每個緩解風險的門口建立和實施編碼標準,單元測試覆蓋率以及同行評審的政策。
	
為簡潔起見,左移測試方法分為兩個主要活動:
應(yīng)用開發(fā)測試最佳實踐
進行早期階段的開發(fā)實踐,例如靜態(tài)代碼分析和單元測試,有助于在過程中盡早發(fā)現(xiàn)并防止缺陷。
重要的是要記住,目標不是發(fā)現(xiàn)錯誤,而是減少錯誤的數(shù)量(尤其是那些會發(fā)布到版本中的錯誤)。最終,與發(fā)現(xiàn)更多的bug相比,首先創(chuàng)建更少的bug有價值得多,而且價格便宜得多。因此,通過標記可能“有效”但仍不安全的代碼,采用一種主動預防性的安全關(guān)鍵編碼標準。
編碼標準是等同于工程標準的軟件,它們是減少錯誤數(shù)量(除了更早發(fā)現(xiàn)錯誤),支持并從左移計劃中獲得最大價值的關(guān)鍵。編碼標準是軟件工程知識的體現(xiàn),可以幫助您避免錯誤/危險/不安全的代碼。要使用它們,您需要應(yīng)用靜態(tài)代碼分析。
為了軟件安全,這對于成功強化軟件尤為重要。您想在代碼中構(gòu)建安全性,而不是對其進行測試。編碼標準可讓您從一開始就構(gòu)建更安全的應(yīng)用程序(即通過設(shè)計確保安全性),這是一個好主意,并且如果您受制于諸如以下法規(guī)之類的要求GDPR。
利用服務(wù)虛擬化實現(xiàn)連續(xù)測試
接下來,您必須接受在開發(fā)過程的所有階段(包括后期)創(chuàng)建的測試,并不斷進行下去。對于采用敏捷開發(fā)實踐以在整個開發(fā)過程中提供連續(xù)反饋的團隊來說,這一點至關(guān)重要。單元測試可以輕松地連續(xù)執(zhí)行,但是由于外部系統(tǒng)的依賴性,通常很難將后期功能測試的執(zhí)行轉(zhuǎn)移到左手,在這里您可以利用服務(wù)虛擬化來進行連續(xù)測試。
服務(wù)虛擬化使您可以模擬可用性可能受限的相關(guān)系統(tǒng),例如大型機,訪問費,第三方服務(wù)或可能尚未準備就緒的系統(tǒng)。通過模擬它們,您可以在沒有整個系統(tǒng)可用的情況下執(zhí)行功能測試,并且可以將測試執(zhí)行完全轉(zhuǎn)移到開發(fā)桌面。
在性能測試方面,服務(wù)虛擬化使您可以在一切準備就緒之前進行測試,而無需對系統(tǒng)中的所有內(nèi)容進行完整的實驗。您甚至可以運行各種假設(shè)分析場景,例如,如果應(yīng)用服務(wù)器運行速度快而數(shù)據(jù)庫運行緩慢(在現(xiàn)實世界中很難實現(xiàn)),該怎么辦。或者,如果我的服務(wù)器開始拋出一些有趣的錯誤,例如500錯誤,那將如何影響系統(tǒng)性能呢?
您可以隨心所欲地推動系統(tǒng)運行,并盡早實施。(了解有關(guān)如何左移性能測試的更多信息)
同樣,您可以更早地開始進行安全測試。與物理系統(tǒng)解耦使您可以做一些更有趣的事情,這就是使模擬系統(tǒng)以邪惡的方式運行。現(xiàn)在,您可以真正進行安全測試了……您不僅可以在系統(tǒng)上查看受污染的數(shù)據(jù)和DDoS,還可以使系統(tǒng)充滿數(shù)據(jù)包,發(fā)送格式錯誤的數(shù)據(jù)或攻擊者常用的許多其他利用方法。因此,不僅可以進行更早的測試(左),而且還可以比測試實驗室或生產(chǎn)系統(tǒng)進行更深入的測試。
	
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn