• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      人工智能結(jié)合自動化測試在智能電網(wǎng)系統(tǒng)中的未來應(yīng)用

      2018-12-20 08:31:38健,王
      軟件 2018年11期
      關(guān)鍵詞:測試用例圖像識別決策樹

      郭 健,王 勇

      ?

      人工智能結(jié)合自動化測試在智能電網(wǎng)系統(tǒng)中的未來應(yīng)用

      郭 健,王 勇

      (國網(wǎng)匯通金財(北京)信息科技有限公司,北京 100053)

      人工智能技術(shù)在當(dāng)今許多領(lǐng)域都有廣泛應(yīng)用,自動化測試技術(shù)在軟件研發(fā)領(lǐng)域也倡導(dǎo)和實(shí)踐了許多年,但如何將二者相結(jié)合并在實(shí)際系統(tǒng)研發(fā)中落地實(shí)現(xiàn),目前還是測試領(lǐng)域中的藍(lán)海。本文通過人工智能領(lǐng)域中的三個點(diǎn)(圖像識別、自然語言處理、決策樹)入手,討論在智能電網(wǎng)業(yè)務(wù)系統(tǒng)中的自動化最佳實(shí)踐方式。

      人工智能;自動化測試;智能電網(wǎng)

      0 引言

      人工智能[1-2]技術(shù)是目前最熱門的科技話題之一,并且在人們的日常生活中的方方面面都有人工智能技術(shù)的應(yīng)用,如人臉識別手機(jī)解鎖,語音文字相互轉(zhuǎn)換,智能家居,無人駕駛等等。越來越多的企業(yè)都希望將人工智能技術(shù)引入到自身的產(chǎn)品中并通過其智能和便捷性帶來企業(yè)收益。

      另一方面,自動化測試技術(shù)[3-6]是各個企業(yè)進(jìn)行系統(tǒng)研發(fā)過程中必不可少的一個環(huán)節(jié),而且隨著敏捷開發(fā)的應(yīng)用越來越廣,自動化測試技術(shù)在整個研發(fā)周期以及各個迭代過程中的比重也越來越大,但傳統(tǒng)意義上的某些自動化測試技術(shù)也不斷面臨新的挑戰(zhàn),如自動化測試腳本維護(hù)時間過長,控件元素定位不準(zhǔn)確,上手使用難度較大等等。如何有效的解決這些問題也是很多企業(yè)在實(shí)際研發(fā)過程中提高軟件質(zhì)量的痛點(diǎn)。

      企業(yè)在自己的產(chǎn)品和系統(tǒng)中進(jìn)行測試和質(zhì)量驗(yàn)收,其期望值已經(jīng)從原有的軟件功能驗(yàn)證逐步轉(zhuǎn)移到從實(shí)際業(yè)務(wù)操作出發(fā)的業(yè)務(wù)流程驗(yàn)證,即所謂的“端到端”測試,這就給測試人員提出了更高的要求。因?yàn)樵凇岸说蕉恕睖y試過程中,一個業(yè)務(wù)流程通常會涉及到多個系統(tǒng),而每個系統(tǒng)本身又有其獨(dú)特的點(diǎn),例如一個業(yè)務(wù)系統(tǒng)在執(zhí)行某個業(yè)務(wù)操作過程中需要對上傳的文件進(jìn)行圖像識別[7]后根據(jù)識別結(jié)果才能判斷如何繼續(xù),這就要求自動化測試在測到該步驟時對被測對象進(jìn)行圖像識別處理(OCR)。

      在國家電網(wǎng)系統(tǒng)中,各個子系統(tǒng)類目繁多,數(shù)據(jù)交互頻繁,各個省之間的同類業(yè)務(wù)操作還有差異化需求,同時,數(shù)據(jù)量龐大,業(yè)務(wù)渠道也是多種多樣,又有很多與第三方平臺進(jìn)行操作的要求。在這種情況下,如何有效的利用AI技術(shù)與現(xiàn)有成熟的自動化測試技術(shù)相結(jié)合,從而達(dá)到滿足各種“端到端”業(yè)務(wù)需求的自動化測試,就成了當(dāng)前需要思考和解決的問題。

      由于AI領(lǐng)域涉及到的分支眾多,而且業(yè)內(nèi)尚無成熟的體系結(jié)構(gòu)與方法論,因此本文僅討論AI領(lǐng)域中的三個分支:(圖像識別、自然語言處理、決策 樹[8])在自動化測試中的可行性和收益。從而起到拋磚引玉的作用。

      1 理論介紹

      1.1 圖像識別理論

      計(jì)算機(jī)的圖像識別技術(shù)和人類的圖像識別在原理上并沒有本質(zhì)的區(qū)別,只是機(jī)器缺少人類在感覺與視覺差上的影響罷了[9]。人類在進(jìn)行圖像識別過程時,是利用大腦將圖像的特征值跟進(jìn)自身的需求提取出來,并和記憶中的圖片進(jìn)行搜索對比,從而得出結(jié)論。

      計(jì)算機(jī)視覺技術(shù)也是如此,只是計(jì)算機(jī)在進(jìn)行圖像識別時分為兩個部分,一是通過算法將圖像的特征值提取出來,二是將提取出來的特征值信息進(jìn)行邏輯判斷并與已有參考圖片進(jìn)行對比。因此,圖像識別的準(zhǔn)確性和效率取決于1)參考樣本的數(shù)量;

      圖1 原始圖片(左)與計(jì)算機(jī)處理后的圖片邊緣(右)

      2)算法的適用性和速度。

      1.2 自然語音處理理論

      自然語言處理(NLP, Natural Language Processing)是實(shí)現(xiàn)人類與計(jì)算機(jī)之間通過自然語言進(jìn)行通信的技術(shù)。

      自然語言處理體系還是相對很復(fù)雜的,包括詞庫、詞法分析、語義分析、短串分析、輿情分析等多個分支。

      自然語言處理技術(shù)的難點(diǎn)在于消除語言中的歧義性和多義性。同一個語句的表達(dá),聯(lián)系上下文的語境不同,所要表達(dá)的意思也會有所區(qū)別;而且不同的語種之間的語法結(jié)構(gòu)不同,這也對計(jì)算機(jī)的理解帶來挑戰(zhàn)。

      圖2 自然語言處理技術(shù)體系

      當(dāng)前比較主流的6種自然語言處理庫有[10]:

      ? ● NLTK(自然語言工具包)用于分詞、詞形還原、詞干提取、解析、句法分析、詞性標(biāo)注等任務(wù)。該庫具備可用于幾乎所有 NLP 任務(wù)的工具。

      ? ● spaCy是NLTK的主要競爭者。這兩個庫可用于同樣的任務(wù)。

      ? ● scikit-learn 提供一個用于機(jī)器學(xué)習(xí)的大型庫,包含用于文本預(yù)處理的工具。

      ? ● gensim 是用于話題空間建模、向量空間建模和文檔相似度的工具包。

      ? ● Pattern庫是作為web挖掘模塊提供服務(wù)的,因此,它也支持NLP任務(wù)。

      ? ● polyglot是另一個用于NLP的Python包。它不是很流行,但也可以用于大量NLP任務(wù)。

      除了上述庫之外,近年來云服務(wù)(如百度云、阿里元等)中也逐步接入了自然語言處理相關(guān)的接口,這使得人們使用既有NLP技術(shù)更為方便和準(zhǔn)確。但各個云服務(wù)提供商所提供的NLP接口略有不同,方法、付費(fèi)原則、結(jié)果呈現(xiàn)也有差別。因此需要根據(jù)實(shí)際需求合理選擇和使用云端的自然語言處理服務(wù)。

      1.3 決策樹技術(shù)原理

      決策樹(decision tree)是一類常見的機(jī)器學(xué)習(xí)方法,目的是為了產(chǎn)生一棵泛化能力強(qiáng),即處理未見示例能力強(qiáng)的決策樹[11]。

      從上述描述中可以看出決策樹有以下一些特點(diǎn):

      (1)決策樹的出現(xiàn)是為了滿足機(jī)器輔助人類進(jìn)行判斷這個目的的;

      (2)決策樹是機(jī)器學(xué)習(xí)的一種。既然是機(jī)器學(xué)習(xí),則它的原理就一目了然了,即通過大量的學(xué)習(xí)數(shù)據(jù)進(jìn)行分析建模,產(chǎn)生邏輯決策樹,再將新的數(shù)據(jù)應(yīng)用于該決策模型,從而拿到?jīng)Q策結(jié)果;

      (3)決策模型是動態(tài)產(chǎn)生的,根據(jù)學(xué)習(xí)數(shù)據(jù)的多少和具體數(shù)值的不同,即使是同一邏輯,其產(chǎn)生的決策模型也可能不同。

      目前常見的決策樹算法有:lD3決策樹、C4.5決策樹、CART以及決策森林等。不同的決策樹算法適用于不同的場景,有些對離散數(shù)據(jù)有較好的建模作用,而有些對連續(xù)數(shù)據(jù)更為有效。具體每種算法的計(jì)算方法不在此一一列舉,感興趣的朋友可以參考附錄[11]。

      圖3 決策樹示例

      2 實(shí)現(xiàn)方式

      從上述理論介紹不難看出,每一種AI技術(shù)所涵蓋的理論知識和技術(shù)體系都很豐富,這么龐大的技術(shù)體系如何實(shí)際落地就是當(dāng)下企業(yè)需要思考的問題。

      我們可以換個角度思考這個問題,既然技術(shù)點(diǎn)很多,不如我們真正從企業(yè)業(yè)務(wù)流程出發(fā),在梳理業(yè)務(wù)分支和相互關(guān)系的過程中,就可以發(fā)現(xiàn)哪些業(yè)務(wù)用傳統(tǒng)的自動化測試技術(shù)就可以測試到,而哪些是傳統(tǒng)的自動化測試技術(shù)無法做到的。這些做不到的難點(diǎn)的特征是什么,現(xiàn)有的AI技術(shù)是否可以解決這個問題,等等。這樣我們就做到了有的放矢,具體問題具體分析,從而更快速的解決我們的痛點(diǎn)。

      2.1 圖像識別在自動化測試中的應(yīng)用

      智能電網(wǎng)系統(tǒng)是一套非常復(fù)雜的系統(tǒng),從渠道平臺的角度來講,PC和移動端APP都有應(yīng)用;從業(yè)務(wù)對象的角度來看,國家電網(wǎng)的內(nèi)部系統(tǒng),各省公司的子系統(tǒng),第三方系統(tǒng)(如支付寶、銀行等)相互交互;從技術(shù)棧角度來講,各種前端應(yīng)用、中間件集群的調(diào)度、后端各種服務(wù)以及數(shù)據(jù)庫的協(xié)作, 都會帶來大量數(shù)據(jù)的處理。對于含有大量數(shù)據(jù)的報表的自動化測試驗(yàn)證,傳統(tǒng)意義上的方法是先用代理驅(qū)動(WebDriver)定位到頁面上的單元格控件元素,然后根據(jù)元素屬性取出具體業(yè)務(wù)數(shù)值,最后再將業(yè)務(wù)數(shù)值與期望結(jié)果數(shù)值進(jìn)行對比校驗(yàn)。但如果采用圖像識別技術(shù),則可以操作為先對期望結(jié)果頁面進(jìn)行截屏,再對被測頁面進(jìn)行截屏,最后只需對比兩個截屏圖片的相似度即可。

      此外,有許多的業(yè)務(wù)環(huán)節(jié)是需要驗(yàn)證用戶的身份信息的,比如注冊、登錄、付費(fèi)、清分、結(jié)算等等。傳統(tǒng)的自動化測試中對于文本類的鑒權(quán)信息是可以做驗(yàn)證的,比如登錄名、賬號、密碼等,但對于圖形類的信息,如身份證照片、圖形驗(yàn)證碼、人臉識別等,如何高效準(zhǔn)確的進(jìn)行鑒權(quán)測試呢?這也需要圖像識別技術(shù)的支持。將待測圖片進(jìn)行特征值提取處理后得到待驗(yàn)證數(shù)據(jù),然后將該數(shù)據(jù)與校驗(yàn)庫中的值進(jìn)行對比,找到最相近的值作為識別的最終值。這個過程中并不進(jìn)行實(shí)際結(jié)果和期望結(jié)果的對比,只是得到圖中的數(shù)據(jù)以便保證端到端的自動化測試流程不會中斷。

      圖4 自動化測試中傳統(tǒng)方法(左)與圖像識別方法(右)對比

      圖5 決策樹技術(shù)在自動化測試中的應(yīng)用

      2.2 決策樹在自動化測試中的應(yīng)用

      在智能電網(wǎng)的系統(tǒng)中,還有一類應(yīng)用是授權(quán)類服務(wù),如簽約過程中的資格審核。這類服務(wù)的特點(diǎn)是要按照一定的風(fēng)控規(guī)則對用戶信息進(jìn)行評審,并根據(jù)評審結(jié)果授權(quán)用戶相對于的資質(zhì)。

      這類服務(wù)的自動化測試,如果采用傳統(tǒng)方式是不容易做到的,因?yàn)橐?guī)則有可能經(jīng)常變化,而這些變化對于自動化測試又是不透明的。但決策樹技術(shù)可以解決這個問題。

      我們可以根據(jù)風(fēng)控的維度,對已有的風(fēng)控處理后的數(shù)據(jù)進(jìn)行機(jī)器學(xué)習(xí),然后動態(tài)建立決策樹模型。當(dāng)新的數(shù)據(jù)進(jìn)入到模型時,采用精度和性能最合適的算法對該對象進(jìn)行授權(quán)判斷,從而在不打斷整個端到端測試流程的情況下完成授權(quán)部分的邏輯判斷。

      2.3 自然語言處理在自動化測試中的應(yīng)用

      測試用例是自動化測試不可缺少的一個組成部分。測試腳本的執(zhí)行都是依賴于測試用例步驟和順序的。但自動化測試的測試用例往往有很多格式和數(shù)據(jù)方面的特殊要求才能讓腳本順利執(zhí)行下去。這就導(dǎo)致了自動化測試的使用門檻太高,只有極少比例的人能掌握和使用這項(xiàng)技術(shù)。

      將自然語言處理技術(shù)融入測試用例的編寫當(dāng)中,使得不論是中文還是英語,用戶只需要按人類自然的表達(dá)方式進(jìn)行用例內(nèi)容的填寫,而后臺用自然語言處理服務(wù)(注:這種服務(wù)可以直接采用第三方提供的服務(wù)接口,也可以自己編寫腳本加入特定的邏輯判斷)將使用者的用例描述內(nèi)容轉(zhuǎn)換成自動化測試腳本能夠識別的測試數(shù)據(jù)和邊界值等。如此一來就降低了自動化測試的使用門檻,使得專業(yè)測試人員以外的用戶(如產(chǎn)品設(shè)計(jì)人員,開發(fā)人員,運(yùn)營人員等)都可以很快上手自動化測試,這樣就提高了測試的執(zhí)行率和覆蓋程度,從而使得系統(tǒng)質(zhì)量有所提升。

      圖6 自然語言處理技術(shù)在測試用例設(shè)計(jì)中的應(yīng)用

      3 實(shí)踐及成果

      3.1 圖像識別在大數(shù)據(jù)自動化測試性能提升方面的實(shí)踐

      在智能電網(wǎng)的一個測試案例中,需要對移動端APP的一個頁面中的表格數(shù)據(jù)進(jìn)行校驗(yàn),該表格還具有分頁功能,每頁的待測數(shù)據(jù)量在300個左右,總頁數(shù)約30頁,因此待測數(shù)據(jù)總數(shù)約9000個。如果采用傳統(tǒng)的自動化測試技術(shù),需要對每個頁面的每個單元格控件進(jìn)行定位,然后再獲取里面的數(shù)值。由于移動端傳統(tǒng)WebDriver方式定位控件很慢,導(dǎo)致整體測試完這個節(jié)點(diǎn)需要約2~3個小時,這是“端到端”測試中不能接受的。采用了如2.1章節(jié)中的截圖技術(shù)后,每頁的截圖時間為1秒以下,而且期望結(jié)果可以預(yù)先準(zhǔn)備,實(shí)際結(jié)果與期望結(jié)果的對比校驗(yàn)時間也為1秒左右,考慮分頁的前后端網(wǎng)絡(luò)交互時間,因此圖像識別技術(shù)采用后,該測試點(diǎn)的整體用時在20分鐘以內(nèi)。明顯的提高了自動化測試的效率。

      3.2 決策樹在風(fēng)控方面的實(shí)踐

      在智能電網(wǎng)的業(yè)務(wù)中,有很多地方都需要進(jìn)行用戶的信息鑒權(quán),比如與銀行進(jìn)行貸款業(yè)務(wù)之前,要審核用戶基本信息并給出相應(yīng)的貸款額度。對于不同的用戶,風(fēng)控規(guī)則和考察維度在一定時間內(nèi)是固定的,基于此,自動化腳本采用C4.5算法,先通過數(shù)據(jù)庫中的已有數(shù)據(jù)進(jìn)行機(jī)器學(xué)習(xí)和決策樹模型建立,然后根據(jù)被測數(shù)據(jù)的值和決策樹規(guī)則給出了相應(yīng)的貸款額度值。

      在這個過程的實(shí)踐中,筆者比較了ID3算法和C4.5算法的準(zhǔn)確度,由于這兩種算法都適用于離散型數(shù)據(jù)維度,剛好符合業(yè)務(wù)場景,但C4.5算法采用了信息增益率來矯正每次決策樹的權(quán)重,較之ID3算法的信息增益矯正法更為合理,因此最終采用了C4.5算法。

      3.3 自然語言處理在測試用例編寫方面的實(shí)踐

      在進(jìn)行測試用例設(shè)計(jì)的階段,有一些考察點(diǎn)是要進(jìn)行邊界值劃分的。例如小于1;大于等于1且小于5;大于等于5。筆者采用自然語音處理的服務(wù)對數(shù)值劃分進(jìn)行了解析,使得不論是用例設(shè)計(jì)者采用以下哪種方式填充測試用例,自動化測試腳本都能準(zhǔn)確的識別區(qū)間邊界值并順利執(zhí)行自動化測試。

      表1 自然語言處理在邊界值劃分中的應(yīng)用示例

      Table.1 NLP usage example in boundary design for test cases

      這樣,測試用例的編寫人員就不用再受到各種邊界值格式的束縛了。從而提高了測試用例設(shè)計(jì)的速度。

      4 結(jié)語

      人工智能技術(shù)與自動化測試技術(shù)的結(jié)合,還有很多種可能性。上述的應(yīng)用實(shí)例也不僅僅是在智能電網(wǎng)這一個領(lǐng)域具有可行性,相信在其他工業(yè)或者商務(wù)領(lǐng)域也能發(fā)揮相似的價值。

      但不論兩者的組合多么千變?nèi)f化,我們的出發(fā)點(diǎn)都是一致的,那就是從企業(yè)業(yè)務(wù)真正需要的地方去思考如何落地自動化測試。這樣我們才能做到有的放矢,才能將人工智能技術(shù)和自動化測試技術(shù)都發(fā)揮其最大的應(yīng)用價值。

      [1] 汪子堯, 賈娟. 人工智能的前生、今世與未來[J]. 軟件, 2018, 39(2): 223-226.

      [2] 梁子鑫. 探討新時代背景下新興技術(shù)在人工智能中的應(yīng)用[J]. 軟件, 2018, 39(7): 166-169.

      [3] 侯桂波, 王喜偉, 于春玲, 佟雪松. 持續(xù)集成與自動化測試在國家電網(wǎng)電力營銷系統(tǒng)開發(fā)中的應(yīng)用[J]. 電網(wǎng)技術(shù), 2009, 33(20): 164-167.

      [4] 王如迅. 基于SWTBot 技術(shù)的軟件自動化測試的研究與實(shí)現(xiàn)[J]. 軟件, 2016, 37(02): 121-128.

      [5] 錢漢偉. GAT: Windows 平臺下 GUI 軟件自動化測試框架研究[J]. 軟件, 2018, 39(3): 72-76.

      [6] 李沫. 視覺檢測系統(tǒng)在汽車儀表自動化測試方面的應(yīng)用[J]. 軟件, 2018, 39(5): 126-128.

      [7] 侯貴洋, 趙桂杰, 王璐瑤. 草莓采摘機(jī)器人圖像識別系統(tǒng)研究[J]. 軟件, 2018, 39(6): 184-188.

      [8] 趙力衡. 基于決策樹的手寫數(shù)字識別的應(yīng)用研究[J]. 軟件, 2018, 39(3): 90-94.

      [9] Imagination Tech. 圖像識別的原理、過程、應(yīng)用前景, 精華篇![OL]. (2017-12-16)[2018-11-12]. https://www.sohu. com/a/210831666_468626.

      [10] 機(jī)器之心. 6大最流行、最有用的自然語言處理庫對比[OL]. (2018-08-05)[2018-11-12]. https://36kr.com/p/5146684.html.

      [11] 劉建平, Pinard. 決策樹算法原理[OL]. (2016-11-10). [2018- 11-12]. https://www.cnblogs.com/pinard/p/6050306.html.

      AI Combined with Automation Testing and Its Future Application in Smart Grid

      GUO Jian, WANG Yong

      (State Grid huitong jincai (Beijing) information technology co., LTD, Beijing, 10053, China)

      AI (Artificial Intelligent) is one of the hottest technology in many industries nowadays, and automation testing is being used in software development life-cycle and become more and more important, but how to combine both of them and implement them in reality systems’ development is still blue ocean. This article aims to narrate the best practise of 3 points of AI technology (OCR, NLP and Decision Tree) in automation testing in smart grid systems.

      AI (Artificial Intelligent); Automation testing; Smart grid

      TP393. 06

      A

      10.3969/j.issn.1003-6970.2018.11.047

      郭健(1980-),男,測試總監(jiān),多年從事自動化測試以及測試管理工作;王勇(1982-),男,研究方向:互聯(lián)網(wǎng)+電力營銷服務(wù)、互聯(lián)網(wǎng)技術(shù)。

      郭健,王勇. 人工智能結(jié)合自動化測試在智能電網(wǎng)系統(tǒng)中的未來應(yīng)用[J]. 軟件,2018,39(11):224-229

      猜你喜歡
      測試用例圖像識別決策樹
      基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
      基于Resnet-50的貓狗圖像識別
      電子制作(2019年16期)2019-09-27 09:34:50
      一種針對不均衡數(shù)據(jù)集的SVM決策樹算法
      高速公路圖像識別技術(shù)應(yīng)用探討
      圖像識別在物聯(lián)網(wǎng)上的應(yīng)用
      電子制作(2018年19期)2018-11-14 02:37:04
      決策樹和隨機(jī)森林方法在管理決策中的應(yīng)用
      電子制作(2018年16期)2018-09-26 03:27:06
      基于混合遺傳算法的回歸測試用例集最小化研究
      圖像識別在水質(zhì)檢測中的應(yīng)用
      電子制作(2018年14期)2018-08-21 01:38:16
      基于決策樹的出租車乘客出行目的識別
      基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
      呼图壁县| 开江县| 八宿县| 柞水县| 修武县| 搜索| 和顺县| 廉江市| 西青区| 德安县| 福州市| 长垣县| 肥乡县| 抚州市| 大安市| 霍山县| 武平县| 乾安县| 武定县| 平南县| 肃宁县| 乐亭县| 定安县| 兴仁县| 绥宁县| 乐昌市| 南阳市| 瑞安市| 内乡县| 安丘市| 曲周县| 溆浦县| 云和县| 乌什县| 西丰县| 多伦县| 太原市| 武穴市| 四川省| 应城市| 西林县|