12.18 如何在質控團隊推進軟件工程質量管理的效率和質量提升?


如何在質控團隊推進軟件工程質量管理的效率和質量提升?

質量管理的本質是質量的可控,對質量的追求是沒有極限的,在平衡質量和成本時需要考慮根本訴求。互聯網公司更多要快速試錯,相對來說更傾向於高效(低成本)維持質量在一定的水準。具體來講,就是在快速支持項目迭代的過程中,保證業務穩定,無資損,無用戶可感知的功能障礙(這個區分用戶體量和比率);並且,在出現業務不穩定時,能夠快速恢復,定義問題並避免問題的重複出現。

鑑於此,從質量層面來講,質量控制工作就分為兩部分:① - 代碼質量;② - 運行穩定性。

如何做好代碼質量的把控?

代碼質量更多又分為兩部分:代碼基本語法邏輯;代碼實現的業務邏輯匹配。

針對代碼語法邏輯錯誤,在具體質量控制工作中,能夠實施的手段有很多:無論是靜態代碼走讀、自動代碼規則校驗,單元測試。都能夠在一定程度上對代碼的邏輯異常進行檢測。但在一般團隊而言,更多的是未在這個層面進行控制,更多是在業務邏輯測試中發現代碼基本異常。

業務邏輯匹配錯誤的測試比較依賴於產品的業務設計,雖然在具體的測試中根據開發設計做一定考量,但更多是從業務邏輯層面來實施測試,這個也是現有著重實施手段。從產品經理提供的一系列需求文檔中梳理出應該實施的測試覆蓋用例,在評估覆蓋率與成本中找到一個平衡。

據現在實際情況來看,這兩種測試手段實施成本(耗時)比率大概在 2:8 左右。這個除了從成本層面反應,從實際的缺陷發現佔比也能反應。

軟件質量控制應該儘可能早的發現問題,在考慮質量指標設定時,應該綜合各個實施方案所花費的成本;包括長期成本和短期成本,長期收益和短期收益。從另一個方面來說,成本強調的就是效率,效率高,耗時自然少,項目迭代速度會更快。在一個質量穩定的研發團隊中,如何提高效率,提高研測比是一個綜合問題。站在質量控制的角度,將更多的缺陷在更早的階段通過非人工的方式捕獲,是我們所應該追求的方向。

如何在質控團隊推進軟件工程質量管理的效率和質量提升?

基於這一點。我們所能夠實施的手段如下:

① 提高場景自動化覆蓋率,包括冒煙測試、迴歸測試、全量覆蓋測試

② 提高白盒測試覆蓋率,並持續優化白盒測試策略

③ 提高單元測試覆蓋率

④ 提高服務契約覆蓋率

⑤ 提高UI自動化覆蓋率,包括一切自動化手段

以上手段使我們所能夠採取的方案,可以綜合考量落地成本與計劃。目前業務系統仍處於告訴迭代中,無論是GUI、WEBAPI、ServiceAPI、DataBase、Config或其他的技術路線。

分析以上方案實施條件和成本:

主要從支持工具、框架支持、接入成本、維護成本(成本越高則分越低)、覆蓋率滿足度、技術要求、接受程度 這些角度考量,每個指標5分。

場景自動化覆蓋,這個放在第一個原因是實施手段目前較為成熟,門檻低。但長期維護成本較高,針對用戶角度業務場景覆蓋較為切合。

白盒測試覆蓋,通過一定的規則對代碼靜態掃描,自動發現代碼中的一些基本錯誤,降低低級錯誤導致後續工作重複工作,提高代碼的質量。

單元測試覆蓋,開發編寫單元測試代碼,通過單元測試對所編寫代碼進行基本的方法級測試,保證方法邏輯符合編寫預期結果,降低原子級邏輯對上次邏輯的影響。對後續迭代存在極大價值。

服務契約覆蓋,通過對相對穩定的服務接口的覆蓋,在後續的迭代開發中,以較低的成本保證迭代不會對歷史業務產生影響。

UI自動化覆蓋,以更貼近用戶視角,保證系統為用戶所提供的核心功能。是唯一能夠覆蓋前端代碼邏輯的自動化手段。但對實際業務迭代頻次有一定要求,如果迭代頻次較高,維護成本相應會提高很多,可操作性較低。

如何在質控團隊推進軟件工程質量管理的效率和質量提升?

通過上面數據梳理與可視化分析,我們的實施路徑應該如下:單元測試、場景自動化、服務契約、白盒測試、UI自動化。

根據實施路徑,具體分析各種方案實施計劃與步驟。

單元測試,有開發發起實施,質控組暫不參與。

場景自動化已經實施中,場景自動化主要分為幾個階段:冒煙測試、迴歸測試、覆蓋測試。目前處於迴歸測試階段,基於對現有業務系統的瞭解和梳理。整理並不斷維護業務系統場景用例,根據計劃安排,不斷增加場景覆蓋。

服務契約已經在實施中,主要分為以下幾個階段:接口覆蓋、代碼覆蓋率覆蓋、長期維護。目前處於接口覆蓋階段,由於支持工具尚在建設中,此階段預計於6月份完成。

白盒測試,尚未開始實施,前期自動化測試小組經過調研,基於SonarQube構建白盒測試方案,目前尚處於調研階段,不清楚自動化測試小組實施到哪個階段。後續諮詢清楚後,需要介入維護規則。

UI自動化,尚未開始實施,前期自動化測試小組經過調研,基於網易Airtest構建UI自動化測試方案,目前尚處於調研階段。AItest在本項目暫未實施,且未與測試平臺進行打通,腳本的調用和維護,結果跟蹤機制暫無,無法形成有效的長期方案。需要和自動化小組跟蹤確認具體後續計劃。


分享到:


相關文章: