Parasoft軟件測試實踐:什麼是左移測試?

Parasoft是一家專門提供軟件測試解決方案的公司,解決方案几乎涵蓋了軟件開發週期從開始到結束全部的階段。在工做中,您越早發現代碼中的問題,他們的影響就越小,處理的成本也越低。在本文中,咱們將探討左移方法以及如何在組織中左移。html

擡頭圖

左移測試方法

shift-left」的運動是將關鍵測試實踐轉移到開發生命週期的早期階段,其特別適用於敏捷、持續和DevOps計劃。那麼爲何須要進行早期的軟件測試呢?數據庫

許多測試活動發生在週期的後期,須要更長時間才能找出問題所在而且須要花費更多的時間來修復。向左移動是指將缺陷的識別和預防轉移到更早的階段。若是沒有進行左移測試,只等着在週期的後期執行測試實踐,那能作的就只是修補而不是正確的修復它們。安全


代碼何時會有Bug

在Capers Jones的一個着名的圖表中很好地說明了左移測試策略,該圖表顯示了在軟件開發的幾個階段,軟件處理錯誤和缺陷的成本在增長。該圖的第一部分顯示絕大多數錯誤在編碼階段進入,這是符合預期的。框架

不管是出現實際錯誤,仍是誤解了要求,或者沒有考慮特定代碼片斷的影響,開發人員都會在代碼生成時引入缺陷。單元測試


何時發現了這些Bug

咱們在引入的圖表發現缺陷的位置進行顯示,發現基本上是第一條線的反轉。測試

這並不奇怪,由於一般在開始測試時會發現錯誤,若是沒有適當的基礎設施以及在一切準備就緒以前就開始測試可能會很困難。咱們在這裏看到的是,錯誤主要是在編碼期間引入的,但在該階段幾乎從未找到過。編碼


修復Bug的費用

因爲大多數錯誤是在編碼期間引入的,但直到後期才發現,所以瞭解在每一個開發階段修復缺陷所需的成本差別變得很是重要。以下圖所示:spa

咱們看到一個使人討厭的成本變化。修復潛入系統測試Bug的成本是在編碼期間修復它的40倍,或者比在單元測試期間找到相同的bug要貴10倍。這種成本上升的緣由有不少,包括:3d

  • 追蹤問題所需的時間和精力。測試用例越複雜,就越難以弄清楚它的哪一部分是真正的麻煩製造者。
  • 在數據庫或第三方API之類的系統依賴下,開發人員找到Bug的難度增長。
  • 修復Bug所產生的其餘影響。好比這個Bug已經引入到其餘框架或者任何地方。

早期測試和頻繁測試

如今橙色線添加到下圖中,它代表了在早期測試的建議下Bug檢測週期已經左移:htm

您能夠看到橙色檢測曲線表明的成本值在左側變大,意味着咱們的成本顯着降低。

左移測試依賴於更成熟的開發實踐環境,您只須要進行必定的手動/UI測試便可證實一切正常。這樣,後期循環測試就是爲了證實功能,而不是發現錯誤。


更遠的左移測試

有些組織在進一步向左推動編碼自己時會得到更多的價值。畢竟這是最開始引入錯誤的地方。經過查找更左邊的缺陷,使缺陷修復更便宜:


避免將負擔轉移給開發人員

更遠的左移測試有一個危險,就是不當心給開發人員帶來太多的測試負擔。雖然隨着時間的推移,缺陷修復的成本會大幅提升,但左側的資源多是軟件生命週期中的最高成本。

因此正確的是將全部提到的這些提高到一個新的水平。咱們不只但願更早發現缺陷,並且但願減小實際放入應用程序的缺陷數量。


左移測試的主要方法

1、應用開發測試最佳實踐

執行早期階段開發實踐(例如靜態代碼分析和單元測試)有助於在流程早期識別和預防缺陷。重要的是減小錯誤的數量而不是找到錯誤。

2、利用服務虛擬化來實現持續測試

您必須接受在開發過程的全部階段(包括後續階段)建立的測試,並繼續執行它們。單元測試能夠很容易地連續執行,但因爲外部系統依賴性,後續階段功能測試的執行一般很困難,這是您能夠利用服務虛擬化實現連續測試的地方。

 


總結

有效的質量保證流程可顯着提升質量,同時節省時間和金錢。 當您經過利用現代軟件測試技術向左移動時,您能夠得到可靠和安全的軟件。經過左移測試,您能夠經過更早發現Bug來下降測試成本,同時還能夠減小放入代碼中的Bug數量。


查看轉載原文請點擊這裏

相關文章
相關標籤/搜索