測試模組知識 Tree

侑虎科技發表於2020-12-28

無論對於從業者還是正在讀大學的技術萌新,學習的有效時間和個人時間都是有限的。高效學習者最在意的是時間的價值,一個需要體系化的知識地圖就顯得尤為重要。

本期為大家整理了UWA釋出的與遊戲測試開發相關的內容,歡迎大家按照自己的興趣和需要參考取閱。

往期知識Tree回顧:
《Unity引擎邏輯程式碼模組知識Tree》
《Unity引擎渲染模組知識Tree》
《Unity引擎UI模組知識Tree》
《Unity引擎資源管理模組知識Tree》
《UWA學堂綜合模組知識Tree》

《自動化測試從入門到精通》

Airtest是由網易遊戲質量保障中心自主研發的一套基於UI層的所見即所得的自動化測試框架,同時支援安卓、iOS、桌面應用、網頁應用和小程式等。

本課程期望幫助剛開始學習自動化測試的工程師、對自動化測試感興趣的職場新人和Airtest新使用者快速掌握自動化測試的學習路徑,以及掌握Airtest自動化測試。

《Jenkinsfile基礎與UWA本地資源檢測元件接入實戰》

本課程針對引數化構建、節點、環境變數等來介紹Jenkinsfile的編排,詳細講解了string、bool、choice等常見的4種引數的引數化構建方法,變數的定義與引用以及post語句塊中經常會使用到的構建狀態指令,拋開原來Freestyle project的使用模式,改用Pipeline來替代,滿足更復雜工作的需求,並且使整體流程更靈活,更易維護。

結合UWA的“本地資源檢測”業務進行實戰,使用Jenkinsfile從本地資源檢測元件的接入到上傳測試結果,完成整個UWA本地資源檢測業務的流程編排,在實際使用過程中感受Jenkinsfile的魅力。

《如何快速搭建遊戲自動化測試》

目前,自動化測試需求已經被越來越多的遊戲開發團隊所重視。一方面自動化測試可以讓研發團隊及時發現潛在問題,將大部分問題及時扼殺在搖籃裡,另一方面,則是將繁複的檢測工作進行自動化處理,可以進一步提升工作效率,降低研發成本。所以,本文我們從自身的工作出發,總結了在自動化測試開發過程中所遇到的重要問題。

內容主要包括:從遊戲版本在Jenkins上的自動構建到Python測試框架優化,再到自動化測試在遊戲中的運用,最後探討在遊戲研發中發揮自動化效能測試的作用。通過講解以上各部分的搭建,希望可以讓大家更深入地理解遊戲自動化測試體系。

本文中所講解的多數搭建過程都可以利用開源專案來完成,例如:Unittest、WDA、GAutomator和TCloud等。同時,也可以參考我們的定製思路,根據自身遊戲專案的特點進行開發和定製。

本門課程屬於基礎課程,特別適合於遊戲團隊的測試開發人員閱讀,同時需要具備少量的專案工程搭建以及二次開發能力,例如使用Python、C#、 JavaScript等。希望對大家專案中的自動化測試框架的設計和搭建能有所幫助。

《Linux三劍客與Airtest的應用》

通過課程,讀者可以獲得日誌操作的能力,並掌握Airtest測試框架基礎應用。具體將講解grep、awk、sed對日誌的操作以及Airtest提供的圖形識別與Poco模式的基礎功能。(關於“assert_exists() 介面使用特殊的 ST.THRESHOLD_STRICT 值作為找圖閾值的設定”問題,Airtest已經在最新版本里修復。)

《Jenkins自動化打包詳解》

文章主要介紹了利用Jenkins實現Unity的自動化打包釋出,主要從以下幾個方面展開介紹:

  1. 什麼是Jenkins,為什麼要用它
    維基百科是這樣定義的,Jenkins是一款由Java編寫的開源的持續整合工具,在我的理解就是自動化開發的一個腳手架。Jenkins應用於網際網路開發的方方面面,不僅僅侷限於本文主要講的遊戲自動化釋出,據我瞭解它用於網際網路開發釋出、移動開發釋出、運維相關等等,是一個非常實用的工具,幾乎成了IT公司的標配,注意這裡沒有侷限公司的規模和行業,這說明Jenkins的實用性足以讓我們沒有任何理由不去了解和使用它。

  2. 如何配置Jenkins和打包
    本文講解了Windows、Mac配置Jenkins,以及配置過程中要注意的地方,介紹了打包Windows、Android、iOS等客戶端以及在此過程中會碰到的困難和解決方案。

  3. Jenkins打包流程優化
    我們不能僅僅滿足於自動化打包功能的實現,還要深究如何更好地利用它,讓自動化做到極致,做到釋出的全過程不需要人工參與。

《遊戲客戶端高可用性的探索》

在過去的五年裡,移動網際網路的測試技術正在突飛猛進地發展。移動遊戲作為移動網際網路的一部分,我們的質量體系可以從中吸取到怎樣的經驗和啟發呢?

當遊戲上線後獲得了玩家的廣泛傳播和熱愛時,我們的質量體系是否為隨之而來的更高標準的挑戰做好了準備?遊戲卡頓、載入慢、閃退、耗能等,一直是質量技術在不斷探索和解決的問題。

本課程將從兩方面分享有關移動遊戲客戶端的質量體系的經驗和方法。

  1. 為了達到遊戲客戶端的高可用要求,我們需要搭建哪些基礎體系?並且如何能用好它們。
  2. 怎樣治理遊戲客戶端的效能和穩定性問題?如何用穩健的策略去釋出我們的新客戶端。

各品類頭部遊戲的爭奪,也會是質量和技術博弈的舞臺。在海量的玩家面前,誰的質量和穩定性更勝一籌可能就留住了玩家。移動遊戲也可以像網際網路大佬那樣嚴苛地去挑戰質量的極限。希望課程能對準備著未來產生爆款遊戲的開發者們產生更多的思考,迸發出更多創意性的火花。

《輕量級流水線結合方案助力打造高品質遊戲》

在遊戲版本高速迭代的今天,效能優化一直是一個很重要的命題,但是大部分團隊面對日益繁重的研發壓力,通常會把所有的效能優化環節放在最後,因此不得不面對優化成本大幅增加、開發週期大幅變長的問題。對此,我們提供了一種輕量級的流水線結合解決方案來解決這一問題。當我們把相關的效能檢測由手動過渡到自動,把大量的優化工作前置到平時進行處理,把開發週期的末端節點的效能優化轉變成開發過程中的效能保障,那麼這一切都將迎刃而解。

整體的結構是由若干元件構成的,與CI工具進行結合,既可以視其為一條完整的工具鏈,也可以視其為一條完整的CI流水線,從程式碼檢出到接入需要的工具進行檢測、打包、檢測結果的展示等一系列的流程。易於接入同時又以極低的維護成本穿插在整個專案開發週期之中。通過對專案的各種資源、場景、全域性設定以及程式碼層面等等的維度進行全方位的檢測,旨在有效地解放生產力,讓研發更專注於功能和框架,讓QA更專注於質量,為專案提供更智慧、更簡潔和更高效地護航。

《Python變數作用域》

本節課程節選自《遊戲自動化測試》,主要針對Python變數作用域進行講解。《遊戲自動化測試》課程背景:Airtest一直是遊戲自動化測試中的重要工具,本課程通過專案實戰講解Airtest及相關的語言和工具,從而全方位瞭解Airtest的特性以及自動化測試的思路。

以上是就是本期為大家梳理的UWA學堂中與測試開發模組相關的知識Tree,作為體系化的知識,我們希望大家能掌握背後的邏輯與原理,結合學習方法論並反覆實踐,能夠在自己的專案中更高效地進行資源管理。同時也歡迎大家向我們投稿,交流行業內的技術知識。

相關文章