【NCTS峰會回顧】Testin徐琨:AI引領(lǐng)下一代測試,iTestin改寫測試未來
2019年10月26日,由Testin主辦的第二屆NCTS中國云測試行業(yè)峰會在京召開,此次峰會以“AI+未來”為主題,匯聚來自國內(nèi)外測試領(lǐng)域的知名專家學(xué)者、領(lǐng)先企業(yè)決策者、高層技術(shù)管理者、媒體從業(yè)者等,共同探討高端云測試技術(shù),幫助測試從業(yè)者了解最前沿行業(yè)趨勢及最新的行業(yè)實踐。
會上,Testin總裁徐琨正式發(fā)布全新AI測試產(chǎn)品iTestin,作為Testin人工智能戰(zhàn)略中的重要一環(huán),iTestin融合了目前測試領(lǐng)域頂尖的自然語言處理、文本識別、圖標(biāo)識別技術(shù),全面提升測試產(chǎn)品的易用性和自動化效率,在提升腳本編寫效率一倍的同時,將腳本的維護成本降低了一倍。
在現(xiàn)場的發(fā)布環(huán)節(jié),徐琨用自然語言在iTestin上現(xiàn)場演示AI+測試的真正能力,引起了現(xiàn)場觀眾的驚嘆和稱贊。使用iTestin的測試人員只需在界面中輸入點擊、等待、檢查、長按、輸入等自然語言的文字描述,后臺的AI就能準(zhǔn)確實時的在真機上進行完整無誤的操作和相關(guān)指令。
以下為徐琨演講實錄:
我是來自Testin的徐琨,先簡單說一下辦NCTS中國云測試行業(yè)峰會的出發(fā)點。Testin做測試已經(jīng)有8年的時間了,我們發(fā)現(xiàn),整個測試行業(yè)的交流、分享機會其實不是很多,Testin希望借助這個平臺,將學(xué)術(shù)界知名專家學(xué)者、領(lǐng)先企業(yè)決策者、高層技術(shù)管理者、媒體從業(yè)者,以及互聯(lián)網(wǎng)頭部公司探索的一線測試大咖們都邀請過來,一起探討中國的測試領(lǐng)域到底走到了哪一步,將更好的經(jīng)驗和各位同行一起學(xué)習(xí)和分享,希望大家都能夠在會議中有所收獲。今天是Testin辦的第二屆云測試峰會,未來還會有第三次、第四次,我們會一直辦下去,希望能給測試行業(yè)做一點小小的貢獻。
進入正題,本次大會的主題是AI+未來,我將為大家介紹Testin通過人工智能在自動化測試方面的探索和成果。我就從測試的自動化講起,干測試的都很清楚,70%到80%的工作都是重復(fù)的,都在做同樣的測試。從有測試這個事情開始,大家就在想,能不能用自動化的技術(shù)把人從重復(fù)的、無聊的測試中解放出來。之前,我把業(yè)內(nèi)能找到的比較流行的自動化的框架都找過來,包括基于安卓的,iOS的等等,發(fā)現(xiàn)它們的操作界面大同小異,很像一個IDE。所有的自動化框架雖然是自動化的,希望降低整個成本,但測試者還是要去學(xué)習(xí)編程語言。要測試的應(yīng)用總在改,這導(dǎo)致自動化的腳本也要跟著改;再一個就是跨應(yīng)用、跨平臺方面的支持,做得都不是很好。
在今天,自動化測試實現(xiàn)的特別好的往往是接口部分,其它的就不太好了。我們也一直在做自動化的探索,導(dǎo)致這個問題的根源在哪兒?我們認(rèn)為,是因為在底層受到了一些限制,都是基于程序本身做自動化框架而受限于語言本身。另外,還受限于程序設(shè)計者能夠想到的各種場景,機器沒有辦法思考和學(xué)習(xí)。但是人不一樣,界面無論怎么改,只要人能看得懂,就能操作。
我們在思考,自動化測試再往前走,是不是機器可以像人一樣去做測試,而不是像寫程序一樣做測試?這個問題我們研究了很多年,也嘗試了很多次。直到2012年以后,機器學(xué)習(xí)出現(xiàn),尤其是2016年以后,通過深度學(xué)習(xí),計算機視覺、自然語言處理等,我們發(fā)現(xiàn)可以有機會讓機器像人一樣,看得懂人類的語言,讓機器也可以像人一樣理解圖形。
人類定義了很多圖標(biāo),比如“后退”,“home鍵”等等,而機器可以知道圖標(biāo)背后的意思,能知道后退的按鈕就是后退的意思。當(dāng)然,機器還可以像人一樣操作各種軟件,原來的自動化都可以實現(xiàn)。最有趣的一點就是,如果我們做得好,機器可以像人一樣做到持續(xù)學(xué)習(xí),根據(jù)數(shù)據(jù)去訓(xùn)練它,使它可以學(xué)會新的場景,甚至比我們自己,比我們做測試的建的場景更好。
Testin用幾年時間把整個人工智能的技術(shù)結(jié)合到測試上,今天會發(fā)布iTestin。它的核心,第一部分是在語言的編寫部分,完全是基于自然語言,就是日常生活的點擊,登陸,向左劃,向右劃等等,前端的操作會變得更簡單;另外,我們在后臺AI的人工智能部分做了大量的工作,認(rèn)識NLP語言,認(rèn)識各種圖形,比如“點擊登陸”“向下滑動”這八個漢字,這也是iTestin自動化工具的兩條操作語句。我們針對了兩個原則,一個是只要會中文,就可以寫自動化腳本,點擊登陸,點擊下滑,只要會用手機操作基本上就可以理解所有操作的點。
我之前給Testin的市場同學(xué)介紹過這個產(chǎn)品,我用半個小時就能教會一個從來不懂程序代碼的人完整寫完他人生第一個程序。基于手機上的操作,現(xiàn)在基本都可以支持,action,還有一些后臺的能力,包括等待,系統(tǒng)按鍵等等。這些操作其實很依賴背后AI的識別能力,第一塊就是OCR。OCR的準(zhǔn)確度會直接影響到整個執(zhí)行,因為本質(zhì)上是看到界面,我們大部分操作是基于文字的,文字有不同類型的字體,不同樣式,還有遮擋等等。我就不講技術(shù)細節(jié)了,基本上通過OCR的技術(shù),能夠把熱點的文字全部篩選,就可以像人一樣去操作各種文字按鈕,可以讀懂整個頁面的意思是什么。我們把系統(tǒng)的按鍵內(nèi)置到整個AI的后臺里面。
圖標(biāo)這部分比較有意思,人類認(rèn)識很多圖標(biāo),但是讓AI認(rèn)識圖標(biāo)是蠻困難的事。我們收集了幾百萬的圖標(biāo),訓(xùn)練出這個模型,讓它能認(rèn)識通用的,大概不到100種,后面隨著數(shù)據(jù)越來越多,我們還會讓機器越來越聰明,計算機視覺可以把圖形做更多的識別,以后基于圖像可以做很多很多的事情。
我們現(xiàn)場測試一下這個工具到底怎么樣。我先簡單介紹一下現(xiàn)在的屏幕里面投的是我們放在這里的筆記本,左邊是手機的界面,后臺會有一臺小小的筆記本作為AI的后臺。右邊是我們整個錄制腳本的IDE,現(xiàn)在我當(dāng)著幾百人寫程序,而且這個程序是中文的。
我現(xiàn)在打開了QQ音樂,一個多月前周杰倫同學(xué)發(fā)了一首新歌,先去搜索一下,我會輸入“點擊搜索”,這個操作機器會去執(zhí)行。然后,進入到搜索界面,我點擊搜索音樂,到輸入框,輸入“周杰倫”,點擊“說好不哭”這首歌。
為了測試這個,我們花了不少錢,因為周杰倫每次都要收3塊錢。看到周董的樣子,如果向左劃動,我們先把歌停下來,給周董發(fā)句話,我試著分享到QQ空間。輸入“少喝奶茶多寫歌”發(fā)給他,希望周董可以看到。這是我剛才錄過的腳本,現(xiàn)在給大家看一下,如果我要回放的話會是什么效果,它可以變成組合的腳本。現(xiàn)在是機器自己在跑,從剛才點擊搜索,它會去輸入“周杰倫”,在結(jié)果列表里面我們找到周杰倫的這首歌,再次去定位它。
這是我剛才錄進來的界面,切到周杰倫的頁面,然后再去左滑動,右滑動,等待5秒的原因是基于UI層面去識別的,我們等待整個網(wǎng)絡(luò)下載頁面加載,網(wǎng)絡(luò)條件比較好的話只需要2秒鐘就可以了。我希望周董好好減肥,記住我今天當(dāng)著幾百人的面給他的寄語。
我剛才演示的是單個手機回放的過程,我今天拿了四臺手機,如果在多臺手機上會是什么效果?左邊是單機回放的,一步一步執(zhí)行,多機回放的時候相當(dāng)于一個腳本發(fā)到后臺里面,在四臺手機上自動去走,那四個手機就在機柜里面。我今天取了華為、OPPO、小米、vivo的四臺手機,還是我剛才寫的那個腳本,這四臺手機一起在放這首歌。
Testin還有一個全球最大的實驗室,這是我們第一次公開實驗室情況。有上萬款手機,幾千款機型,每天都在跑,全球各地不同的APP,上面執(zhí)行的自動化的腳本就是今天給各位演示的用NLP方式寫的。我們大概從2011年到現(xiàn)在,整個Testin平臺已經(jīng)跑了超過2億次應(yīng)用。
剛才郭教授講到整個中國大概有200萬APP,Testin從開始到現(xiàn)在,測試過的APP已經(jīng)超過260萬,測試的次數(shù)大概是2.3億次。我剛才演示的是機器像人一樣去做測試的過程,除了它在操作的過程之外,其實機器還可以干機器該干的事情,我們是把測試報告做匯總,把產(chǎn)生的CPU、內(nèi)存,所有數(shù)據(jù)抓取出來形成一個圖表,同時還有各種測試的結(jié)果,我們會存留測序的軌跡,所有日志都會截取下來。
在傳統(tǒng)的自動化里要實現(xiàn)向下滑動,要寫20行代碼,使用iTestin工具就寫四個漢字 “向下滑動” 就可以了。現(xiàn)在,我要再測試一個腳本,這個腳本跟微信有關(guān)。大家剛才在進場的時候,我的同事應(yīng)該讓大家去掃碼,不知道大家是不是已經(jīng)加入了今天測試大會的群,如果還沒有,我希望你在10秒鐘之內(nèi)入群。如果你還沒有加入這個群,一會兒損失可能會很大。左邊打開的是我們的腳本,這個腳本其實非常簡單,先點“微信”,然后點“NCTS”,進入到這個界面。我們看一下這個腳本,現(xiàn)場讀一下,它會進到這個群里面,然后點更多的功能,點“紅包”按鈕。金額填寫“888”,現(xiàn)場測試真的好緊張。
各位果然是做測試的,已經(jīng)完全體現(xiàn)出來了。
現(xiàn)場測試結(jié)束,回到正題。再次看一下,剛才“向下滑動”對應(yīng)的代碼。我們會發(fā)現(xiàn),原來傳統(tǒng)的自動化工具里面存在著一些學(xué)習(xí)成本高,維護成本高,比如不支持跨平臺的問題,我們想通過iTestin這個工具讓學(xué)習(xí)成本降下來,讓維護成本也可以降下來,甚至可以支持跨應(yīng)用。我剛才發(fā)布到微信,發(fā)布到QQ音樂,就是跨應(yīng)用的,本質(zhì)上機器跟人一樣在操作這個應(yīng)用。如果AI變得更加聰明,甚至可以比人做得更快,更好。我們希望通過iTestin讓機器像人一樣測試。
最后,我想說一下Testin的愿望,其實這個愿望剛才已經(jīng)發(fā)給大家了,話都在紅包里,我們希望能夠讓測試這個事情變得更加簡單,希望我們所有做測試的同行,可以更加幸福。為了讓大家更加幸福,我決定自己發(fā)一下紅包,看和機器相比哪個快。
今天我想講的東西已經(jīng)講完了,希望未來各位測試同行還可以多交流,分享,把測試做得更加有趣,更加高效。再次感謝大家,謝謝!