- 現代軟件測試技術之美
- 茹炳晟等編著
- 720字
- 2024-05-24 17:24:20
1.1.2 測試左移的早期實踐
為了解決缺陷發現滯后的問題,最早的測試左移(shift-left testing)概念被提了出來,此時的測試左移倡導各個測試階段對應的測試活動應該盡早開展,測試工程師應該在開發提測前就介入,同時將測試活動前移至軟件研發生命周期的早期階段。具體來講主要包含以下3方面的實踐:
● 加強單元測試,并且對單元測試的覆蓋率提出門禁要求,代碼的實現問題盡可能在單元測試階段都被發現;
● 在開展集成測試前,增大接口測試的占比,接口缺陷盡可能在接口測試階段被發現;
● 將集成測試和系統測試的設計與分析工作前置,與實現設計、代碼開發階段并行開展。
測試左移的早期實踐,可以提前發現部分缺陷,降低研發過程的不確定性和風險,具體效果如圖1-3所示。

圖1-3 測試左移早期實踐的效果
隨著實踐的深入,我們發現,如果能有效控制代碼開發階段代碼本身的質量,就能更好地實現質量內建。為此,我們在原有實踐的基礎上增加了以下3方面的實踐:
● 在流程上增加需求解讀與評審環節,避免存在需求理解的偏差和不完備性,爭取一開始就把業務領域的問題理解透徹,避免后期返工;
● 在代碼開發階段引入靜態代碼檢查機制,并且不斷優化靜態代碼的掃描規則,將常見問題、代碼“壞味道”、安全隱患和性能隱患逐步納入掃描范圍;
● 貫徹執行代碼評審(code review)機制,同時確保避免代碼評審的形式主義,并針對代碼評審時發現的典型問題在開發團隊內形成閉環學習機制。
以上3方面的實踐,可以實現缺陷發現的進一步前置以及缺陷數量的降低。實施之后的效果如圖1-4和圖1-5所示。
如果你以為上面就是測試左移的全部,那你就把事情想簡單了。其實這只是測試左移的“冰山一角”。

圖1-4 代碼開發階段的質量內建效果(缺陷發現的進一步前置)

圖1-5 代碼開發階段的質量內建效果(缺陷數量的降低)