本發(fā)明涉及測(cè)試領(lǐng)域,具體而言,涉及一種測(cè)試腳本的處理方法和裝置。
背景技術(shù):
隨著軟件技術(shù)的發(fā)展,為了測(cè)試軟件的正確性、完整性、安全性,以及為了保證軟件質(zhì)量,各種測(cè)試技術(shù)與測(cè)試方法應(yīng)運(yùn)而生,其中,按照測(cè)試的執(zhí)行方式,測(cè)試者將軟件測(cè)試分為兩類(lèi)人工測(cè)試和自動(dòng)化測(cè)試兩種。
游戲測(cè)試作為軟件測(cè)試的一種,使用的測(cè)試手段和傳統(tǒng)的軟件測(cè)試相同,也分為人工測(cè)試和自動(dòng)化測(cè)試兩種。在自動(dòng)化測(cè)試中,目前主要使用的測(cè)試腳本制作方法為基于圖形識(shí)別的腳本錄制方法和基于程序語(yǔ)言的腳本方法。其中,按鍵精靈和Sikuli等腳本錄制工具即為基于圖形識(shí)別的腳本制作方法。一般情況下,在基于圖形識(shí)別的方法中,是將測(cè)試者的操作通過(guò)圖形的方式錄制成一個(gè)腳本,在執(zhí)行下次邏輯操作時(shí),可以直接運(yùn)行該測(cè)試腳本就可以重復(fù)測(cè)試人員的操作。另外一個(gè)測(cè)試腳本的制作方法為基于程序語(yǔ)言的腳本制作方法,該測(cè)試腳本的制作方法往往以游戲(或者,軟件)的開(kāi)發(fā)語(yǔ)言,以及其它編程語(yǔ)言編寫(xiě)腳本為基礎(chǔ),調(diào)用游戲(或者,軟件)的相關(guān)接口,組織成一個(gè)測(cè)試腳本,并使用該測(cè)試腳本進(jìn)行測(cè)試。
上述基于圖形識(shí)別的方法中和基于程序語(yǔ)言的方法中,均存在一些缺點(diǎn)。例如,在基于圖形識(shí)別的方法中,可以錄制玩家的操作,并將錄制的操作作為測(cè)試腳本。但是錄制玩家的操作的過(guò)程中,錄制腳本的精確度是不能保證的。因?yàn)橛捎阡浿骗h(huán)境的影響,會(huì)導(dǎo)致錄制的腳本出現(xiàn)缺失部分。并且,由于不同分辨率的機(jī)器上的圖片尺寸大小不同,所以一個(gè)機(jī)器上錄制的腳本,往往很難在另外一個(gè)機(jī)器上執(zhí)行。這種腳本錄制的方式,可移植性較差,后期維護(hù)需要消耗大量的人力。并且這些錄制腳本的方式,一般都是使用現(xiàn)有的軟件來(lái)完成,測(cè)試人員幾乎不能根據(jù)自己的需求定制軟件的操作,這樣就限制了腳本制作的靈活性。
在基于編程語(yǔ)言進(jìn)行測(cè)試腳本的制作方法中,往往通過(guò)調(diào)用軟件(或者,游戲)接口,組織成一個(gè)可執(zhí)行的程序或腳本來(lái)制作測(cè)試腳本。這種腳本制作的過(guò)程中要求腳本編寫(xiě)人員有一定的編程基礎(chǔ),使用的過(guò)程也要求使用人員能夠閱讀對(duì)應(yīng)的腳本。開(kāi)發(fā)的周期一般較長(zhǎng),開(kāi)發(fā)難度較大,開(kāi)發(fā)成本較大,并且腳本的執(zhí)行與結(jié)果輸出并不直觀。
針對(duì)上述的問(wèn)題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種測(cè)試腳本的處理方法和裝置,以至少解決現(xiàn)有技術(shù)中測(cè)試腳本在生成處理過(guò)程中形式較為單一的技術(shù)問(wèn)題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種測(cè)試腳本的處理方法,包括:提供至少一個(gè)圖形供測(cè)試者進(jìn)行選擇,其中,每個(gè)圖形對(duì)應(yīng)一個(gè)預(yù)先由用戶封裝好的用于對(duì)預(yù)定功能進(jìn)行測(cè)試的腳本;獲取所述測(cè)試者從所述至少一個(gè)圖形中選擇出的一個(gè)或多個(gè)圖形;將所述一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本。
進(jìn)一步地,所述圖形表示的對(duì)預(yù)定功能的測(cè)試的方式包括以下至少之一:通過(guò)使用編程語(yǔ)言的方式來(lái)進(jìn)行測(cè)試、通過(guò)圖形錄制的方式來(lái)進(jìn)行測(cè)試。
進(jìn)一步地,所述至少一個(gè)圖形包括以下至少之一:接口描述、測(cè)試功能的描述,其中,所述接口為對(duì)所述預(yù)定功能進(jìn)行測(cè)試所能配置的參數(shù)。
進(jìn)一步地,所述接口描述和/或所述測(cè)試功能的描述使用自然語(yǔ)言進(jìn)行描述。
進(jìn)一步地,獲取所述測(cè)試者從所述至少一個(gè)圖形中選擇出的一個(gè)或多個(gè)圖形包括:獲取用戶輸入的關(guān)鍵字;在所述接口描述和/或所述測(cè)試功能的描述中查找所述關(guān)鍵字對(duì)應(yīng)的描述,并確定所述對(duì)應(yīng)的描述對(duì)應(yīng)的所述一個(gè)或多個(gè)圖形。
進(jìn)一步地,將所述一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本包括:獲取所述測(cè)試者根據(jù)測(cè)試需求構(gòu)建出的所述一個(gè)或多個(gè)圖形之間的邏輯關(guān)系;將構(gòu)建所述邏輯關(guān)系之后的所述一個(gè)或多個(gè)圖形轉(zhuǎn)換為所述測(cè)試腳本。
進(jìn)一步地,在將所述一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本之后,所述方法還包括:將所述測(cè)試腳本轉(zhuǎn)換成程序語(yǔ)言描述的腳本;發(fā)送轉(zhuǎn)換之后的所述測(cè)試腳本至服務(wù)器;接收所述服務(wù)器返回的對(duì)所述測(cè)試腳本對(duì)應(yīng)的邏輯操作進(jìn)行測(cè)試的結(jié)果。
進(jìn)一步地,獲取所述測(cè)試者從所述至少一個(gè)圖形中選擇出的一個(gè)或多個(gè)圖形包括:獲取測(cè)試者的測(cè)試需求,其中,所述測(cè)試需求使用自然語(yǔ)言進(jìn)行描述;對(duì)所述測(cè)試需求進(jìn)行語(yǔ)意分析得出關(guān)鍵字;根據(jù)所述關(guān)鍵字在至少一個(gè)圖形中選擇一個(gè)或多個(gè)圖形。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,還提供了一種測(cè)試腳本的處理裝置,包括:提供模塊,用于提供至少一個(gè)圖形供測(cè)試者進(jìn)行選擇,其中,每個(gè)圖形對(duì)應(yīng)一個(gè)預(yù)先由用戶封裝好的用于對(duì)預(yù)定功能進(jìn)行測(cè)試的腳本;獲取模塊,用于獲取所述測(cè)試者從所述至少一個(gè)圖形中選擇出的一個(gè)或多個(gè)圖形;第一轉(zhuǎn)換模塊,用于將所述一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本。
進(jìn)一步地,所述圖形表示的對(duì)預(yù)定功能的測(cè)試的方式包括以下至少之一:通過(guò)使用編程語(yǔ)言編寫(xiě)測(cè)試腳本來(lái)進(jìn)行測(cè)試、通過(guò)圖形錄制的方式來(lái)進(jìn)行測(cè)試。
進(jìn)一步地,所述至少一個(gè)圖形包括以下至少之一:接口描述、測(cè)試功能的描述,其中,所述接口為對(duì)所述預(yù)定功能進(jìn)行的測(cè)試所能配置的參數(shù)。
進(jìn)一步地,所述接口描述和/或所述測(cè)試功能的描述使用自然語(yǔ)言進(jìn)行描述。
進(jìn)一步地,所述獲取模塊用于:獲取用戶輸入的關(guān)鍵字;在所述接口描述和/或所述測(cè)試功能的描述中查找所述關(guān)鍵字對(duì)應(yīng)的描述,并確定所述對(duì)應(yīng)的描述對(duì)應(yīng)的所述一個(gè)或多個(gè)圖形。
進(jìn)一步地,所述第一轉(zhuǎn)換模塊用于:獲取所述測(cè)試者根據(jù)測(cè)試需求構(gòu)建出的所述一個(gè)或多個(gè)圖形之間的邏輯關(guān)系;將構(gòu)建所述邏輯關(guān)系之后的所述一個(gè)或多個(gè)圖形轉(zhuǎn)換為所述測(cè)試腳本。
進(jìn)一步地,所述裝置還包括:第二轉(zhuǎn)換模塊,用于在將所述一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本之后,將所述測(cè)試腳本轉(zhuǎn)換成程序語(yǔ)言描述的腳本;發(fā)送模塊,用于發(fā)送轉(zhuǎn)換之后的所述測(cè)試腳本至服務(wù)器,接收模塊,用于接收所述服務(wù)器返回的對(duì)所述測(cè)試腳本對(duì)應(yīng)的邏輯操作進(jìn)行測(cè)試的結(jié)果;在所述接口描述和/或所述測(cè)試功能的描述中查找所述關(guān)鍵字對(duì)應(yīng)的描述,并確定所述對(duì)應(yīng)的描述對(duì)應(yīng)的所述一個(gè)或多個(gè)圖形。
進(jìn)一步地,所述獲取模塊包括:獲取單元,用于獲取測(cè)試者的測(cè)試需求,其中,所述測(cè)試需求使用自然語(yǔ)言進(jìn)行描述;分析單元,用于對(duì)所述測(cè)試需求進(jìn)行語(yǔ)意分析得出關(guān)鍵字;選擇單元,用于根據(jù)所述關(guān)鍵字在至少一個(gè)圖形中選擇一個(gè)或多個(gè)圖形。
在本發(fā)明實(shí)施例中,采用提供至少一個(gè)圖形供測(cè)試者進(jìn)行選擇,其中,每個(gè)圖形均表示對(duì)預(yù)定功能的測(cè)試;獲取所述測(cè)試者從所述至少一個(gè)圖形中選擇出的一個(gè)或多個(gè)圖形;將所述一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本的方式,首先將預(yù)定功能的測(cè)試以圖形的形式進(jìn)行顯示,然后,測(cè)試者可以在至少一個(gè)圖形中選擇一個(gè)或多個(gè)圖形,并將選擇的一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本,通過(guò)本發(fā)明提供的測(cè)試腳本的處理方法,可以使得測(cè)試腳本的制作過(guò)程變?yōu)橐粋€(gè)可視化的過(guò)程,相對(duì)于傳統(tǒng)的測(cè)試腳本的制作方法,本發(fā)明提供的測(cè)試腳本的制作方法,達(dá)到了可視化測(cè)試腳本的制作過(guò)程的目的,從而實(shí)現(xiàn)了降低測(cè)試腳本的制作門(mén)檻的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)中測(cè)試腳本在生成處理過(guò)程中形式較為單一的技術(shù)問(wèn)題。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例的一種測(cè)試腳本的處理方法的流程圖;
圖2是根據(jù)本發(fā)明實(shí)施例的一種測(cè)試腳本的處理裝置的示意圖一;
圖3是根據(jù)本發(fā)明實(shí)施例的一種測(cè)試腳本的處理裝置的示意圖二;
圖4是根據(jù)本發(fā)明實(shí)施例的一種測(cè)試腳本的處理裝置的示意圖三;
圖5是根據(jù)本發(fā)明實(shí)施例的另一種測(cè)試腳本的處理裝置的示意圖;
圖6是根據(jù)本發(fā)明實(shí)施例的一種模型封裝器的流程圖;
圖7是根據(jù)本發(fā)明實(shí)施例的一種用戶選擇器的流程圖;
圖8是根據(jù)本發(fā)明實(shí)施例的一種腳本翻譯器的流程圖;
圖9是根據(jù)本發(fā)明實(shí)施例的一種腳本執(zhí)行器的流程圖;
圖10是根據(jù)本發(fā)明實(shí)施例的一種模型封裝器的交互顯示界面的示意圖;
圖11是根據(jù)本發(fā)明實(shí)施例的一種用戶選擇器的交互顯示界面的示意圖;以及
圖12是根據(jù)本發(fā)明實(shí)施例的另一種用戶選擇器的交互顯示界面的示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說(shuō)明的是,本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類(lèi)似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
根據(jù)本發(fā)明實(shí)施例,提供了一種測(cè)試腳本的處理方法的實(shí)施例,需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本發(fā)明實(shí)施例的一種測(cè)試腳本的處理方法的流程圖,如圖1所示,該方法包括如下步驟:
步驟S102,提供至少一個(gè)圖形供測(cè)試者進(jìn)行選擇,其中,每個(gè)圖形對(duì)應(yīng)一個(gè)預(yù)先由用戶封裝好的用于對(duì)預(yù)定功能進(jìn)行測(cè)試的腳本。
在本發(fā)明實(shí)施例中,可以使用對(duì)應(yīng)的模型封裝器建立常用邏輯操作(下述均簡(jiǎn)稱(chēng)操作)的模型,然后,使用相應(yīng)的編程語(yǔ)言實(shí)現(xiàn)建立的模型,進(jìn)而封裝成一個(gè)操作。接下來(lái),可以將封裝得到的操作轉(zhuǎn)換成一個(gè)圖形,得到至少一個(gè)圖形,以供測(cè)試者選擇使用。測(cè)試者可以直接拖拽上述至少一個(gè)圖形中的任一個(gè)圖形,來(lái)組合成一個(gè)測(cè)試腳本。因此,在本發(fā)明中,每個(gè)圖形對(duì)應(yīng)一個(gè)預(yù)先由用戶封裝好的用于對(duì)預(yù)定功能進(jìn)行測(cè)試的腳本,也就是說(shuō),每個(gè)圖形均對(duì)應(yīng)一個(gè)腳本,其中,該腳本與測(cè)試腳本雖然均為腳本,但是為對(duì)應(yīng)不同測(cè)試邏輯的腳本,本發(fā)明實(shí)施例中的測(cè)試腳本由每個(gè)圖形對(duì)應(yīng)的一個(gè)或多個(gè)腳本制作而成。
步驟S104,獲取測(cè)試者從至少一個(gè)圖形中選擇出的一個(gè)或多個(gè)圖形。
具體地,在本發(fā)明實(shí)施例中,可以使用對(duì)應(yīng)的用戶選擇器自動(dòng)獲取測(cè)試者在至少一個(gè)圖形中選擇的一個(gè)或多個(gè)圖形。其中,獲取一個(gè)或多個(gè)圖形的方式可以有很多種,例如,可以獲取測(cè)試者發(fā)送的拖拽圖形的指令,進(jìn)而獲取一個(gè)或多個(gè)圖形;測(cè)試者還可以在對(duì)應(yīng)的輸入框中輸入某個(gè)關(guān)鍵字,例如“點(diǎn)擊”,用戶選擇器在獲取到該關(guān)鍵字之后,將自動(dòng)在至少一個(gè)圖形中查找包括該關(guān)鍵字的圖形,并將查找到的圖形顯示在界面中,以供測(cè)試者選擇。
步驟S106,將一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本。
在獲取到測(cè)試者選擇的一個(gè)或多個(gè)圖形之后,可以通過(guò)腳本翻譯器將一個(gè)或多個(gè)圖形按照預(yù)定的方式進(jìn)行轉(zhuǎn)換,得到測(cè)試腳本,以供測(cè)試者進(jìn)行測(cè)試。
通過(guò)上述步驟S102至步驟S106可知,在本發(fā)明實(shí)施例中,測(cè)試腳本的制作過(guò)程為一個(gè)可視化的制作過(guò)程。通過(guò)拖拽圖形或者輸入關(guān)鍵字的方式就可以實(shí)現(xiàn)選擇對(duì)應(yīng)的一個(gè)或多個(gè)圖形,然后使用選擇出的圖形組織成一個(gè)測(cè)試腳本,并直接將該測(cè)試腳本用于測(cè)試。因此,采用本發(fā)明實(shí)施例中的腳本制作方法,即使是毫無(wú)編程基礎(chǔ)的用戶,也可以直接使用該方法,制作對(duì)應(yīng)的測(cè)試腳本。
在本發(fā)明實(shí)施例中,首先將預(yù)定功能的測(cè)試以圖形的形式進(jìn)行顯示,然后,測(cè)試者可以在至少一個(gè)圖形中選擇一個(gè)或多個(gè)圖形,并將選擇的一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本,通過(guò)本發(fā)明提供的測(cè)試腳本的處理方法,可以使得測(cè)試腳本的制作過(guò)程變?yōu)橐粋€(gè)可視化的過(guò)程,相對(duì)于傳統(tǒng)的測(cè)試腳本的制作方法,本發(fā)明提供的測(cè)試腳本的制作方法,達(dá)到了可視化測(cè)試腳本的制作過(guò)程的目的,從而實(shí)現(xiàn)了降低測(cè)試腳本的制作門(mén)檻的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)中測(cè)試腳本在生成處理過(guò)程中形式較為單一的技術(shù)問(wèn)題。
在上述步驟S102中的描述可知,每個(gè)圖形均對(duì)應(yīng)一個(gè)邏輯操作,也即,每個(gè)圖形均可以執(zhí)行相應(yīng)的邏輯操作。圖形表示的對(duì)預(yù)定功能的測(cè)試的方式包括以下至少之一:通過(guò)使用編程語(yǔ)言的方式來(lái)進(jìn)行測(cè)試、通過(guò)圖形錄制的方式來(lái)進(jìn)行測(cè)試。
在本發(fā)明實(shí)施例中,每個(gè)圖形對(duì)應(yīng)的邏輯操作可以通過(guò)圖形錄制的方式來(lái)獲取,還可以通過(guò)編程語(yǔ)言的方式來(lái)編寫(xiě)相應(yīng)地邏輯操作。因此,每個(gè)圖形表示的對(duì)預(yù)定功能的測(cè)試的方式包括通過(guò)使用編程語(yǔ)言編寫(xiě)腳本的方式進(jìn)行測(cè)試,還可以通過(guò)圖形錄制的方式進(jìn)行測(cè)試。
在本發(fā)明的一個(gè)可選實(shí)施方式中,上述至少一個(gè)圖形中的部分或全部圖形中的每個(gè)圖形包括以下至少之一:接口描述、測(cè)試功能的描述,其中,接口為預(yù)定功能進(jìn)行的測(cè)試所能配置的參數(shù),其中,上述接口和測(cè)試功能可以使用圖形表示。
具體地,在上述步驟S102中的描述可知,可以使用對(duì)應(yīng)的模型封裝器建立常用邏輯操作的模型,然后,使用相應(yīng)的編程語(yǔ)言實(shí)現(xiàn)建立的模型,進(jìn)而封裝成一個(gè)操作。其中,在使用相應(yīng)地編程語(yǔ)言實(shí)現(xiàn)建立的模型時(shí),可以使用任何的編程語(yǔ)言將建立的常用邏輯操作的模型封裝成為一個(gè)使用自然語(yǔ)言進(jìn)行描述的接口,然后,將該接口轉(zhuǎn)換為一個(gè)圖形。
因此,在本發(fā)明實(shí)施例中,至少一個(gè)圖形中的部分或者全部圖形中的每個(gè)圖形包括:使用自然語(yǔ)言進(jìn)行描述的接口描述,例如,“鼠標(biāo)左鍵點(diǎn)擊”和“鼠標(biāo)右鍵點(diǎn)擊”等;除此之外,還包括圖形表示的測(cè)試的功能的描述,也就是說(shuō),每個(gè)圖形對(duì)應(yīng)一個(gè)圖形標(biāo)志,該標(biāo)識(shí)表示該圖形的測(cè)試的功能的描述,其中,測(cè)試功能的描述也使用自然語(yǔ)言進(jìn)行描述。
需要說(shuō)明的是,在本發(fā)明實(shí)施例中,可以按照?qǐng)D形對(duì)應(yīng)的接口描述的類(lèi)型對(duì)圖形進(jìn)行分類(lèi),分類(lèi)之后,每個(gè)接口類(lèi)型中的圖形對(duì)應(yīng)的標(biāo)識(shí)可以為相同的標(biāo)識(shí),也可以為不相同的標(biāo)識(shí)。例如,可以將接口類(lèi)型分為:操作、工具和系統(tǒng)等類(lèi)型,每個(gè)類(lèi)型中包括至少一個(gè)接口。通過(guò)將接口進(jìn)行分類(lèi)存儲(chǔ),可以使得測(cè)試者能夠更加快速地查找到對(duì)應(yīng)的操作。
在本發(fā)明的另一個(gè)可選實(shí)施方式中,獲取測(cè)試者從至少一個(gè)圖形中選擇出的一個(gè)或多個(gè)圖形包括:獲取用戶輸入的關(guān)鍵字;在接口描述和/或測(cè)試功能的描述中查找關(guān)鍵字對(duì)應(yīng)的描述,并確定對(duì)應(yīng)的描述對(duì)應(yīng)的一個(gè)或多個(gè)圖形。
具體地,在上述步驟S104中的描述可知,測(cè)試者可以在對(duì)應(yīng)的輸入框中輸入所要使用的操作或者操作的關(guān)鍵字。用戶選擇器在獲取到該關(guān)鍵字之后,將自動(dòng)在至少一個(gè)圖形中查找包括該關(guān)鍵字的圖形。由于至少一個(gè)圖形中部分或者全部圖形中的每個(gè)圖形包括自然語(yǔ)言形式的接口描述,因此,可以依據(jù)至少一個(gè)圖形的接口描述查找包括關(guān)鍵字的一個(gè)或多個(gè)圖形。
例如,用戶在對(duì)應(yīng)的輸入框中輸入所要使用的操作或者操作的關(guān)鍵字,例如,尋路到某個(gè)位置這一操作,用戶可以輸入“尋路”這一關(guān)鍵字;用戶選擇器根據(jù)用戶輸入的關(guān)鍵字在接口描述中自動(dòng)匹配含有該關(guān)鍵字的操作列表L,例如:“尋路”這一關(guān)鍵,用戶選擇器會(huì)自動(dòng)匹配到“尋路到坐標(biāo)”,“尋路到NPC”等操作;用戶在操作列表L中選擇要使用的操作l,填充操作l的參數(shù),例如選擇“尋路到坐標(biāo)”這一操作,需要填充“橫向坐標(biāo)”,“縱向坐標(biāo)”,“高度”,“場(chǎng)景編號(hào)”等相應(yīng)地參數(shù);用戶輸入操作的參數(shù)后,點(diǎn)擊添加,用戶選擇器會(huì)自動(dòng)將自然語(yǔ)言描述的接口,轉(zhuǎn)換成圖形顯示的測(cè)試腳本。
在本發(fā)明的另一個(gè)可選實(shí)施方式中,獲取測(cè)試者從至少一個(gè)圖形中選擇出的一個(gè)或多個(gè)圖形還包括:獲取用戶的測(cè)試需求,其中,測(cè)試需求使用自然語(yǔ)言進(jìn)行描述;對(duì)測(cè)試需求進(jìn)行語(yǔ)意分析得出關(guān)鍵字;根據(jù)關(guān)鍵字在至少一個(gè)圖形中選擇一個(gè)或多個(gè)圖形。
在本發(fā)明實(shí)施例中,測(cè)試需求可以為用戶實(shí)際想要測(cè)試的操作,其中,該測(cè)試需求可以使用自然語(yǔ)言進(jìn)行描述,例如,用戶可以輸入“我想要尋路到某個(gè)位置的操作”。
然后,對(duì)獲取到的測(cè)試需求進(jìn)行分析,例如,可以對(duì)“我想要尋路到某個(gè)位置的操作”進(jìn)行分詞處理,然后過(guò)濾掉其中的感嘆詞和連接詞等無(wú)用詞匯,最終得到一個(gè)或多個(gè)關(guān)鍵字,例如,對(duì)上述測(cè)試需求進(jìn)行分析之后,可以得到的關(guān)鍵字包括:“尋路”和“尋路到位置”。
在分析得到上述至少一個(gè)關(guān)鍵字之后,用戶選取器可以根據(jù)該關(guān)鍵字自動(dòng)在至少一個(gè)圖形中進(jìn)行匹配,匹配得到一個(gè)或多個(gè)圖形。在本發(fā)明中,每個(gè)圖形對(duì)應(yīng)一個(gè)預(yù)先由用戶封裝好的用于對(duì)預(yù)定功能進(jìn)行測(cè)試的腳本,也就是說(shuō),每個(gè)圖形均對(duì)應(yīng)一個(gè)腳本,其中,該腳本與測(cè)試腳本雖然均為腳本,但是為對(duì)應(yīng)不同測(cè)試邏輯的腳本,本發(fā)明實(shí)施例中的測(cè)試腳本由每個(gè)圖形對(duì)應(yīng)的一個(gè)或多個(gè)腳本制作而成
在獲取到測(cè)試者選擇的一個(gè)或多個(gè)圖形之后,可以通過(guò)對(duì)應(yīng)的腳本翻譯器將一個(gè)或多個(gè)圖形按照預(yù)定的方式轉(zhuǎn)換成測(cè)試腳本,以供測(cè)試者進(jìn)行測(cè)試。
在本發(fā)明可選實(shí)施方式中,用戶僅需在對(duì)應(yīng)的輸入框中輸入測(cè)試需求,用戶選擇器就會(huì)自動(dòng)地對(duì)測(cè)試需求進(jìn)行分析,進(jìn)而根據(jù)分析結(jié)果為用戶自動(dòng)選取一個(gè)或多個(gè)圖形。其中,如果用戶默認(rèn)用戶選擇器選取的一個(gè)或多個(gè)圖形,則用戶選擇器將自動(dòng)將一個(gè)或多個(gè)圖形制作為測(cè)試腳本;如果用戶認(rèn)為用戶選取器選取的一個(gè)或多個(gè)圖形中包括不需要的圖形,則可以手動(dòng)刪除該圖形,并在用戶點(diǎn)擊確認(rèn)之后,用戶選擇器將自動(dòng)將一個(gè)或多個(gè)圖形制作為測(cè)試腳本。
在本發(fā)明的另一個(gè)可選實(shí)施方式中,將一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本包括:獲取測(cè)試者根據(jù)測(cè)試需求構(gòu)建出的一個(gè)或多個(gè)圖形之間的邏輯關(guān)系;將構(gòu)建邏輯關(guān)系之后的一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本。
具體地,當(dāng)用戶選擇出一個(gè)或多個(gè)圖形之后,用戶選擇器還可以獲取用戶為一個(gè)或多個(gè)圖形之間設(shè)置的邏輯關(guān)系,并將構(gòu)建邏輯關(guān)系之后的一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本,其中,該測(cè)試腳本以圖形的形式顯示在顯示界面中,并且用戶還可以為該測(cè)試腳本設(shè)置一個(gè)自然語(yǔ)言描述的名稱(chēng),以表征該測(cè)試腳本的測(cè)試功能。
在用戶選擇器獲取到一個(gè)或多個(gè)圖形,并將一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本之后,在本發(fā)明實(shí)施例中,還可以:將測(cè)試腳本轉(zhuǎn)換成程序語(yǔ)言描述的腳本,然后,發(fā)送轉(zhuǎn)換之后的測(cè)試腳本至服務(wù)器,并接收服務(wù)器返回的對(duì)測(cè)試腳本對(duì)應(yīng)的邏輯操作進(jìn)行測(cè)試的結(jié)果,其中,服務(wù)器在接收到轉(zhuǎn)換之后的測(cè)試腳本之后,對(duì)測(cè)試腳本對(duì)應(yīng)的邏輯操作進(jìn)行測(cè)試,并返回測(cè)試結(jié)果。
在本發(fā)明實(shí)施例中,可以通過(guò)腳本翻譯器將用戶選擇器中制作的使用自然語(yǔ)言描述的測(cè)試腳本翻譯成機(jī)器可執(zhí)行的程序腳本。
首先,用戶可以選擇一個(gè)需要執(zhí)行的測(cè)試腳本J,然后,腳本翻譯器在用戶交互界面上加載用戶選擇的測(cè)試腳本。接下來(lái),為測(cè)試腳本J選擇對(duì)應(yīng)的執(zhí)行機(jī)器,然后點(diǎn)擊執(zhí)行;腳本翻譯器可以根據(jù)測(cè)試腳本J在模型封裝器中所使用的封裝語(yǔ)言,自動(dòng)將測(cè)試腳本J翻譯成對(duì)應(yīng)編程語(yǔ)言的測(cè)試腳本S,并使用測(cè)試腳本S進(jìn)行測(cè)試。
圖2是根據(jù)本發(fā)明實(shí)施例的一種測(cè)試腳本的處理裝置的示意圖一,如圖2所示,該裝置包括提供模塊21、獲取模塊23和第一轉(zhuǎn)換模塊25,其中:
提供模塊21,用于提供至少一個(gè)圖形供測(cè)試者進(jìn)行選擇,其中,每個(gè)圖形對(duì)應(yīng)一個(gè)預(yù)先由用戶封裝好的用于對(duì)預(yù)定功能進(jìn)行測(cè)試的腳本;
在本發(fā)明實(shí)施例中,可以使用對(duì)應(yīng)的模型封裝器建立常用邏輯操作的模型,然后,使用相應(yīng)的編程語(yǔ)言實(shí)現(xiàn)建立的模型,進(jìn)而封裝成一個(gè)操作。接下來(lái),可以將封裝得到的操作轉(zhuǎn)換成圖形,得到至少一個(gè)圖形,以供測(cè)試者來(lái)選擇。測(cè)試者可以直接拖拽上述至少一個(gè)圖形,來(lái)組合成一個(gè)腳本。因此,在本發(fā)明中,每個(gè)圖形均表示對(duì)預(yù)定功能的測(cè)試,也就是說(shuō),每個(gè)圖形均對(duì)應(yīng)一個(gè)邏輯操作。
獲取模塊23,用于獲取測(cè)試者從至少一個(gè)圖形中選擇出的一個(gè)或多個(gè)圖形。
具體地,在本發(fā)明實(shí)施例中,可以使用對(duì)應(yīng)的用戶選擇器自動(dòng)獲取測(cè)試者在至少一個(gè)圖形中選擇的一個(gè)或多個(gè)圖形。其中,獲取一個(gè)或多個(gè)圖形的方式可以有很多種,例如,當(dāng)測(cè)試者拖拽某一圖形時(shí),將自動(dòng)獲取測(cè)試者的拖拽指令,以自動(dòng)選擇圖形;測(cè)試者還可以在對(duì)應(yīng)的輸入框中輸入某個(gè)關(guān)鍵字,例如“點(diǎn)擊”,用戶選擇器在獲取到該關(guān)鍵字之后,將自動(dòng)在至少一個(gè)圖形中查找包括該關(guān)鍵字的圖形,并將查找到的圖形顯示在界面中,以供測(cè)試者選擇。
第一轉(zhuǎn)換模塊25,用于將一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本。
在獲取到測(cè)試者選擇的一個(gè)或多個(gè)圖形之后,可以通過(guò)對(duì)應(yīng)的腳本翻譯器將一個(gè)或多個(gè)圖形按照預(yù)定的方式轉(zhuǎn)換成測(cè)試腳本,以供測(cè)試者進(jìn)行測(cè)試。
通過(guò)上述提供模塊21、獲取模塊23和第一轉(zhuǎn)換模塊25可知,在本發(fā)明實(shí)施例中,測(cè)試腳本的制作過(guò)程為一個(gè)可視化的制作過(guò)程。通過(guò)拖拽圖形或者輸入關(guān)鍵字的方式就可以實(shí)現(xiàn)選擇對(duì)應(yīng)的一個(gè)或多個(gè)圖形,然后使用選擇出的圖形組織成一個(gè)腳本,直接用于測(cè)試或者執(zhí)行。因此,采用本發(fā)明實(shí)施例中的腳本制作方法,即使是毫無(wú)編程基礎(chǔ)的用戶,也可以直接使用該方法,制作對(duì)應(yīng)的測(cè)試腳本。
在本發(fā)明實(shí)施例中,首先將預(yù)定功能的測(cè)試以圖形的形式進(jìn)行顯示,然后,測(cè)試者可以在至少一個(gè)圖形中選擇一個(gè)或多個(gè)圖形,并將選擇的一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本,通過(guò)本發(fā)明提供的測(cè)試腳本的處理方法,可以使得測(cè)試腳本的制作過(guò)程變?yōu)橐粋€(gè)可視化的過(guò)程,相對(duì)于傳統(tǒng)的測(cè)試腳本的制作方法,本發(fā)明提供的測(cè)試腳本的制作方法,達(dá)到了可視化測(cè)試腳本的制作過(guò)程的目的,從而實(shí)現(xiàn)了降低測(cè)試腳本的制作門(mén)檻的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)中測(cè)試腳本在生成處理過(guò)程中形式較為單一的技術(shù)問(wèn)題。
可選地,圖形表示的對(duì)預(yù)定功能的測(cè)試的方式包括以下至少之一:通過(guò)使用編程語(yǔ)言編寫(xiě)測(cè)試腳本來(lái)進(jìn)行測(cè)試、通過(guò)圖形錄制的方式來(lái)進(jìn)行測(cè)試。
可選地,至少一個(gè)圖形包括以下至少之一:接口描述、測(cè)試功能的描述,其中,接口為對(duì)預(yù)定功能進(jìn)行的測(cè)試所能配置的參數(shù)。
可選地,接口描述和/或測(cè)試功能的描述使用自然語(yǔ)言進(jìn)行描述。
可選地,獲取模塊用于:獲取用戶輸入的關(guān)鍵字;在接口描述和/或測(cè)試功能的描述中查找關(guān)鍵字對(duì)應(yīng)的描述,并確定對(duì)應(yīng)的描述對(duì)應(yīng)的一個(gè)或多個(gè)圖形。
可選地,第一轉(zhuǎn)換模塊用于:獲取測(cè)試者根據(jù)測(cè)試需求構(gòu)建出的一個(gè)或多個(gè)圖形之間的邏輯關(guān)系;將構(gòu)建邏輯關(guān)系之后的一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本。
圖3是根據(jù)本發(fā)明實(shí)施例的一種測(cè)試腳本的處理裝置的示意圖二,如圖3所示,該裝置包括第二轉(zhuǎn)換模塊31、發(fā)送模塊33和接收模塊35,其中:
第二轉(zhuǎn)換模塊31,用于在將一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本之后,將測(cè)試腳本轉(zhuǎn)換成程序語(yǔ)言描述的腳本。
在本發(fā)明實(shí)施例中,測(cè)試需求可以為用戶實(shí)際想要測(cè)試的操作,其中,該測(cè)試需求可以使用自然語(yǔ)言進(jìn)行描述,例如,用戶可以輸入“我想要尋路到某個(gè)位置的操作”。
發(fā)送模塊33,用于發(fā)送轉(zhuǎn)換之后的測(cè)試腳本至服務(wù)器,其中,服務(wù)器在接收到轉(zhuǎn)換之后的測(cè)試腳本之后,對(duì)測(cè)試腳本對(duì)應(yīng)的邏輯操作進(jìn)行測(cè)試,并返回測(cè)試結(jié)果;
接收模塊,用于接收服務(wù)器返回的對(duì)測(cè)試腳本對(duì)應(yīng)的邏輯操作進(jìn)行測(cè)試的結(jié)果。
圖4是根據(jù)本發(fā)明實(shí)施例的一種測(cè)試腳本的處理裝置的示意圖三,如圖4所示,獲取模塊23包括獲取單元41、分析單元43和選擇單元45,其中:
獲取單元41,用于獲取測(cè)試者的測(cè)試需求,其中,測(cè)試需求使用自然語(yǔ)言進(jìn)行描述。
在本發(fā)明實(shí)施例中,測(cè)試需求可以為用戶實(shí)際想要測(cè)試的操作,其中,該測(cè)試需求可以使用自然語(yǔ)言進(jìn)行描述,例如,用戶可以輸入“我想要尋路到某個(gè)位置的操作”。
分析單元43,用于對(duì)測(cè)試需求進(jìn)行語(yǔ)意分析得出關(guān)鍵字。
在分析模塊中,可以對(duì)獲取模塊中獲取到的測(cè)試需求進(jìn)行分析,例如,可以對(duì)“我想要尋路到某個(gè)位置的操作”進(jìn)行分詞處理,然后過(guò)濾掉其中的感嘆詞和連接詞等無(wú)用詞匯,最終得到一個(gè)或多個(gè)關(guān)鍵字,例如,對(duì)上述測(cè)試需求進(jìn)行分析之后,可以得到的關(guān)鍵字包括:“尋路”和“尋路到位置”。
選擇單元45,用于根據(jù)關(guān)鍵字在至少一個(gè)圖形中選擇一個(gè)或多個(gè)圖形。
在分析得到上述至少一個(gè)關(guān)鍵字之后,用戶選取器可以根據(jù)該關(guān)鍵字自動(dòng)在至少一個(gè)圖形中進(jìn)行匹配,匹配得到一個(gè)或多個(gè)圖形,其中,每個(gè)圖形對(duì)應(yīng)一個(gè)預(yù)先由用戶封裝好的用于對(duì)預(yù)定功能進(jìn)行測(cè)試的腳本。
在分析得到上述至少一個(gè)關(guān)鍵字之后,用戶選取器可以根據(jù)該關(guān)鍵字自動(dòng)在至少一個(gè)圖形中進(jìn)行匹配,匹配得到一個(gè)或多個(gè)圖形。
在本發(fā)明實(shí)施例中,首先獲取用戶的測(cè)試需求,然后,對(duì)測(cè)試需求進(jìn)行分析得到關(guān)鍵字,并根據(jù)關(guān)鍵字至少一個(gè)圖形中選擇一個(gè)或多個(gè)圖形,并將選擇的一個(gè)或多個(gè)圖形轉(zhuǎn)換為測(cè)試腳本,通過(guò)本發(fā)明提供的測(cè)試腳本的處理方法,可以使得測(cè)試腳本的制作過(guò)程變?yōu)橐粋€(gè)可視化的過(guò)程,相對(duì)于傳統(tǒng)的測(cè)試腳本的制作方法,本發(fā)明提供的測(cè)試腳本的制作方法,達(dá)到了可視化測(cè)試腳本的制作過(guò)程的目的,從而實(shí)現(xiàn)了降低測(cè)試腳本的制作門(mén)檻的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)中測(cè)試腳本在生成處理過(guò)程中形式較為單一的技術(shù)問(wèn)題。
圖5是根據(jù)本發(fā)明實(shí)施例的另一種測(cè)試腳本的處理裝置的示意圖,如圖5所示,該裝置包括:模型封裝器51、用戶選擇器53、腳本翻譯器55和腳本執(zhí)行器57。
模型封裝器51用于建立常用邏輯操作的模型,然后使用相應(yīng)地編程語(yǔ)言實(shí)現(xiàn)建立的模型,進(jìn)而封裝成一個(gè)操作,并用自然語(yǔ)言描述該操作。
用戶選擇器53用于將模型封裝器中封裝得到的不同操作進(jìn)行組合,得到測(cè)試腳本。如圖5所示,用戶選擇器可以獲取用戶輸入的關(guān)鍵字,然后根據(jù)該關(guān)鍵字在模型封裝器產(chǎn)生的操作中匹配相應(yīng)地操作(即,上述一個(gè)或多個(gè)圖形),并填充操作對(duì)應(yīng)的參數(shù),組合不同的操作形成一個(gè)測(cè)試腳本。用戶選擇器還可以將用戶選擇的自然語(yǔ)言描述的操作,轉(zhuǎn)換成一個(gè)圖形,展示在圖形界面上,供用戶查看和修改。
在用戶執(zhí)行用戶選擇器中制作得到的測(cè)試腳本之前,可以通過(guò)腳本翻譯器自動(dòng)將用戶選擇器中產(chǎn)生的測(cè)試腳本翻譯成對(duì)應(yīng)編程語(yǔ)言的腳本(即,機(jī)器語(yǔ)言腳本)。然后,通過(guò)腳本執(zhí)行器執(zhí)行腳本翻譯器中翻譯的測(cè)試腳本,并將將執(zhí)行結(jié)果顯示在交互頁(yè)面上,反饋給用戶。
圖6是根據(jù)本發(fā)明實(shí)施例的一種模型封裝器的流程圖,如圖6所示,該流程圖包括如下步驟:
步驟S602,設(shè)定待封裝模型的中文描述與中文名,其中,中文名可以根據(jù)用戶的需求自己定制,也可以根據(jù)系統(tǒng)設(shè)定的操作名字作為中文名,例如:打包物品欄,尋路到NPC,接任務(wù)等;
步驟S604,輸入待封裝模型的參數(shù)與類(lèi)型,其中,參數(shù)就是一個(gè)待封裝模型所要操作的對(duì)應(yīng),例如,尋路模型的參數(shù)為:尋路到達(dá)的場(chǎng)景(spaceno)與坐標(biāo),對(duì)于一個(gè)3D游戲,坐標(biāo)由x(橫向坐標(biāo)),y(縱向坐標(biāo)),z(縱坐標(biāo))組成,那么尋路模型的參數(shù)就是x,y,z,spaceno;
步驟S606,使用編程語(yǔ)言實(shí)現(xiàn)該模型,例如,某游戲的尋路模型,實(shí)現(xiàn)該模型實(shí)際上就是調(diào)用游戲的尋路接口navigator.getNav().pathFinding((x,y,z,spaceNo)),其中,編程語(yǔ)言可以是python,lua,Java等語(yǔ)言;
步驟S608,保存模型,最后將實(shí)現(xiàn)的模型保存在操作庫(kù)中。
具體地,如圖10所示的即為模型封裝器的交互顯示界面的示意圖,通過(guò)該交互界面,用戶可以對(duì)模型進(jìn)行封裝,例如,可以設(shè)置每個(gè)待封裝模型的接口類(lèi)型、接口名稱(chēng)和接口描述的中文名稱(chēng)和英文名稱(chēng)。
圖7是根據(jù)本發(fā)明實(shí)施例的一種用戶選擇器的流程圖,如圖7所示,該流程圖包括如下步驟:
步驟S702,用戶輸入關(guān)鍵字,其中,該關(guān)鍵字為用戶所要使用的操作或者操作的關(guān)鍵字,例如,尋路到某個(gè)位置這一操作,用戶可以輸入“尋路”這一關(guān)鍵字;
步驟S704,根據(jù)關(guān)鍵字查詢操作庫(kù),得到含有該關(guān)鍵字的操作列表。其中,可以根據(jù)用戶輸入的關(guān)鍵字在操作庫(kù)中自動(dòng)匹配含有該關(guān)鍵字的操作列表L,例如:“尋路”這一關(guān)鍵,系統(tǒng)會(huì)自動(dòng)匹配“尋路到坐標(biāo)”,“尋路到NPC”等操作;
步驟S706,用戶在操作列表L中選擇要使用的操作l,并填充操作l的參數(shù),例如“尋路到坐標(biāo)”這一操作,需要填充“橫向坐標(biāo)”,“縱向坐標(biāo)”,“高度”,“場(chǎng)景編號(hào)”等參數(shù);
步驟S708,將用戶選取的操作1轉(zhuǎn)換成圖形表示,在獲取到用戶輸入操作1的參數(shù)后,如果獲取到用戶發(fā)送的轉(zhuǎn)換指令,則系統(tǒng)會(huì)自動(dòng)將自然語(yǔ)言描述的操作,轉(zhuǎn)換成圖形顯示框;
接著用戶重復(fù)S702-S708的過(guò)程,直至完成所有的操作。
步驟S710,保存測(cè)試腳本。
具體地,如圖11所示的即為用戶選擇器的交互顯示界面的示意圖,用戶可以在該交互界面中預(yù)先設(shè)置測(cè)試腳本的腳本名稱(chēng),測(cè)試腳本的接口描述和測(cè)試腳本的腳本類(lèi)型。然后,在“輸入步驟名”的輸入框中輸入關(guān)鍵字,在輸入該關(guān)鍵字之后,用戶選擇器將自動(dòng)查找包括該關(guān)鍵字的圖形,并將一個(gè)或多個(gè)圖形以列表的形式顯示給用戶。如圖12所示,當(dāng)用戶輸入“點(diǎn)擊”之后,用戶選擇器將自動(dòng)地查找一個(gè)或多個(gè)圖形,并顯示一個(gè)操作列表,例如,圖12中所示的“鼠標(biāo)左鍵點(diǎn)擊”、“鼠標(biāo)左鍵點(diǎn)擊”和“鼠標(biāo)點(diǎn)擊”等。
圖8是根據(jù)本發(fā)明實(shí)施例的一種腳本翻譯器的流程圖,如圖8所示,該流程圖包括如下步驟:
步驟S802,用戶選擇一個(gè)需要執(zhí)行的測(cè)試腳本J,并加載測(cè)試腳本J,腳本翻譯器加載用戶選擇的測(cè)試腳本J在用戶交互界面上;
步驟S804,選擇對(duì)應(yīng)的執(zhí)行機(jī)器,然后點(diǎn)擊執(zhí)行,就可以實(shí)現(xiàn)執(zhí)行下述步驟S806;
步驟S806,對(duì)測(cè)試腳本J進(jìn)行翻譯得到機(jī)器語(yǔ)言腳本;系統(tǒng)根據(jù)用戶選擇的測(cè)試腳本J中操作在模型封裝器中所使用的語(yǔ)言,自動(dòng)將測(cè)試腳本J翻譯成對(duì)應(yīng)編程語(yǔ)言的腳本S。
圖11是根據(jù)本發(fā)明實(shí)施例的一種腳本執(zhí)行器的流程圖,如圖11所示,腳本執(zhí)行器通過(guò)所在的用戶機(jī)器將腳本翻譯器中產(chǎn)生的機(jī)器語(yǔ)言腳本S,發(fā)送執(zhí)行機(jī)器,并接收?qǐng)?zhí)行機(jī)器的返回結(jié)果R,顯示在用戶交互界面上。
本發(fā)明已經(jīng)用于真實(shí)的軟件測(cè)試環(huán)境與場(chǎng)景,實(shí)踐證明,本發(fā)明可以很好地實(shí)現(xiàn)用戶操作的自由定制與封裝,制作腳本的用戶無(wú)需任何編程語(yǔ)言基礎(chǔ),只需要理解自然語(yǔ)言描述的操作,就可以很快地制作一個(gè)腳本,極大地降低了腳本制作的技術(shù)門(mén)檻。腳本維護(hù)制作之后,基本上不需要額外的維護(hù)費(fèi)用,降低了腳本制作與維護(hù)的費(fèi)用,促進(jìn)了測(cè)試效率的提高。
在本發(fā)明實(shí)施例中,提供了一種簡(jiǎn)便通用,基于用戶操作的,使用自然語(yǔ)言描述,可視化的測(cè)試腳本的處理方法。用戶可以將常用的測(cè)試腳本,封裝成為一個(gè)自然語(yǔ)言描述的操作,然后通過(guò)拖拽的方式,使用這些自然語(yǔ)言描述的操作,組織成一個(gè)測(cè)試腳本,并通過(guò)該測(cè)試腳本直接用于測(cè)試或者執(zhí)行。即使是毫無(wú)編程基礎(chǔ)的用戶,也可以直接使用該方法,制作腳本,所以腳本的維護(hù)成本相對(duì)較低。
本發(fā)明實(shí)施例中,還為用戶提供了自由的建模系統(tǒng),模型的實(shí)現(xiàn)不受語(yǔ)言的限制。在模型實(shí)現(xiàn)的過(guò)程中,可以使用自然語(yǔ)言描述該模型形成一個(gè)操作,模型可以使用任何編程語(yǔ)言來(lái)實(shí)現(xiàn)。并且用戶在制作測(cè)試腳本時(shí),只需要組合自然語(yǔ)言描述的操作,填充必要的參數(shù),就可以構(gòu)成一個(gè)腳本,操作的封裝與腳本的制作過(guò)程,用戶操作的是自然語(yǔ)言與圖形,所以整個(gè)過(guò)程是可視化的。
本發(fā)明實(shí)施例提供的測(cè)試腳本的處理方法相比傳統(tǒng)的自動(dòng)化測(cè)試方案,它的優(yōu)點(diǎn)主要集中在:
第一:無(wú)拘束自由建模,用戶可以自己定制所要使用的操作,不受平臺(tái)和工具的束縛;
第二:模型實(shí)現(xiàn)的自然語(yǔ)言描述,用戶實(shí)現(xiàn)模型的過(guò)程中,可以使用自然語(yǔ)言描述該模型,模型一旦實(shí)現(xiàn),就變成了一個(gè)自然語(yǔ)言描述的操作,其它用戶只需要使用這些自然語(yǔ)言描述的操作,就可以形成一個(gè)腳本;
第三:可視化腳本制作,用戶制作腳本的過(guò)程,用戶操作的是自然語(yǔ)言描述的操作和圖形,無(wú)需任何編程語(yǔ)言基礎(chǔ)。由于模型的實(shí)現(xiàn)使用自然語(yǔ)言描述,所以制作腳本的用戶,只需要理解自然語(yǔ)言,就可以制作一個(gè)腳本。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過(guò)其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤(pán)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。