本發(fā)明涉及軟件測試方法,尤其涉及一種智能軟件自動化測試方法。
背景技術(shù):
:在如今軟件產(chǎn)品快速的更新迭代下,一款軟件產(chǎn)品要在市場中具備一定的競爭力,毫無疑問,該軟件產(chǎn)品必須具有過硬的質(zhì)量,這樣就給軟件產(chǎn)品質(zhì)量的把控環(huán)節(jié)——軟件測試提出了新的要求。自動化測試是軟件測試必然的發(fā)展方向,但自動化測試不是簡單的用代碼或者工具代替手工測試,降低測試成本、增強(qiáng)測試方案的可讀性是自動化測試所追求的新特點(diǎn)。比如專門用于測試和驗(yàn)證RESTful服務(wù)的工具REST-assured,使得基于HTTP的RESTful服務(wù)編寫測試變得更加的簡單;在比如安卓系統(tǒng)功能測試工具Espresso,在其微小的內(nèi)核API中隱藏了復(fù)雜的實(shí)現(xiàn)細(xì)節(jié),以幫助軟件測試工程師寫出更簡潔、快速、可靠的測試。現(xiàn)有的軟件自動化測試還主要依賴于軟件測試工程師編寫測試腳本來實(shí)現(xiàn),而且要實(shí)現(xiàn)一個(gè)高質(zhì)量的自動化測試,就要求軟件測試工程師具備較高的編程技能,這在無形之中即提高了軟件測試的成本。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于提供一種智能軟件自動化測試方法,具有將按照輸入模板輸入的自然語言的內(nèi)容進(jìn)行提取并自動識別,以及基于建立的先驗(yàn)知識庫將自然語言轉(zhuǎn)化為機(jī)器語言的優(yōu)點(diǎn)。本發(fā)明的上述目的是通過以下技術(shù)方案得以實(shí)現(xiàn)的:一種智能軟件自動化測試方法,包括下列步驟:S1、通過設(shè)有的語言輸入單元并依據(jù)所述語言輸入單元中內(nèi)置的輸入模板輸入自然語言,基于建有的包括詞性、詞義的分詞知識庫對所述自然語言進(jìn)行分詞檢索,所述分詞檢索包括下列步驟:(1)以位于首位的字為檢索對象在所述分詞知識庫中進(jìn)行檢索,并將在所述分詞知識庫中檢索到的檢索結(jié)果存入第一語義庫;(2)以位于首位的字和位于第二位的字組合而成的詞為檢索對象在所述分詞知識庫中進(jìn)行檢索,并將在所述分詞知識庫中檢索到的檢索結(jié)果存入第二語義庫;(3)以位于首位的字、位于第二位的字和第三位的字組合而成的詞為檢索對象在所述分詞知識庫中進(jìn)行檢索,并將在所述分詞知識庫中檢索到的檢索結(jié)果存入第三語義庫;(4)以此類推,直至遇到換行符或者是標(biāo)點(diǎn)符號時(shí),即結(jié)束這一輪的檢索,而后分別以位于第二位的字以及其與在其之后的字組合而成的詞為檢索對象在所述分詞知識庫中進(jìn)行檢索,并依次存儲檢索結(jié)果;S2、依據(jù)不重復(fù)原則,以分詞檢索獲得的各個(gè)檢索結(jié)果為對象組合出具有多種斷句形式的分句,并依次以各斷句形式組合形成的分句為檢索對象,在建立有的以斷句形式存儲的分句知識庫中進(jìn)行檢索,并將檢索到的具有相同斷句形式的分句判斷為這一自然語言句子的正確斷句形式;S3、基于機(jī)器學(xué)習(xí)所建立的包括自然語言與機(jī)器語言的對應(yīng)關(guān)系的先驗(yàn)知識庫,將S2步驟中判斷為正確的斷句形式的分句轉(zhuǎn)換為對應(yīng)的機(jī)器語言。與現(xiàn)有技術(shù)相比,本發(fā)明能夠?qū)凑蛰斎肽0遢斎氲淖匀徽Z言進(jìn)行內(nèi)容提取以及斷句操作和判斷,從而依據(jù)機(jī)器學(xué)習(xí)所建立起的先驗(yàn)知識庫將判斷為正確的斷句形式的分句轉(zhuǎn)化為機(jī)器語言,以供機(jī)器自我識別和實(shí)現(xiàn),具有簡化軟件測試工程師的工作內(nèi)容、提高軟件測試工程師的工作效率的優(yōu)點(diǎn)。附圖說明圖1是本實(shí)施例的流程圖。具體實(shí)施方式以下結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)說明。本具體實(shí)施例僅僅是對本發(fā)明的解釋,其并不是對本發(fā)明的限制,本領(lǐng)域技術(shù)人員在閱讀完本說明書后可以根據(jù)需要對本實(shí)施例做出沒有創(chuàng)造性貢獻(xiàn)的修改,但只要在本發(fā)明的權(quán)利要求范圍內(nèi)都受到專利法的保護(hù)。一種智能軟件自動化測試方法,參照圖1,包括S1、首先根據(jù)軟件的功能測試特點(diǎn),選擇不同類型的多個(gè)訓(xùn)練樣本對機(jī)器進(jìn)行學(xué)習(xí)訓(xùn)練,從而建立起包括自然語言和機(jī)器語言的對應(yīng)關(guān)系的先驗(yàn)知識庫;比如通過輸入“點(diǎn)擊功能鍵1”即對應(yīng)到機(jī)器語言“button1_click()”事件的方式使機(jī)器完成學(xué)習(xí)和記憶的過程。S2、通過設(shè)有的語言輸入單元并依據(jù)所述語言輸入單元中內(nèi)置的輸入模板輸入自然語言,本實(shí)施例中的輸入模板是指按照一定的規(guī)則形式排列而成的自然語言句子,比如以“第1步,點(diǎn)擊發(fā)送鍵1次”這樣的格式輸入,兩兩分句之間以換行符進(jìn)行分隔;另外,標(biāo)點(diǎn)符號比如逗號、句號、感嘆號、頓號、點(diǎn)號皆作為分詞的分隔符。然后基于建有的包括詞性、詞義的分詞知識庫對所述自然語言句子進(jìn)行分詞檢索,比如在分詞知識庫中存儲有“點(diǎn)擊”一詞,在該詞的詞性標(biāo)簽下記錄為“動詞”,在含義標(biāo)簽下記錄為“敲擊鼠標(biāo)的動作”,再比如在分詞知識庫中存儲有“1次”一詞,在該詞的詞性標(biāo)簽下記錄為“量詞”。分詞檢索包括下列步驟:(1)以位于首位的字為檢索對象在所述分詞知識庫中進(jìn)行檢索,并將在所述分詞知識庫中檢索到的檢索結(jié)果存入第一語義庫;(2)以位于首位的字和位于第二位的字組合而成的詞為檢索對象在所述分詞知識庫中進(jìn)行檢索,并將在所述分詞知識庫中檢索到的檢索結(jié)果存入第二語義庫;(3)以位于首位的字、位于第二位的字和第三位的字組合而成的詞為檢索對象在所述分詞知識庫中進(jìn)行檢索,并將在所述分詞知識庫中檢索到的檢索結(jié)果存入第三語義庫;(4)以此類推,直至遇到換行符或者標(biāo)點(diǎn)符號時(shí),即結(jié)束這一輪的檢索,而后分別以位于第二位的字以及其與在其之后的字組合而成的詞為檢索對象在所述分詞知識庫中進(jìn)行檢索,并依次存儲檢索結(jié)果;比如以“第1步,點(diǎn)擊發(fā)送鍵1次”為例進(jìn)行檢索,先以“第”為檢索對象檢索到“第”這個(gè)結(jié)果并存儲,而后以“第1”為檢索對象并將檢索到的“第1”這個(gè)結(jié)果進(jìn)行存儲,再以“第1步”為檢索對象并將檢索到的“第1步”這個(gè)結(jié)果進(jìn)行存儲,后一個(gè)字符為逗號,所以再以“1”為檢索對象并將檢索到的“1”這個(gè)結(jié)果進(jìn)行存儲,然后以“1步”為檢索對象并將檢索到的“1步”這個(gè)結(jié)果進(jìn)行存儲,這樣即得到了下表所示的結(jié)果,第1步第11步第1步S3、依據(jù)不重復(fù)原則,以各檢索結(jié)果為對象組合出具有多種斷句形式的分句,并依次以各斷句形式組合而成的分句為檢索對象,在建立有的以斷句形式存儲的分句知識庫中進(jìn)行檢索,并將檢索到的具有相同斷句形式的分句判斷為這一自然語言句子的正確斷句形式;比如以上述表格中所列出的檢索結(jié)果為例,可以組合出以下幾種斷句組合:(1)第/1/步;(2)第1/步;(3)第/1步;(4)第1步;然后分別以上述(1)、(2)、(3)、(4)四種斷句形式的分句作為檢索對象在分句知識庫中進(jìn)行檢索,而在分句知識庫中存儲有的斷句形式為“第1步”,所以即判斷“第1步”為該分句的正確斷句形式。S4、基于機(jī)器學(xué)習(xí)所建立的包括自然語言與機(jī)器語言的對應(yīng)關(guān)系的先驗(yàn)知識庫,將S3步驟中判斷為正確的斷句形式的分句轉(zhuǎn)換為對應(yīng)的機(jī)器語言。當(dāng)前第1頁1 2 3