人妻少妇乱子伦精品_日韩人妻潮喷视频网站_日本最新最全无码不卡免费_日韩AV无码中文

當前位置: 首頁 > 科技新聞 >

測試行業(yè)大變革,人工智能引領下一代測試

時間:2019-12-01 00:21來源:網(wǎng)絡整理 瀏覽:
經(jīng)歷過移動互聯(lián)網(wǎng)繁榮時代,目前來看中國的移動應用生態(tài)已是非常龐大。從市場來看,多達上百個應用市場,APP相關產業(yè)已超千億美元規(guī)模;從構成來看


經(jīng)歷過移動互聯(lián)網(wǎng)繁榮時代,目前來看中國的移動應用生態(tài)已是非常龐大。從市場來看,多達上百個應用市場,APP相關產業(yè)已超千億美元規(guī)模;從構成來看,移動應用生態(tài)的組成,包括移動用戶、手機、開發(fā)商,以及超級APP和應用市場;從規(guī)模來看,移動用戶規(guī)模巨大,手機版本眾多,能統(tǒng)計到的開發(fā)者和真正有簽名的開發(fā)商已超百萬,還有其他未統(tǒng)計到的成千上萬的移動APP;這些一起組成了規(guī)模龐大的移動應用生態(tài)。

事物往往是兩面性的,我們在享受如此龐大的移動互聯(lián)網(wǎng)帶來的種種好處的同時也必須忍受與之相伴的不好的地方。因為整個移動應用市場是非常復雜的,就質量而言,雖然國內很多應用市場都號稱做了非常嚴格的審查,但事實上,很多APP的應用質量都不盡如人意,而且很多都存在著嚴重的問題,北京大學計算機科學技術系副主任郭耀教授在NCTS中國云測試峰會上分享了目前移動應用市場的復雜性和面臨一些問題:

中國移動應用生態(tài)很復雜;國內的應用更新不及時,導致用戶在應用市場下載的應用很多版本都不是最新版;虛假應用占市場的平均比例是Google Play的20倍;多達80%的應用過多申請了權限;應用市場對惡意應用的審核具有延遲性。

那么,對于此類問題如何處理呢?一是幫助用戶更好地理解應用到底怎么用,二是對軟件進行測試,當然想要最高效的解決這些問題,還需要一個更高效的智能化測試平臺。

一、AI引領下一代測試,iTestin改寫測試未來

Testin云測總裁徐琨

在剛剛過去的第二屆NCTS中國云測試行業(yè)峰會上,Testin云測總裁徐琨正式發(fā)布了全新AI測試產品iTestin,作為Testin云測人工智能戰(zhàn)略中的重要一環(huán),iTestin融合了目前測試領域頂尖的自然語言處理、文本識別、圖標識別技術,全面提升測試產品的易用性和自動化效率,在提升腳本編寫效率一倍的同時,將腳本的維護成本降低了一倍。在現(xiàn)場的發(fā)布環(huán)節(jié),徐琨用自然語言在iTestin上現(xiàn)場演示AI+測試的真正能力,引起了現(xiàn)場觀眾的驚嘆和稱贊。使用iTestin的測試人員只需在界面中輸入點擊、等待、檢查、長按、輸入等自然語言的文字描述,后臺的AI就能準確實時的在真機上進行完整無誤的操作和相關指令。

iTestin真正神奇之處在于,僅半個小時就能教會一個從來不懂程序代碼的人完整寫完他人生第一個程序?;谑謾C的操作基本都支持,這包括action,部分后臺的能力,等待,系統(tǒng)按鍵等等。這背后的操作依賴的是AI的識別能力;最重要的是OCR,OCR的準確度會直接影響到整個執(zhí)行,因為本質上是看到界面,大部分操作是基于文字的,文字有不同類型的字體,不同樣式,還有遮擋等等。通過OCR的技術,能夠把熱點的文字全部篩選,在iTestin后臺可以像人一樣去操作各種文字按鈕,可以讀懂整個頁面的意思是什么。這是iTestin把系統(tǒng)的按鍵內置到AI的后臺里面。

Testin云測用幾年的時間把整個人工智能的技術結合到測試上, iTestin的核心,第一部分是在語言的編寫部分,完全是基于自然語言,就是基于日常生活的點擊,登陸,向左劃,向右劃等等,這讓前端的操作會變得更簡單;另外,在后臺人工智能部分做了大量的工作,認識NLP語言,認識各種圖形,比如“點擊登陸”“向下滑動”這八個漢字,這也是iTestin自動化工具的兩條操作語句。

圖標這部分比較有意思,人類認識很多圖標,但是讓AI認識圖標是蠻困難的事。Testin云測團隊收集了幾百萬的圖標,訓練出這個模型,讓它能認識通用的,近100種,隨著數(shù)據(jù)越來越多,還可以讓機器越來越聰明,計算機視覺可以把圖形做更多的識別,可以預見的是,基于圖像未來可以做很多很多的事情。

二、測試行業(yè)需要AI加持

對于軟件測試行業(yè)來講,移動互聯(lián)網(wǎng)的發(fā)展和興起為軟件測試的發(fā)展帶來了機遇的同時也帶來了巨大的挑戰(zhàn)。這不得不從本質問題說起,相對互聯(lián)網(wǎng)時代之前的傳統(tǒng)IT時代,軟件通常研發(fā)周期較長,軟件功能龐大,更新頻率較低,軟件是作為支撐企業(yè)業(yè)務發(fā)展的配套設施而存在的,之所以叫配套設施,也就是對于企業(yè)而言即使沒有它,業(yè)務發(fā)展依然可以進行,無非是管理效率可能會受到一些影響。而來到移動互聯(lián)網(wǎng)時代,從本質上來看,軟件本身就是企業(yè)的商業(yè)模式的核心競爭力,不再僅僅是一個配套設施,而是核心設施,核心能力,其直接決定了在復雜多變的商業(yè)環(huán)境中,企業(yè)是否具備核心競爭力。

但是在傳統(tǒng)的測試平臺中,諸如腳本和框選目標控件等工作仍需要大量的人工介入,這遠遠滿足不了目前的龐大的市場需求。在行業(yè)追求效率的引導下,以AI技術為核心的測試新模式成為了行業(yè)爭相討論和想突破的焦點,新技術、新方法、新思維、新未來成為了測試行業(yè)的變量。

目前來看,AI+測試已有成為業(yè)內共識的趨向,人工智能在測試行業(yè)的落地也誓將開啟整個測試行業(yè)的新時代。來自阿里、搜狗、京東、埃森哲、VIPKID、平安集團、汽車之家、餓了么等眾多行業(yè)翹楚都在NCTS中國云測試峰會上為大家分享了最新研究和測試實踐。

三、如何打造全流程AI測試平臺

北京大學計算機系博士李元春在做《強化學習在自動測試中的應用》時介紹了關于GUI測試相關的研究并指出,“將強化學習應用到GUI測試的難點主要是狀態(tài)的表示和獎勵函數(shù)的設計,即如何將交互界面中的圖像、文本等多模態(tài)特征進行有效的編碼,以及如何將測試的目標轉化成對測試輸入的獎勵?!?strong>這其中包括基于深度學習的GUI測試和基于強化學習進行UI功能的測試的內容。

李元春提到雖然將深度學習和強化學習應用于測試有廣闊的前景,但是目前想要達到大規(guī)模使用還有很長的路要走。難點一:測試這個問題十分復雜,目前的深度學習主要是拿圖片或者文字作為輸入,而UI是更為復雜的一種信息,既有視覺信息又有文本信息,現(xiàn)在沒有特別好的模型或方法去捕捉UI上的特征。二:強化學習算法成功的領域往往都是游戲,例如強化學習可以把圍棋解決得很好,一個重要的原因是,在游戲領域,Reward是比較明確的,但是在測試里面,想評估一個測試用例是好是壞,沒有一個準確的指標,最后評估下來,每一個測試用例,不管是正確的還是錯誤的,得到的Reward都是非常相近的,這就導致強化學習模型很難區(qū)分正確和錯誤。要解決這些問題,一方面有研究挑戰(zhàn),一方面也有很多工程問題要解決,還需要學術和產業(yè)界共同努力去解決。

四、企業(yè)如何進行DevOps轉型

顧宇在分享企業(yè)DevOps轉型的經(jīng)驗時提到,“我不推薦企業(yè)在 DevOps 能力不足的情況下做微服務改造,因為企業(yè)在質量標準較低的情況下,縮短發(fā)布周期,提升部署頻率是沒有意義的。”

目前來看很多企業(yè)在完成微服務改造之后,其測試成本都增加了。原因是從前是單體應用,后面改成分布式應用,需要測試的點多了,服務和服務之間各種功能性測試和非功能性測試都要測試,特別是在SIT這部分,這部分增加成本會帶來延緩交付周期的結果。企業(yè)在 DevOps 能力不足的情況下做微服務改造是不推薦的,微服務應當是 DevOps 成熟度高之后的必然結果;否則很多質量問題會導致人力成本和時間成本的大幅增加。

DevOps需要解決兩個問題,第一是軟件交付效率,第二是交付質量。質量和效率都很重要。如何提升呢?這就需要以下幾點舉措:

準確定義Bug;建立完善的需求文檔,減少對接成本;打破DevOps組織墻,樹立正確的DevOps測試觀等。

五、360搜索業(yè)務構建全自動化測試平臺

360搜索測試總監(jiān)彭興強分享了360搜索業(yè)務如何通過CI/CD全流程自動化、功能、性能、接口測試自動化,再加上業(yè)務監(jiān)控、線上產品質量的自動化分析、AB實驗以及一套完善的數(shù)據(jù)分析系統(tǒng)來保障線上服務質量。

傳統(tǒng)軟件制作全流程是自發(fā),自測,提測,冒煙測試;如果流程通不過就打回,冒煙測試結束就進入QA測試環(huán)節(jié)。而在全自動化測試的流程中,制作的驗證是其中的一個基本功能,另外的功能是回歸,功能、接口、模塊,離線建庫,性能測試,DIFF測試,兼容性測試等,由于線上可能存在不同的版本,版本上線之后,對當前版本是支持的,對上下版本的兼容需要進行測試,因此所有環(huán)節(jié)都是在自動化的過程中實現(xiàn)的。

360團隊做的事情是將前面的所有部分抽象出來,都放在全自動化測試流程,編譯打包,提測,冒煙測試和自動化測試,所有都放到一個全自動化測試流程里。

一個自動化測試平臺包含接口自動化,服務端自動化,前端自動化性能和測試自動化。在自動化測試平臺,針對每塊業(yè)務都是有數(shù)據(jù)定制化的,因此開發(fā)不用關心數(shù)據(jù),只要選擇做什么業(yè)務,選擇什么樣的數(shù)據(jù),點擊確認就可以。360研制的自動化測試平臺主要有以下幾大亮點功能:

數(shù)據(jù)上傳:有特定的數(shù)據(jù)去驗證,可以自己上傳需要的數(shù)據(jù)。

實時日志:如果測試需要觀察實時數(shù)據(jù)的狀況,有些性能測試不需要把整個測試做完之后再看結果,比如10分鐘,20分鐘,發(fā)現(xiàn)問題了可以停止測試,去排查問題,一個自動化測試平臺是支持秒級的數(shù)據(jù)查看。

歷史任務管理:指標變化情況,都可以在平臺里進行查看。

進程監(jiān)控:在特定的任務里面需要關注某些進程的情況,需要把進程名稱填進去,可以通過平臺察看。

六、AI在測試行業(yè)的應用和實踐

1. AI模型測試探秘

融360高級技術經(jīng)理艾輝在做《AI模型測試探秘》主題演講時,分享了AI在金融科技的應用場景并指出,AI在金融行業(yè)的商業(yè)場景變現(xiàn)領域做的相對成熟,這主要得益于數(shù)據(jù)的質量,以及數(shù)據(jù)的豐富度,它們對模型的效果起著極其重要的作用。

模型測試的痛點都有哪些?第一是難,門檻很高,傳統(tǒng)工程測試的方法不能完全的復用,二是抽象,模型測試是黑盒和強數(shù)據(jù)相關的,體現(xiàn)在問題定位難和排查問題時數(shù)據(jù)關聯(lián)性強。

在打造AI產品質量體系分為線上和線下:線下三個模塊,模型質量、數(shù)據(jù)質量、工程質量。線上做各種模型效果的監(jiān)控,特征的監(jiān)控,一致性監(jiān)控的,覆蓋率的還有業(yè)務表現(xiàn)的監(jiān)控等。

2. 如何對線下測試進行智能化建設

阿里巴巴測試開發(fā)專家潘家騰在做《阿里媽媽在線下測試域的智能化建設》主題演講時,分享了阿里媽媽在線下測試方面的實踐,包括業(yè)務的現(xiàn)狀與挑戰(zhàn),進入智能化的邏輯,以及如何實現(xiàn)線下測試的智能化。

線下功能測試的發(fā)展歷程分為三個階段,第一是大航海時代,特點是以人工測試為主,自動化程度不高;第二個階段是工業(yè)革命時代,自動化程度非常高了,測試的框架也有了,加上持續(xù)集成的工具,比如阿里內部的一些平臺,共同組成了很高的自動化方式。但是,由于測試技術的門檻非常高,開發(fā)無法參與進來,大部分工作都由測試來進行。在阿里內部,有不少團隊還是處于高自動化的時代,但是還沒有進入智能化的時代;第三階段是智能化的時代,特點是產品化、可視化,以及部分的智能化,大大的提高效率。團隊嘗試著讓整個測試工作更簡單,通過降低門檻,讓開發(fā)、算法或者其他同學都能夠參與進來。這個階段主要是向測試平臺或者測試中臺的演進。

智能化技術非常重要,但是如何結合測試場景是更重要的事情。功能測試域主要分為三個部分,第一是case如何寫,就是用例生成,第二是用例回歸,也就是說寫完case之后快速的迭代這些case,第三是一旦case測試失敗之后,怎么去做智能排查,這三部分智能化都有所體現(xiàn)。除此之外智能化技術還有:用例智能推薦,數(shù)據(jù)智能推薦,智能冒煙回流技術,智能回歸技術,智能排查反饋等部分。

3. DevOps +AI

網(wǎng)易傳媒測試總監(jiān)張濤分享了網(wǎng)易新聞在最近一年里在DevOps方面的實踐,并指出,“DevOps落地的過程也是一個提升測試價值的過程,從關注服務可用性到關注系統(tǒng)的可測性和穩(wěn)定性,在研發(fā)、測試和運維全流程中發(fā)揮中樞作用?!?/p>

張濤在分享DevOps提升迭代效率的思路和方法時,提出了傳統(tǒng)DevOps火車模式的明顯問題,那就是轉向班車模式,班車模式改變了集中需求收集和集中的研發(fā)測試的方法,有新的需求隨時去提交,隨時去評審,隨時做研發(fā)和測試;再之后就是評估時間周期是否合理,網(wǎng)易新聞的評估周期是固定三周一個迭代。

另一個就是聯(lián)合項目管理團隊一起做的OverMind平臺,其最大的作用就是從需求到研發(fā),到上線,到測試,把各個環(huán)節(jié)常規(guī)所需要用到的一些平臺和工具都串聯(lián)打通。比如需求的管理,研發(fā)所使用的分支管理工具,以及測試的工具,上線的平臺,都進行串聯(lián)打通。網(wǎng)易新聞團隊測試時也把Testin云測全新AI測試產品iTestin提供的自動化的能力集成到了整個的流程里面。

通過機器學習測試加持,DevOps實現(xiàn)了對全鏈路的監(jiān)控,另外在如何梳理服務的依賴關系和鏈路的追蹤方向上提供了方法,這一流程可以把整個請求的鏈路串聯(lián)起來。另外具備鏈路調用性能評估,可監(jiān)測每一個請求的性能是怎樣的,這能夠快速的發(fā)現(xiàn)性能上的一些瓶頸;這些就是全鏈路監(jiān)控整體的思路。

4. 利用AI快速定位Bug

餓了么測試開發(fā)專家邱化峰在做《人工智能在Bug定位中的應用》主題演講時指出,“企業(yè)想獲得人工智能帶來的便利,首先要制訂相對應的標準,如果沒有這個標準,按照固定的算法,則很難實現(xiàn)?!?/p>

首先,有些人專門維護了所有關于java的Bug,這些Bug在修復里時會生成一些數(shù)據(jù),告訴你哪個方法在第幾層,哪個方法哪一行出現(xiàn)了什么錯誤。如果想使用人工智能帶來的便利,首先要制訂一些相對應的標準,如果沒有這個標準,很難按照固定的算法來得到想要得到的東西。首先邱化峰對工具做了介紹,二是講解了Bug定位的原理和方法,第三,是使用這些工具之后應用從哪些方面做具體的落地。

眾所周知的八二法則在測試行業(yè)里可以理解為,80%的Bug來自于20%的代碼,針對這個理論,需要對20%的代碼做case等級的分類。軟件迭代的版本越多,開發(fā)和測試不斷在維護自己自動化的腳本,包括單元測試的腳本,Bug就會慢慢的越積越多,需要用空間換時間看case執(zhí)行的情況。除此之外,還可以用等級分類的方法把這些case標志出來,可以減少一些空間或時間。

七、AI賦能測試行業(yè)

那么AI時代,測試開發(fā)怎么做技術的儲備和轉型呢?AI的學習,需要經(jīng)歷從高數(shù)基礎到機器學習的過程。還有就是掌握數(shù)據(jù)分析和挖掘能力,做數(shù)據(jù)質量分析本質上就是做數(shù)據(jù)分析,大量相關的理論和工具都需要熟練的用到。這也需要測試行業(yè)的人員不斷去積累,而且對于深度學習,強化學習,復雜度就更高。

測試行業(yè)未來是AI

中國測試技術的轉型和革新也是中國互聯(lián)網(wǎng)飛速發(fā)展的縮影,從最初的人工手動測試,到后來的工具測試,到目前市面上主流的自動化測試,整個行業(yè)已經(jīng)進入到了一個成熟和穩(wěn)定的階段,尤其是云測試模式的出現(xiàn),將整個行業(yè)又推到了新的高度。再加上當前人工智能技術的發(fā)展速度,遠超出了我們想象??梢韵胂蟮氐?,在未來,測試產品會更智能,更簡單,更易用。

這一切的一切讓我相信,隨著AI技術的逐漸成熟,下一代測試正在到來。

【NCTS峰會回顧】北大郭耀:移動應用生態(tài)系統(tǒng)的現(xiàn)狀與挑戰(zhàn)https://developer.51cto.com/art/201911/606776.htm

【NCTS峰會回顧】Testin徐琨:AI引領下一代測試,iTestin改寫測試未來https://developer.51cto.com/art/201911/606770.htm

【NCTS峰會回顧】阿里巴巴潘家騰:阿里媽媽在線下測試域的智能化建設https://developer.51cto.com/art/201911/606771.htm

【NCTS峰會回顧】360搜索彭興強:360搜索質量保障體系介紹https://developer.51cto.com/art/201911/606778.htm

【NCTS峰會回顧】融360艾輝:AI模型測試探秘https://developer.51cto.com/art/201911/606775.htm

【NCTS峰會回顧】網(wǎng)易張濤:網(wǎng)易新聞DevOps實踐及在AI測試中的應用https://os.51cto.com/art/201911/606783.htm

【NCTS峰會回顧】顧宇:DevOps的交付質量從需求質量開始https://os.51cto.com/art/201911/606781.htm

【NCTS峰會回顧】北大李元春:強化學習在自動測試中的應用https://developer.51cto.com/art/201911/606772.htm

【NCTS峰會回顧】餓了么邱化峰:人工智能在Bug定位中的應用https://developer.51cto.com/art/201911/606773.htm

推薦內容