最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

13帶你看一個企業(yè)級的自動化測試解決方案

2023-08-17 14:23 作者:Airtest醬  | 我要投稿

同學們好,我是網易AirtestProject的團隊成員曉娟,歡迎大家來到我們的視頻教程專欄《14天Airtest自動化測試小白課程》。

不知不覺,我們的視頻課程也接近尾聲啦。在前面的課程里,我們詳細跟大家介紹了Airtest和poco測試框架以及AirtestIDE的使用。

據統(tǒng)計,目前已經有上千家企業(yè)和數萬名測試或者開發(fā)人員在使用我們開源的測試框架進行UI層面的自動化測試工作,但是,如果僅僅是使用測試框架和IDE進行一些輕量級的、小規(guī)模的自動化測試,其實是不能滿足一整個企業(yè)的自動化測試需求的。企業(yè)在自動化測試的探索和實踐上,還會考慮更多、更復雜的問題。

比如:如何開展大規(guī)模的自動化測試實踐;如何解決持續(xù)集成的問題;如何解決企業(yè)的設備資源、測試資源、應用資源等的統(tǒng)一管理問題。

使用我們開源框架的外部企業(yè),也會在這個基礎上去做更多的測試平臺開發(fā)或者是持續(xù)集成的搭建。

網易也是如此,所以今天我們就給大家介紹下網易內部都在使用的一套自動化測試解決方案:私有云自動化測試解決方案。

先來看下我們整個方案的一個總覽:

這是一套軟硬件一體的自動化測試解決方案,最底層呢,就是我們測試必備的一些設備資源,比如真機、云手機等等;

往上一層呢,就是用來管理、維護我們最底層的這些設備資源的管理系統(tǒng),叫做DeviceKeeper。有了這個設備管理系統(tǒng),我們不僅可以在線管理、維護、監(jiān)控這些真機設備;還可以將這些真機資源通過遠程的方式提供給更上一層的一些自動化測試框架,讓這些自動化測試框架可以連接到我們的真機設備,來進行腳本編寫、調試等工作。

提到腳本編寫、調試,那肯定少不了一款好用的編輯器,之前我們也有學習過我們官網上可以免費下載的AirtestIDE,但是這套方案里面的AirtestIDE呢,功能做了更多升級,叫做企業(yè)版IDE,等會呢我們也會詳細介紹下。

最后呢,就是這個最上層的云測試平臺了,解決了設備資源和腳本編寫的問題之后,就要考慮腳本管理、用例管理和大規(guī)模的任務調度這些問題了;Airlab云測試平臺就是為了解決這些問題而開發(fā)出來的。

大致的了解了我們的私有云方案之后,我們接下來將會分成5部分的內容,更加深入地帶大家來看一下這個方案以及它的實際應用。

設備集群--工業(yè)級機柜和便攜式手提機柜

先來看下我們的第一部分內容,設備集群的搭建。我們?yōu)槭裁匆罱ㄔO備集群呢?

其實,在公司內部探索大規(guī)模自動化實踐的時候,我們就發(fā)現(xiàn),隨著測試設備逐漸增多,設備的借用、歸還,設備的日常維護都非常耗費人力和時間,設備的利用率就會很低;并且我們還發(fā)現(xiàn),如何給各種類型的測試任務提供穩(wěn)定的設備資源也是急需解決的一個問題。

因此,我們就在考慮,能不能有一種科學的管理方案,既可以讓維護的同事能夠去批量管理、維護這些設備;又可以讓測試同事迅速并且靈活的獲取到指定的設備或者是大量的設備來進行回歸性測試或者兼容性測試。

基于以上痛點,我們設計了一套工業(yè)級的手機集群機柜,機柜上面部署好了我們的控制節(jié)點,然后將我們的測試設備統(tǒng)一上架到這個機柜上面之后,管理人員就可以通過機柜配套的管理平臺,在線監(jiān)控設備的狀態(tài),并且對設備實施批量的維護和管理,從而大大提高了設備維護的效率。

舉個例子,1個設備管理員,對100臺設備進行開關機操作,如果是一臺臺手動去處理的話,可能大半天的時間就過去了。但是對于機柜上面的100臺設備來說,不過就是2個簡單的網頁操作,批量選取100臺設備,點擊重啟操作,幾秒鐘的操作,然后管理人員就可以坐等設備自己關機重啟啦~

而測試人員需要使用設備的時候呢,也無需進行線下的借用和歸還,直接遠程就可以訪問機柜上面的任意一臺或者多臺真機,對它進行調試,或者運行腳本等工作。用完之后斷開連接即可。

另外,隨機機柜版本的迭代,現(xiàn)如今這個機柜已經持有了多項專利,并且機柜的設備承載量也支持靈活定制,已有8*4、8*10、9*10等不同規(guī)格。良好的通風設計和散熱裝置,也可實現(xiàn)設備的有效散熱,以保障持續(xù)測試時的設備穩(wěn)定性。每層設備抽屜均可以抽拉并支持獨立工作,方便設備的上架與維護;另外機柜還內置了工業(yè)級的網絡環(huán)境,讓批量設備同時運行任務的時候也有流暢的網絡。

這里我們可以來看一下調用整個機柜的設備跑一個測試任務的視頻:

另外,設備集群的形態(tài)并不僅僅是局限于上面這種中大型的機柜,我們還設計了便攜式的手提機柜,可以放置10臺設備,真正實現(xiàn),提到哪里,就測到哪里:

這種規(guī)模的機柜,常用于一些效果演示場景;或者是一些特殊場地的測試,比如提到機場去,測試在機場網絡下面,游戲的一個延遲情況等等。

雖然說,上面我們介紹的機柜管理方案已經大大地解決了我們非常多的問題,但是在我們的長期使用過程中,又發(fā)現(xiàn)了另外一個比較嚴重的問題,就是我們機柜上面的設備長期連著USB線,設備就會過充,進而導致設備漲殼、電池老化等設備故障問題頻發(fā)。

針對這個問題,我們又對機柜進行了一次升級,把普通的usb hub,升級成了可智能控電的hub,結合我們的軟件智能控電系統(tǒng),就可以實現(xiàn)機柜設備集群的遠程USB插拔維護、鋰電池自動化充放電管理,大大減少了電池脹殼和電池老化等問題。

接下來我們來看下智能控電hub的演示視頻:

這個hub工作的背后呢,其實是我們都是通過程序來控制的。

至此,我們整個真機集群的內容就介紹完了??偟膩碚f,機柜設計的好壞,關乎到我們批量管理的難易程度,也關乎到真機設備的穩(wěn)定性和故障率。

設備管理系統(tǒng)--DeviceKeeper

那真機集群搭建好之后呢,我們就需要一個平臺,來管理維護這些集群,并且把集群的真機資源提供給各種測試框架去編寫腳本或者執(zhí)行測試任務。

與我們剛才所說的機柜配套的設備管理平臺,就叫做DeviceKeeper。我們通過一個演示視頻,來看下這個它究竟可以幫我們做些什么?

首先是查看機柜的集群狀態(tài),我們可以看到機柜上面有多少設備,設備現(xiàn)在的狀態(tài)是如何的;還可以把鼠標放到對應的設備上面查看設備詳情;另外畫面上的手機位置與現(xiàn)實擺放位置是一一對應的,更加方便我們維護與管理。

然后是查看設備的詳細信息,可以看到設備的型號、序列號、系統(tǒng)版本等信息,還可以按自己要求篩選指定的設備。

另外DeviceKeeper還提供了云真機功能,相信這個功能大家都非常熟悉了,市面上也有不少的產品。云真機的作用呢,就是可以幫助我們遠程調試設備,比如在家辦公的時候,我們的測試人員也可以非常便捷地獲取到云真機來進行調試和測試任務。

日常維護的功能,就是為了方便機柜或者設備管理員可以在線上,批量維護、管理我們線下的設備資源,可以大大提高設備維護的效率。

監(jiān)控報警呢,就是查看和設置機柜或者設備的一些異常信息,一旦觸發(fā)了我們設置好的標準線,就會給對應的管理人員推送警示信息。

使用統(tǒng)計呢,可以幫助我們查看機柜設備的使用情況,方便我們了解設備的利用率,以此去優(yōu)化我們機柜設備的分配情況。

最后呢,我們還可以在DeviceKeeper上設置各種管理權限,增加系統(tǒng)管理員啊,或者限制只有公司內的部分項目組才可以使用當前機柜的設備等等。

測試框架與企業(yè)版IDE

那剛才我們看到的功能,大部分都是方便設備管理員去維護、管理設備的,當然還有個云真機功能,是可以讓測試人員去實現(xiàn)遠程調試設備。

解決了穩(wěn)定高效的設備資源問題呢,接下來最重要的事情,就是獲取這些設備資源,來進行自動化腳本編寫、生成測試報告這些工作了。

首先是測試框架,一方面,它的平臺通用性要好一些,需兼容主流的Android、ios原生、各種游戲引擎、小程序和H5等等;另一方面,它的上手門檻也要低一些,才可以讓公司快速落地這個自動化解決方案。

那我們前些課程里面學習的Airtest和Poco,就是為了滿足這些需求的,之前也跟大家詳細介紹并使用過了,這里就不再贅述。

更重要的是,我想跟大家聊一聊企業(yè)版的AirtestIDE,它最大的特點,是不僅支持連接本地的設備,還支持連接DeviceKeeper上面的遠程設備;在此基礎上,我們可以在手邊沒有測試設備的情況下,遠程連接DeviceKeeper的設備來進行腳本編寫、調試等工作。

另外,企業(yè)版IDE支持批量運行功能,不論是連接多臺本地設備,還是連接多臺DeviceKeeper上面的遠程設備,都可以在企業(yè)版IDE上進行批量運行任務,接下來呢,我們就用一個視頻,來演示下如何獲取DeviceKeeper上面的多臺設備進行批量運行任務:

這里演示的是利用企業(yè)版IDE進行并行式任務,也就是我們常說的兼容性測試;任務運行結束之后,支持在企業(yè)版IDE上一鍵生成聚合的測試報告,在聚合報告上,我們可以查看整個批量任務的整體運行情況,也可以查看具體某一臺設備的詳細到每個步驟的運行報告。

當然,企業(yè)版IDE還支持另外一種運行方式,就是分布式運行,也就是我們常說的回歸性測試,這里就不再演示啦。

除此之外呢,企業(yè)版IDE還支持使用高清模式來連接我們的設備,該模式下,畫面的兼容性、清晰度和流暢度都比較好:

自動化測試平臺--Airlab云測試平臺

那我們的測試框架和編輯器都講完啦,回到我們解決方案的概覽上,看下這個最上層的自動化測試平臺--Airlab云測試平臺,可以看到,這個平臺包含了用例管理、腳本管理、任務預約、任務調度、云端報告和管理后臺等一系列的功能,給我們的持續(xù)集成和測試資源管理提供了很好的解決方案。

像腳本管理、用例管理功能呢,可以幫助我們維護與積累項目組內的測試腳本和用例資源,便于測試團隊協(xié)作;防止出現(xiàn)出現(xiàn)資源丟失或者無法共享的情況;

而其他測試資源,像應用和測試賬號的管理功能,則可以是我們的測試流程更加規(guī)范和專業(yè);

任務預約與調度功能呢,可以幫助我們實現(xiàn)線上發(fā)布定時任務,調度機柜設備資源完成回歸、兼容等任務,跑測完成之后,還能自動輸出報告;這就可以幫助我們實現(xiàn)持續(xù)集成,日常打包完成后,我們可以使用這個平臺自動開啟測試任務并自動生成測試報告。

最后我們的任務報告,也是聚合的測試報告,它不僅提了供詳細的跑測數據,還提供性能數據。

接下來我們可以通過一個簡單的演示視頻,來看下如何在我們的Airlab云測試平臺上開啟自動化任務跑測、并且如何跟Jenkins結合,實現(xiàn)CI集成來完成自動化測試:

在剛才的視頻演示中,我們可以看到,Airlab云測試平臺打通了測試開發(fā)的持續(xù)集成,測試人員可以自定義任務的各種配置,然后調度機柜上的設備集群靈活開啟或者設置預約任務。

運行完畢的任務也會自動生成合并的測試報告,用于查看整個任務的跑測結果。

當然,報告也提供部分性能數據給測試人員查看,系統(tǒng)在自動化測試任務過程中,會自動采集用例腳本運行時的設備性能數據,包括安裝時間、啟動時間、CPU、內存、幀率、網絡流量及電池溫度情況等。

除了任務的整體情況之外,我們還可以查看每個用例在單臺設備上的詳細運行報告,包括用例概況,運行的設備信息,運行過程錄屏, 每個執(zhí)行步驟的結果和截圖和錯誤信息等。

測試人員根據這份可視化的測試報告,可以快速查看測試任務運行結果,定位產品問題。

解決方案的落地應用

那么了解完整套方案包含什么軟硬件之后,我們來看下這套私有云方案具體能給我們帶來哪些收益:

首先是幫助我們提升產品質量,使用這套方案可以可以7*24h幫我們覆蓋測試場景,每次版本發(fā)布前,我們都可以進行大規(guī)模的自動回歸測試,幫助我們及時發(fā)現(xiàn)問題,嚴格把控產品質量,減少線上事故帶來的損失。

其次是大幅度節(jié)省人力;一些繁復的手工測試,可以借助自動化測試來完成;大量的設備經過機柜的統(tǒng)一管理后,能借助我們的設備管理平臺批量管理成百上千臺設備,維護時間和人力都將大幅度減少。

然后還有就是提高設備的利用率,測試人員可以非常便捷地獲取到機柜上的任意一臺或多臺測試設備開展測試工作,另外自動的設備調度和預約系統(tǒng)可以讓每一臺設備得到最充分的利用。借助于智能控電系統(tǒng),也可以高效維護設備集群、保障設備電池壽命。

最后是可以靈活管理各種測試資源,Airlab云測平臺支持對測試資源,如應用包體、測試腳本、測試用例、測試賬號等進行集中存儲及管理,便于測試資源的留存和積累 。測試人員只需準備測試資源及提交配置,即可啟動測試任務,并在大批量設備上進行任務跑測。

那落地實踐這塊呢,首先就是網易內部的實踐,這套自動化測試解決方案已在網易內部落地實踐五六年,至今也服務著數十個項目組和大量的APP或者游戲產品。

當然,深度合作的外部企業(yè)也有很多,像谷歌、headspin、華為云手機、B站、科大訊飛等等,這里就不再一一舉例。

至此,一整套的自動化測試解決方案我們就介紹完畢了。今天的課程到這里也差不多要結束啦,對我們私有云方案感興趣的同學,可以添加我們官方助手的微信咨詢詳情:

下節(jié)課就是我們小白系列課程的最后一課啦,我們會在下節(jié)課對整個小白系列課程做一個內容匯總,那么下期我們不見不散啦~

13帶你看一個企業(yè)級的自動化測試解決方案的評論 (共 條)

分享到微博請遵守國家法律
连江县| 广宁县| 彰化县| 凤山县| 神池县| 德令哈市| 温泉县| 河西区| 日照市| 通山县| 吴川市| 保康县| 静安区| 资溪县| 永康市| 太保市| 安陆市| 长春市| 嘉定区| 绩溪县| 屏山县| 万载县| 庆阳市| 台江县| 大石桥市| 沭阳县| 乌鲁木齐县| 宁乡县| 石家庄市| 青龙| 黔江区| 东宁县| 道孚县| 长春市| 温州市| 铜陵市| 探索| 洞头县| 徐汇区| 浮山县| 察隅县|