前言
相信熟悉我們的小伙伴都知道,我們項目組已經對外開源了一套自動化測試框架(Airtest和Poco),並在我們的官網上提供了一個配套的自動化編輯器AirtestIDE。
項目開源至今,已有數萬名開發者和上千家公司在使用我們的自動化測試框架和編輯器。但在內部實踐過程中,我們發現僅有底層的測試框架遠遠不足以滿足企業對 大規模自動化測試 的需求,比如, 如何搭建穩定高效的設備集群 、 如何科學地遠程管理和調度設備 、 如何管理各種測試資源 和 如何進行持續集成 等,都是一套完整的自動化測試方案需要解決的問題。
針對上述需求,我們項目組自研了手機集群機櫃、設備管理系統、airlab雲測試平台等產品,搭建了一套一站式的自動化測試解決方案,目前該解決方案不僅服務於網易內部,還服務於數十家外部企業,都取得了非常好的效果。
那么今天,我們將為大家揭開這套自動化測試解決方案的面紗,帶大家走進網易大型的自動化測試解決方案。
1.方案介紹
從下述的方案架構圖中可以看出,我們整套的解決方案包含了從 設備集群建設 、到 設備集群遠程維護管理 、雲真機調試 ,再到 自動化測試腳本編輯調試 ,最后到上層的 大批量腳本調度執行 、測試資源管理 等服務:
1)真機集群
搭建設備集群,我們使用工業級的手機集群機櫃,該機櫃由網易自主設計並且持有多項專利。解決企業測試機統一管理的問題,並為雲真機和遠程調用提供硬件支持。
機櫃的 設備承載量支持靈活定制 ,已有 8*4
、8*8
、10*9
等不同規格。每層設備抽屜均可以抽拉並支持獨立工作。
( 8*4
規格的機櫃)
(機櫃部署效果)
另外我們的機櫃擁有良好的通風設計並且內置工業級的網絡方案,可以保障企業在進行持續性測試、或批量設備任務時的 設備穩定性 和 網絡流暢性 。
2)設備管理平台Devicekeeper
DeviceKeeper是為了解決 企業遠程批量管理、維護、監控設備 這些痛點而開發的設備管理平台,與我們的機櫃硬件相配套。
在網頁中,我們即可查看機櫃的集群狀態,包含但不限於設備詳情、設備狀態查詢、機櫃環境狀態查詢等,並且網頁中的手機位置與真實擺放位置一一對應,非常方便管理人員維護:
另外平台還包含設備 遠程維護 功能和 遠程監控 的功能,維護人員可以在網頁上進行設備的批量開關機、點亮、靜音等操作,還可以設置各種需要監控的指標,隨時監控設備的內存異常、網絡異常、溫度異常等,觸發則自動給管理員發送警告信息
:
更重要的是,Devicekeeper 支持雲真機功能 ,無論是在單位還是在家,企業員工隨時隨地可以通過雲真機訪問到機櫃上的任何一台空閑設備,然后進行設備調試或者其它測試工作:
3)企業版IDE
企業版IDE不僅擁有免費版IDE的所有功能,可以幫助測試小白快速編寫出自動化測試腳本;還支持 一鍵連接機櫃內一台或者多台設備 ,測試人員使用企業版IDE錄制完腳本以后,即可直接使用機櫃的測試機資源進行自動化腳本運行和調試工作:
另外企業版IDE還支持 小規模的批量運行任務 (分布式和並行式均可)和一鍵生成 聚合報告 等:
4)Airlab雲測平台
隨着企業對自動化測試技術的深入探索,又會有一些新的問題出現。
一方面,企業開始不滿足於在本地運行自動化測試腳本和查看測試報告,他們更希望在自動化測試框架的基礎上,做一些持續集成的工作,比如接口觸發任務、網頁查看報告反饋等等。
另一方面,企業內越來越多的項目組開始使用自動化測試,這就會導致測試用例、測試腳本和測試數據資源的急劇增多,這些資源分散在各個項目組的各個測試成員的電腦里面,缺乏統一的管理。
所以很多互聯網企業在尋求高效的自動化測試方案的同時,也在尋找一個既實現了持續集成,又可以將公司內的測試資源統一管理起來的工具或者說平台。
Airlab雲測平台正是為了解決這些痛點而研發出來的。它包含了用例管理、腳本管理、任務預約、任務調度、雲端報告、管理后台等一系列功能:
用例腳本管理
應用資源管理
任務預約與設備調度
任務報告查看(腳本運行報告和性能報告)
2.方案收益
1)提升產品質量
先進的自動化測試技術可以7*24h幫您覆蓋人力無法覆蓋的測試場景,加上每次版本發布前的大規模自動回歸測試,可以幫您及時發現問題,嚴格把控產品質量,減少線上事故帶來的損失。
2)大幅度節約人力
一些重復繁雜的工作可以交給自動化來完成,節約測試人力資源。設備經機櫃統一管理后,維護人員每天僅需半小時,即可管理幾百台甚至上千台設備,另外測試人員也不用頻繁借用和歸還設備,通過雲真機平台和企業版IDE即可一鍵連接使用,大幅度節省了各種人力資源。
3)設備高效利用
測試人員可以非常便捷地獲取到機櫃上的任意一台或多台測試設備開展測試工作,另外自動的設備調度和預約系統可以讓每一台設備得到最充分的利用。
4)測試資源靈活管理
Airlab雲測平台支持對測試資源,如應用包體、測試腳本、測試用例、測試賬號、設備資源等進行集中存儲及管理,便於測試資源的留存和積累。測試人員只需准備測試資源及提交配置,即可啟動測試任務,並在大批量設備上進行任務跑測。另外整個測試過程無需人工干預,任務完成后將自動提供本次測試任務的完整運行報告,幫助測試人員發現產品問題。
Airtest官網:http://airtest.netease.com/
Airtest教程官網:https://airtest.doc.io.netease.com/
搭建企業私有雲服務:https://airlab.163.com/b2b
Airtest官方答疑Q群:654700783
呀,這么認真都看到這里啦,幫忙點個推薦支持一下唄,灰常感謝~