背景html
從計算機科學誕生開始,其主要目標一是計算(用計算機對大量數據進行處理),二是自動化(用計算機代替機械重複的人工勞動)。在半個多世紀後的今天,咱們驚訝地發現,引導計算機科學發展的仍然是這兩個範疇:大數據和人工智能(AI)。算法
而自動化測試,是人工智能領域下的一個應用方向,和無人駕駛、機器人等同樣,都是AI技術的應用場景。從技術的發展角度看,自動化測試一共經歷了四代發展變化。從最先提出自動化測試思想,到現在將AI引入自動化測試,貫穿其發展的核心訴求就是但願能有效的解決自動化測試中的時間與人力成本問題。編程
在過去很長一段時間內,自動化測試都侷限於傳統的測試腳本驅動。不管是遊戲開發人員使用的Lua接口,仍是相似Xcode的UI Test,抑或是經過ADB/minicap對Android設備進行簡單操控的Python Script,其本質都是人爲定義規則的自動化操做模擬。傳統方式儘管工做量大,但實現門檻較低,容易上手,容易調試,也容易修改,在很長一段時間裏都是自動化測試的主流方案。相關主流方案的差別一般也只限於自動化腳本接口或規則定義形式的不一樣。網絡
然而,這種人工定義規則的方案都存在一些很明顯的問題:版本迭代頻繁。每次版本變化每每須要從新修改、調整腳本。對於較爲複雜或具備必定隨機性(例如遊戲對局)的場景,難以經過簡單的腳本調整對其提供支持。實際上,對於隨機性極強的遊戲產品,一般不會對遊戲對局過程進行太多測試。框架
部分測試腳本須要產品自己提供對應的操做接口,用於獲取遊戲內部數據。而這種專用測試接口一般不會在正式發佈版本中提供,所以對於真正上線的產品,難以用自動化腳本進行測試,只能靠人工測試。這一點能夠說是致使自動化測試工具至今沒法大規模商業化、產品化的核心緣由。機器學習
AI與自動化測試函數
從20世紀50年代到20世紀70年代初,人工智能的研究處於「推理期」。1981年,Werbos提出了多層感知器,引入了反向傳播(BP)算法,此後,神經網絡獲得了快速發展;1986年,決策樹的機器學習算法被J.R.Quinlan提出,也就是ID3算法;1995年,Vapnik和Cortes提出了支持向量機(SVM),其被做爲一種能使機器學習取得重大進展的方法而獲得推廣;2005年,三層的NN模型強勢崛起,諸多專家在理論和實踐上完全激活了深度學習。2012年,Hinton課題組首次參加ImageNet圖像識別比賽,經過CNN網絡——AlexNet奪得冠軍,CNN網絡吸引了衆多研究者關注;2015年,深度殘差網絡(ResNet)被提出,在衆多比賽中表現突出;2016年,由谷歌旗下的DeepMind公司研發的阿爾法圍棋(AIphaGo)打敗了當時的圍棋世界冠軍李世石,成爲第一個擊敗人類職業圍棋選手、第一個打敗圍棋世界冠軍的人工智能機器人,引發世界輿論的譁然。愈來愈多的技術領域開始嘗試結合AI技術進行開發。至今,AI技術已經在圖像處理、語音識別、藝術創做、自動駕駛等許多方面有了成熟的技術與穩定的應用。工具
在2015年和2016年Google DeepMind發表多篇遊戲自動控制的論文,以及AlphaGo在棋類遊戲上有了打敗人類的先例以後,騰訊互動娛樂事業羣的TuringLab團隊開始思考如何利用最新的AI技術解決上述問題,並將其融入自動化測試工具中。從2017年到今天,經過多個產品的實驗和騰訊內部多個部門的協做,TuringLab團隊成功地開發出一套基於深度學習的自動化AI測試框架,並應用在多款世界知名遊戲產品的平常測試上。性能
AI技術的核心思想是利用已有的歷史數據,訓練出一個較好的AI網絡,經過已經訓練好的AI網絡來處理當下的輸入數據。與傳統的編程方法不用,經過AI算法訓練出來的網絡模型一般會有更好的泛化性。而在傳統的自動化測試中,項目測試的維護成本很高,只要版本更新或功能發生變更,就有可能產生大量的維護工做。引入AI技術後,其帶來的泛化性能夠有效地減小自動化測試的維護成本,在AI模型中編程能夠不作改動,或者直接增長訓練數據就能夠很好的完成測試需求。學習
2020年,TuringLab團隊基於深度學習的自動化AI測試框架基礎,將其開發與應用經驗詳細整理成了《AI自動化測試:技術原理、平臺搭建與工程實踐》一書,與讀者分享騰訊遊戲是如何將AI技術與自動化測試相結合完成測試需求的。
主創團隊
騰訊互動娛樂事業羣TuringLab團隊
由美國歸國技術專家領頭組建,成員包括多位圖像識別處理和機器學習領域的博士,以及多位專一於工程技術的專家。目前,實驗室開發的AI SDK自動化測試平臺已經成功接入騰訊公司的幾十款在正式運營的商業遊戲,並同時服務於WEST產品、即通手Q產品,以及各遊戲工做室的多個產品。
[主編]
張力柯
騰訊TuringLab實驗室負責人,資深AI系統設計專家;美國德克薩斯大學聖安東尼奧分校計算機科學博士,曾前後在美國微軟、BCG、Uber及硅谷其餘創業公司擔任研發工程師及項目負責人等;
[聯合做者]
周大軍:騰訊TuringLab實驗室AI工程組負責人,有10年以上工程技術開發經驗,負責開發的GAPS(壓測大師)獲騰訊公司首屆最佳工具獎,申請及參與提交工程、無人機、AI相關專利70餘項;
黃超:資深AI算法研究員,前後在國內外重要的期刊和會議上發表20餘篇論文,並提交AI相關專利25項;
李旭冬:資深AI算法研究員,在國內外重要會議和期刊上發表學術論文15篇,申請AI相關專利10項;
申俊峯:資深軟件工程師,有10年以上工程技術開發經驗,前後提交相關技術專利10項;
王潔梅:騰訊高級工程師,前後提交發明專利23項,其中國際檢索2篇;
楊夏編:騰訊高級工程師,前後提交發明專利26項
書籍簡介
《AI自動化測試:技術原理、平臺搭建與工程實踐》一書共分了三個部分。
第一部分是原理篇,重點介紹圖像識別算法、基於值函數和策略梯度的強化學習、模仿學習的研究現狀與在自動化測試中的運用等相關的AI算法原理,還詳細講解了Android設備調試相關問題,爲後續學習具體工具的落地應用打下基礎。
第二部分是平臺篇,將用長達117頁的詳細介紹爲工程師們講解騰訊遊戲AI自動化開發工具的設計與實現,包括和Android設備的對接、數據標註流程、AI算法在遊戲自動化中的具體實現、AI SDK平臺二次開發等。
第三部分是最佳實踐篇,將經過不一樣需求場景下的實踐案例,爲工程師們展現在實際遊戲產品的測試如何使用本書介紹的測試平臺完成各種不一樣的需求,並可嘗試在此基礎上實現定製化功能。
結語
AI做爲近些年的技術熱門話題詞,有很多企業行業打出「人工智能」的標籤製造噱頭,吸引大衆的眼球。在自動化測試技術多種多樣的背景下,與AI技術結合的自動化測試方法卻已經在諸多適當的場景達到了提升生產效率,節省企業的人力成本的效果。
從目前騰訊公司的AI自動化測試實踐來看,多分辨率手機的相關測試如兼容性、性能、迴歸等節省的成本是最明顯且有效的。如今,TuringLab團隊將AI測試平臺免費開源開放,若是用戶以爲已有的算法或者功能不能知足測試需求,能夠本身開發一些更適合本身業務的功能與算法。《AI自動化測試:技術原理、平臺搭建與工程實踐》一書也將更好的爲你指引AI+自動化測試的開發方向。如今點擊購買,還可享受限時8折特惠!