TestinPro应用与DevOps之路
文 |?中國農業銀行軟件研發中心 系統支持部?王曉昕 程偉靜 胡莉莉
Testin Pro(云測平臺)是一款移動端自動化測試平臺工具,幫助用戶實現移動端測試自動化,是一套設備統一調配、軟硬件一體化的移動端測試方案。Testin Pro具有在線錄制腳本、遠程真機調試、自動化執行任務等功能,可滿足自動化敏捷測試需求以及其他各類場景的自動化測試需求,本文將從Testin Pro的部署方案、主要功能、與Devops工具鏈對接三個方面加以介紹。
一、Testin Pro的部署方案
1.1 網絡拓撲
如圖1-1所示,終端用戶(測試人員)通過辦公網絡和交換機訪問Testin服務器。其中,Testin服務器通過交換機連接若干Android控制器和iOS控制器,每臺控制器可以連接多個USB Hub,每臺USB Hub可以連接1-6臺移動終端(手機、Pad等),這些移動終端通過無線AP連接到行內測試網絡。
1.2 服務器配置
服務器采用Redhat Linux,通過docker部署應用。4臺服務器分別部署基礎的應用程序、數據庫、文件、應用代理等服務:
File server(文件服務器):包含filetracker和filestorage(用來存放腳本和報告數據)、portmap(端口映射)、remote(遠程真機)、auto_web(在線錄制);?
Web server(Web服務器):包含proxy-openapi(客戶端api)、assistant(遠程真機agent)、adminserver(web管理端后臺)、fileuploadserver(文件上傳)、webserver(web后臺);?
Db server(數據庫服務器):包含redisserver、mongoserver、mysqlserver;?
App server(應用代理服務器):包含rpcmaster、appserver。
1.3 業務架構
如下圖1-2所示,平臺使用者分為三大類型:
測試用戶登錄私有云入口,連接到云測平臺的四大模塊,分別是應用管理模塊、測試管理模塊、自動化管理模塊、項目管理模塊,可實現平臺八項功能,包括性能測試、兼容性測試、功能測試、穩定性測試、遠程真機、上線后撥測、版本管理、項目管理。?
管理員用戶通過管理端平臺入口連接到管理員平臺,可以實現九個方面的管理:企業項目管理、項目權限管理、企業用戶管理、用戶權限管理、設備運行管理、任務執行管理、云平臺監控、異常管理、數據庫配置管理。?
超級管理員在資源池中可以管理網絡資源、服務資源、數據庫資源和設備資源,比較常用的操作有重啟后臺測試設備、查看設備網絡狀態等。
二、Testin Pro的主要功能
2.1 online腳本錄制
Testin平臺的終端設備在系統中腳本錄制頁面和遠程真機頁面均有映射屏,測試人員可以通過鼠標和鍵盤的操作來模擬對手機頁面的點擊、滑動、輸入等操作。錄制過程可以選擇控件識別、圖片識別和OCR識別三種方式,每一步操作都會記錄到右側的腳本編輯頁面。另外,為了滿足自動化測試的復雜業務邏輯,Testin還封裝了一些內部操作,如設置等待時間、增加if-else邏輯判斷、循環、斷言、性能埋點等操作。
2.2 自動化執行
Testin支持三種任務類型建立方式:
1)自動化功能測試:云端腳本執行,任務快速執行,支持數據源選擇,深度截圖對比,性能分析,報告多維度展現。
2)自動化兼容測試:安裝/啟動/monkey/卸載,支持腳本執行,錯誤日志/Crash/ANR,性能數據,monkey截圖,報告以設備維度展現。
3)自動化撥測:批量任務定時發起,支持多網絡類型,發起批次可配置,批次間隔可配置,報告以批次維度統計,報告支持excel導出。
2.3 測試報告查看
根據用戶所選的執行方式的不同,Testin分別提供了三類報告供用戶查看:
1)功能報告包含任務基本信息及統計圖表,并從報告概況、腳本執行報告、腳本問題分析、設備執行報告、腳本截圖橫向對比等多個維度展現統計內容,還可以回放設備執行每個腳本的視頻。
2)兼容報告頁頂端任務屬性與功能測試相同,報告展現分為測試概況、錯誤日志、性能數據、截圖對比四個維度。
3)撥測報告以輪次為統計單元,展示撥測概況信息及各性能埋點的時延與上下行流量圖表數據及具體到設備的詳細數據。
三、與Devops工具鏈對接
ATP平臺是農行自動化測試統一管理平臺,是行內devops工具鏈的一環。行內將各處室使用的自動化測試工具在ATP平臺實現統一管理,不同自動化測試工具錄制生成不同語言、不同格式的測試腳本,ATP平臺將這些腳本轉化成行內統一格式存儲。在進行自動化測試案例運行時,ATP平臺將行內格式轉換成對應測試工具可執行腳本進行案例執行。
目前,Testin Pro已完成與ATP平臺的對接,測試人員可以直接在ATP平臺進行移動端測試案例的編輯和執行。同時我行還在推進ATP與微軟TFS的集成工作,TFS作為我行DevOps工具鏈集成的核心總線,未來將實現一體化端到端的DevOps流水線調度能力,其中也包括對Testin Pro的一體化調度。
下面,簡單描述下Testin Pro與ATP平臺的對接方案:
1)在ATP平臺輸入Testin Pro平臺的用戶名和密碼,對密碼進行MD5加密,將賬號和加密后的密碼通過登錄報文發送到Testin Pro平臺,獲取登錄令牌。
2)利用登錄令牌和賬號信息,發送報文查詢用戶歸屬項目組,并在前臺展示給用戶,供選擇。
3)利用登錄令牌和項目號,發送報文查詢該項目對應的所有待測應用,將所有的應用信息展示在前臺,供用戶選擇。
4)利用登錄令牌、項目號、應用版本(ios,andriod),發送報文查詢該應用對應的所有自動化測試執行的腳本列表。
5)利用登錄令牌、項目號、應用版本(ios,andriod),發送報文查詢該應用可運行的設備列表。
6)將查詢到的腳本號列表映射到ATP平臺上的案例(一個腳本對應一條案例),將案例信息在前臺展示給用戶,供選擇。
7)用戶選定項目、應用、案例、設備后,發送報文進行測試任務創建,獲取到任務號。
8)通過任務號查詢該任務的執行結果,并在ATP平臺進行結果展示。
其中,步驟6實現了腳本和案例的相互轉化,在ATP平臺只存儲案例詳細信息和對應的腳本號。這樣的好處是:
1)ATP平臺可不區分測試工具,管理統一格式的案例,該格式實現了對象和定位分離,提高了可維護性和易讀性。
2)對于統一格式的案例,ATP平臺實現了案例的自動生成,例如:基于某一業務流程確定的測試案例,可通過給該案例配置不同的參數值,實現案例的衍生,節約錄制成本,提高自動化測試效率。
四、總結
TestinPro作為我行采購的移動端自動化測試服務平臺,支持兼容性測試、功能測試、性能測試等,有效滿足測試人員對多種型號終端的測試需求,并通過平臺統一管理提高了設備的復用效率,節約了測試成本。在DevOps工具鏈對接方面,我行旨將TestinPro集成到自動化測試統一管理平臺,最終實現不同測試工具的統一管理。
【作者簡介】王曉昕
中國農業銀行研發中心系統支持部 測試工程師 目前從事自動化測試技術研究以及DevOps工具鏈建設工作,熱愛工作,熱愛生活,耕耘于分秒,收獲于細微。
總結
以上是生活随笔為你收集整理的TestinPro应用与DevOps之路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .netcore 分布式事务CAP2.6
- 下一篇: 通过Service访问应用 (2)