持續集成與靜態代碼分析
過去代碼構建在開發人員本地進行,每次提交在解決沖突上時間開銷大,每個環節發現的問題滯后,無法自動化集成、按需構建,以及代碼的質量沒有數據參考。
團隊需要引入有效的自動化構建平臺,以及靜態代碼分析平臺,用以指導日常開發過程的質量改進,將代碼問題的反饋機制自動化,構建數據可視化。
持續集成
為了讓產品可以快速迭代,同時還能保持高質量。技術團隊對各產品的各端都建立了持續構建平臺:在代碼集成到主干之前,必須通過自動化測試。只要有一個測試用例失敗,就不能集成。保證持續地發現、反饋和解決問題。
圖-美聊持續集成
靜態代碼分析
為了保證代碼質量,從代碼層級降低線上出錯的可能性,技術團隊引入了靜態代碼分析技術:在不執行計算機程序的條件下,對源代碼進行分析,找出代碼的設計缺陷,例如代碼規范、內存泄露,以及體現總體質量:代碼覆蓋度、技術債務的趨勢圖,通知技術改進,攔截在上線之前,這些數據都成為QA統計的數據來源。
圖-Sonar靜態代碼分析qa儀表盤(Java、iOS、Android)
客戶端手工覆蓋度數據收集工具
過去執行完測試用例之后,無法考量哪些代碼覆蓋了,哪些沒有覆蓋,測試用例寫的好不好,為了解決這些困境,在客戶端Android、iOS植入手工測試覆蓋度工具,收集代碼覆蓋度展示,目的是找出測試過程中未被覆蓋的代碼,指導測試人員調整測試策略,開展探索式測試。
圖-客戶戶端UI手工測試報告
下圖是執行美聊2.8版本iOS相關用例后的統計結果,可以根據結果調整測試策略,例如:如果改動了登錄模塊,目前用例覆蓋度比較低,那是需要加強特殊場景測試,還是其他方面呢?這個需要團隊review下做出決定。
原文轉自:http://www.uml.org.cn/Test/201707191.asp