如何快速掌握阿裏巴巴內部高效測試流程?
自動化測試是軟件測試技術上的一大進步,我們都知道自動化測試可以給工作提效,減少重複勞動,但在實踐過程中,卻總是碰到各種各樣的問題,導致進入自動化測試盲區。如何做好自動化測試,是很多企業迫切想要解決的問題。近日,阿裏巴巴產品專家金桐從自動化的煩惱,到分層自動化單元測試、業務服務層測試和UI測試的優劣勢分析,再到阿裏巴巴分層自動化的實踐之路,為大家提供了一套分層自動化實施解決方案。
自動化
為什麼要做自動化?
自動化的煩惱

成本高
效果差
覆蓋率低
及時性低

分層自動化

分層自動化的特點比較如下:
Unit(單元/底層服務):
Service(接口/集成服務):
UI(係統/頁麵):

除了分層方法與建議外,還有分層投入比,究竟花了多少時間做單測、多少時間作接口和UI?我們清楚知道,根據(N-1)M的勞力節約公式,不是所有項目都需要做自動化測試,主幹核心、業務穩定、項目周期長和重複工作多的項目是需要做項目自動化測試的,圖中展示了Google產品分層自動化投入比,它是比較完美的,當我們底層建設很完善的時候,上層建築的確可以花費較少時間,維護成本也會相對降低。我們目前達不到,但可向這個比例去發展。
阿裏巴巴分層自動化的實踐
首先,分層自動化工具革命


UI自動化—AUI:

接口自動化—SAT:

單測—Amon:

不僅如此,阿裏雲效還從需求-開發-測試-發布整個項目流程中可工具化、平台化的手工工作,全麵進行工具化、平台化的改造,如圖所示。

開發環節:從拉分支開始,到自測的部署環境與單元測試,全部平台工具化。一鍵拉分支、一鍵部署、一鍵觸發單測集成,不到喝杯咖啡的時間,即可查看環境部署結果和findbugs、PMD、Sonar等代碼掃描結果。
測試環節:手工測試中有用例和缺陷兩款主打產品,平台沉澱,無需再做一些文件傳輸,加上前麵介紹的分層自動化相關測試平台與工具,在自動化測試工作上的效率提升,最終實現整體測試工作的平台與工具化。
其次,項目流程革命


圖為阿裏項目分層自動化持續集成完整示意圖,我們多了集成自動化平台,該平台可以把分層自動化工具串聯在一起,去做整個持續集成、持續交付操作,讓工具具備了平台能力。不僅如此,我們還將分層自動化測試納入到了擬發布流程中,開發同學提交環境部署後,會自動提交自動化測試,不需要測試同學介入,如果失敗了才會通知測試人員排查,完全做到了CI/CD的理想效果。

項目集成可以使用,那麼日常的產品回歸也可以用,圖為阿裏產品分層自動化持續集成完整示意圖,集成自動化給日常回歸產品做了賦能,將分層自動化工具平台和集成自動化串聯,去保證日常產品質量的回歸。
- 阿裏內部:大幅提高研發測試比,減少重複勞動帶來的加班,更多高效工具的誕生,使用這套體係,B2B研發測試配比達到了8:1,部分產品線13:1,卻全年無故障。
- 研發:單測成本降低,覆蓋率可視化,自測有保障,故障降低。
- 測試:測試要求降低,重複工作減少,增加工作成就感,各種工具誕生。
- 雲效客戶:企業快速賦能,提高研發測試效率,快速掌握阿裏內部高效測試流程。
關於雲效(https://yunxiao.aliyun.com):
最後更新:2017-08-16 12:02:29