官术网_书友最值得收藏!

1.1.2 測試左移的早期實踐

為了解決缺陷發現滯后的問題,最早的測試左移(shift-left testing)概念被提了出來,此時的測試左移倡導各個測試階段對應的測試活動應該盡早開展,測試工程師應該在開發提測前就介入,同時將測試活動前移至軟件研發生命周期的早期階段。具體來講主要包含以下3方面的實踐:

加強單元測試,并且對單元測試的覆蓋率提出門禁要求,代碼的實現問題盡可能在單元測試階段都被發現;

在開展集成測試前,增大接口測試的占比,接口缺陷盡可能在接口測試階段被發現;

將集成測試和系統測試的設計與分析工作前置,與實現設計、代碼開發階段并行開展。

測試左移的早期實踐,可以提前發現部分缺陷,降低研發過程的不確定性和風險,具體效果如圖1-3所示。

圖1-3 測試左移早期實踐的效果

隨著實踐的深入,我們發現,如果能有效控制代碼開發階段代碼本身的質量,就能更好地實現質量內建。為此,我們在原有實踐的基礎上增加了以下3方面的實踐:

在流程上增加需求解讀與評審環節,避免存在需求理解的偏差和不完備性,爭取一開始就把業務領域的問題理解透徹,避免后期返工;

在代碼開發階段引入靜態代碼檢查機制,并且不斷優化靜態代碼的掃描規則,將常見問題、代碼“壞味道”、安全隱患和性能隱患逐步納入掃描范圍;

貫徹執行代碼評審(code review)機制,同時確保避免代碼評審的形式主義,并針對代碼評審時發現的典型問題在開發團隊內形成閉環學習機制。

以上3方面的實踐,可以實現缺陷發現的進一步前置以及缺陷數量的降低。實施之后的效果如圖1-4和圖1-5所示。

如果你以為上面就是測試左移的全部,那你就把事情想簡單了。其實這只是測試左移的“冰山一角”。

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

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

主站蜘蛛池模板: 清镇市| 临江市| 吴堡县| 阿城市| 浦县| 麟游县| 全南县| 重庆市| 泗洪县| 芦溪县| 广宁县| 佛山市| 扶沟县| 闽清县| 喀什市| 金沙县| 伊川县| 鸡泽县| 嘉义市| 盐边县| 湖口县| 大兴区| 涿鹿县| 中山市| 托克逊县| 上杭县| 扶余县| 武穴市| 彝良县| 新巴尔虎左旗| 北辰区| 吉首市| 中超| 莱西市| 德安县| 鄢陵县| 阿克| 侯马市| 南岸区| 布拖县| 枞阳县|