欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種生成測試腳本的方法及裝置的制作方法

文檔序號(hào):75286閱讀:276來源:國知局
專利名稱:一種生成測試腳本的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及測試技術(shù),尤指一種生成測試腳本的方法及裝置。
背景技術(shù)
自動(dòng)化測試由于其具有測試周期短、測試資源的利用率高等特點(diǎn),在測試領(lǐng)域受到越來越高的關(guān)注。在現(xiàn)有的自動(dòng)化測試技術(shù)中,測試腳本通常根據(jù)可以通過以下兩種方法得到。
其一為,首先由測試人員執(zhí)行一次手工測試,然后再由測試人員根據(jù)手工測試過程,手工編寫測試腳本文件。這里,測試人員需要經(jīng)過一次手工測試過程,再編寫測試腳本文件的原因是測試過程的隨機(jī)性比較大,因此測試人員必須先做一次手工測試,然后再根據(jù)手工測試中所遇到的問題、出現(xiàn)的情況,對測試過程進(jìn)行改進(jìn),避免由于測試過程的不完善而導(dǎo)致測試不準(zhǔn)確的問題,因此在編寫測試腳本文件之前需要執(zhí)行一次手工測試過程。這種方法的弊端就是重復(fù)工作量大,并且手工編寫的腳本文件很難重現(xiàn)當(dāng)時(shí)的手工測試過程。
其二為,通過一個(gè)具有捕獲回放功能的自動(dòng)化測試工具來生成測試腳本。這種自動(dòng)化測試工具的工作原理就是完全復(fù)制手工測試過程,在需要進(jìn)行測試時(shí)重放該復(fù)制的手工測試過程。這種生成測試腳本的方法,雖然能夠減小測試人員的工作量,能夠完全重現(xiàn)當(dāng)時(shí)的手工測試過程,但由于自動(dòng)化測試工具是采用傻瓜的復(fù)制方式,因此在手工測試過程中出現(xiàn)的一些問題,如輸入了的錯(cuò)誤命令,或輸入了多余的字符,自動(dòng)化測試工具是不能夠識(shí)別并予以清除的。因此,這種生成測試腳本的方法不能根據(jù)記錄的手工測試過程,對測試操作進(jìn)行優(yōu)化進(jìn)而生成測試腳本。

發(fā)明內(nèi)容有鑒于此,本發(fā)明實(shí)施例的主要目的在于提供一種生成測試腳本的方法,應(yīng)用該方法能夠根據(jù)測試腳本生成方的需要,生成優(yōu)化的測試腳本。
同時(shí),本發(fā)明實(shí)施例的又一主要目的在于提供一種生成測試腳本的裝置,該裝置能夠?qū)崿F(xiàn)根據(jù)測試腳本生成方的需要,生成優(yōu)化的測試腳本。
為達(dá)到上述目的,本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明實(shí)施例提供了一種生成測試腳本的方法,設(shè)置腳本參數(shù)列表;該方法包括以下步驟A、根據(jù)手工測試過程,生成測試記錄文件;根據(jù)腳本參數(shù)列表,選擇腳本參數(shù);B、根據(jù)選擇的腳本參數(shù)及測試記錄文件,生成測試腳本。
另外,本發(fā)明實(shí)施例還提供了一種生成測試腳本的裝置,該裝置包括記錄單元,用于根據(jù)手工測試過程,生成測試記錄文件;選擇單元,用于根據(jù)腳本參數(shù)列表,確定腳本參數(shù);測試腳本生成單元,用于根據(jù)記錄單元生成的測試記錄文件、以及選擇單元確定的腳本參數(shù),生成測試腳本。
本發(fā)明實(shí)施例所提供的一種生成測試腳本的方法,通過設(shè)置腳本參數(shù)列表;接著首先根據(jù)手工測試過程,生成測試記錄文件;再根據(jù)腳本參數(shù)列表,選擇腳本參數(shù);最后根據(jù)選擇的腳本參數(shù)及測試記錄文件,生成測試腳本。由于腳本參數(shù)列表中包含的是與優(yōu)化測試腳本的相關(guān)腳本參數(shù),因此用戶或測試腳本的生成方,則可以根據(jù)自身的情況在腳本參數(shù)列表中選擇一個(gè)或多個(gè)腳本參數(shù),并根據(jù)選擇的腳本參數(shù)及測試記錄文件生成優(yōu)化的測試腳本。另外,本發(fā)明實(shí)施例還提供了一種生成測試腳本的裝置。通過應(yīng)用本發(fā)明實(shí)施例提供的方法及裝置,能夠?qū)崿F(xiàn)根據(jù)測試腳本生成方的需要,生成優(yōu)化的測試腳本,能夠?qū)崿F(xiàn)刪除錯(cuò)誤、歸并重復(fù)、歸并循環(huán)等功能,提高了測試腳本的測試性能,節(jié)約了測試系統(tǒng)的資源,同時(shí)也就有很強(qiáng)的適應(yīng)性。
下面將通過參照附圖詳細(xì)描述本發(fā)明的示例性實(shí)施例,使本領(lǐng)域的普通技術(shù)人員更清楚本發(fā)明的上述及其它特征和優(yōu)點(diǎn),附圖中圖1為本發(fā)明較佳實(shí)施例方法的流程圖;圖2為本發(fā)明較佳實(shí)施例中生成相關(guān)鏈表的方法流程圖;圖3為本發(fā)明較佳實(shí)施例裝置的結(jié)構(gòu)圖。
具體實(shí)施方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對本發(fā)明做進(jìn)一步的詳細(xì)說明。
在本發(fā)明的實(shí)施例的技術(shù)方案中,預(yù)先設(shè)置腳本參數(shù)列表;接著,首先根據(jù)手工測試過程,生成測試記錄文件;再根據(jù)腳本參數(shù)列表,選擇腳本參數(shù);最后根據(jù)選擇的腳本參數(shù)及測試記錄文件,生成測試腳本。
這里腳本參數(shù)列表中包含的是與優(yōu)化測試腳本的相關(guān)腳本參數(shù),可以包括如下幾種歸并重復(fù)命令、歸并循環(huán)操作、轉(zhuǎn)化檢查操作、過濾錯(cuò)誤命令、刪除命令和刪除時(shí)間間隔。當(dāng)然還可以包括其他與優(yōu)化測試腳本有關(guān)的腳本參數(shù),在此不一一列舉。當(dāng)設(shè)置了腳本參數(shù)列表之后,用戶或測試腳本的生成方,則可以根據(jù)自身的情況在腳本參數(shù)列表中選擇一個(gè)或多個(gè)腳本參數(shù),并根據(jù)選擇的腳本參數(shù)及測試記錄文件生成測試腳本。由于腳本參數(shù)是用于優(yōu)化測試腳本的,因此在生成測試腳本根據(jù)腳本參數(shù)就能夠優(yōu)化測試腳本。例如在生成測試腳本的過程中,歸并重復(fù)命令和過濾錯(cuò)誤命令,就能夠消除測試腳本中的重復(fù)命令和過濾錯(cuò)誤命令,進(jìn)而優(yōu)化測試腳本。
圖1為本發(fā)明較佳實(shí)施例方法的流程圖。在本較佳實(shí)施例中假設(shè)預(yù)先設(shè)置的腳本參數(shù)列表中包括歸并重復(fù)命令、歸并循環(huán)操作、轉(zhuǎn)化檢查操作、過濾錯(cuò)誤命令、刪除命令和刪除時(shí)間間隔,本發(fā)明較佳實(shí)施例方法的流程如下所述在步驟101中,根據(jù)手工測試過程,生成測試記錄文件。
這里生成的測試記錄文件是根據(jù)手工測試的操作過程,按照時(shí)間順序記錄所有擊鍵內(nèi)容及相應(yīng)的擊鍵時(shí)間、回顯內(nèi)容、窗口信息。例如在一臺(tái)設(shè)備上執(zhí)行dis this的測試,敲入的命令行以及在測試設(shè)備上的回顯內(nèi)容如下所示[NE40-16Test-Ethernet2/0/4]dis this#interface Ethernet2/0/4undo shutdownportswitchport trunk allow-pass vlan21#return當(dāng)用可擴(kuò)展行標(biāo)簽語言(XML)文件記錄該測試過程時(shí),相應(yīng)的測試記錄文件為如下形式<VTP_KEY_RECORD>
<term name=″NE67″>
<K t=″2915500″>d</K>
<E t=″2915500″1=″3″>d</E>
<K t=″2915703″>i</K>
<E t=″2915719″1=″3″>i</E>
<K t=″2915844″>s</K>
<E t=″2915844″1=″3″>s</E>
<K t=″2919828″></K>
<K t=″2920109″>t</K>
<E t=″2920125″1=″3″>t</E>
<K t= ″2920312″>h</K>
<E t=″2920328″1=″3″>h</E>
<K t=″2920641″>
</K>
<E t=″2920719″1=″3″>#</E>
<E t=″2920734″1=″521″>interface Ethernet2/0/4undo shutdownportswitchport trunk allow-pass vlan21#return[NE40-16Test-Ethernet2/0/4]</E>
</term>
</VTP_KEY_RECORD>
其中,<VTP_KEY_RECORD>為XML文件根節(jié)點(diǎn);<term>表示窗口的信息;以K為標(biāo)記的表示擊鍵輸入內(nèi)容;以E為標(biāo)記的表示回顯內(nèi)容;屬性t為時(shí)標(biāo),記錄當(dāng)前擊鍵時(shí)間;屬性1為長度。這里記錄的回顯內(nèi)容包括兩部分擊鍵的回顯內(nèi)容和測試命令的回顯內(nèi)容。
如步驟101中列舉的例子,<E t=″2920734″1=″521″>interface Ethernet2/0/4undo shutdownportswitchport trunk allow-pass vlan21#return[NE40-16Test-Ethernet2/0/4]
</E>
為測試命令的回顯內(nèi)容;而<E t=″2915500″1=″3″>d</E>
為擊鍵信息的回顯內(nèi)容。
在步驟102中,在生成測試記錄文件后,測試腳本生成方根據(jù)腳本參數(shù)列表,選擇腳本參數(shù)。
在本較佳實(shí)施例中,假設(shè)測試腳本生成方選擇了腳本參數(shù)列表中的所有腳本參數(shù),即選擇了歸并重復(fù)命令、歸并循環(huán)操作、轉(zhuǎn)化檢查操作、過濾錯(cuò)誤命令、刪除命令和刪除時(shí)間間隔。當(dāng)然測試腳本生成方也可以選擇其中的一個(gè)或多個(gè)腳本參數(shù)。
這里,所指的測試腳本生成方可以是進(jìn)行測試的測試人員,也可以是某個(gè)具體的設(shè)備。當(dāng)測試腳本生成方是某個(gè)具體的設(shè)備時(shí),則可以根據(jù)預(yù)先設(shè)置的一些選擇規(guī)則,選擇腳本參數(shù)。
步驟102也可以與步驟101同時(shí)進(jìn)行,也可以在步驟102之前執(zhí)行。
在步驟103中,根據(jù)測試記錄文件生成命令行輸入鏈表、回顯內(nèi)容輸出鏈表、控制臺(tái)窗口名稱鏈表和命令行時(shí)間間隔鏈表。
這里的命令行輸入鏈表用于記錄測試過程中輸入的每條命令;回顯內(nèi)容輸出鏈表用于記錄測試過程中每條輸入命令對應(yīng)的回顯內(nèi)容,其中回顯內(nèi)容輸出鏈表中并不包含對擊鍵內(nèi)容的回顯;控制臺(tái)窗口名稱鏈表用于記錄每條命令所在窗口的名稱;命令行時(shí)間間隔鏈表用于針對每條命令,記錄當(dāng)前命令與上一命令輸入之間的時(shí)間間隔。
生成命令行輸入鏈表、回顯內(nèi)容輸出鏈表、控制臺(tái)窗口名稱鏈表和命令行時(shí)間間隔鏈表的方式可以是如下形式在生成命令行輸入鏈表時(shí),遍歷測試記錄文件,將測試記錄文件中第一個(gè)回車鍵之前的擊鍵內(nèi)容作為一條命令,加入命令行輸入鏈表;之后,將兩個(gè)回車鍵之間所有的擊鍵內(nèi)容作為一條命令加入命令行輸入鏈表;然后,將針對每條命令的回顯內(nèi)容,分別加入回顯內(nèi)容輸出鏈表;并在每次將命令加入命令行輸入鏈表時(shí),根據(jù)當(dāng)前命令所對應(yīng)的控制臺(tái)窗口,將控制臺(tái)窗口信息記錄至控制臺(tái)窗口名稱鏈表中;最后,針對當(dāng)前命令,將當(dāng)前命令與上條命令之間輸入的時(shí)間間隔加入到命令行時(shí)間間隔鏈表內(nèi),其中第一命令行的時(shí)間間隔為0。在命令行輸入鏈表、回顯內(nèi)容輸出鏈表、控制臺(tái)窗口名稱鏈表和命令行時(shí)間間隔鏈表中,相同行的元素均是一一對應(yīng)的,即相應(yīng)行中的元素均對應(yīng)的同一條命令。
在本較佳實(shí)施例中,還提供了一個(gè)詳細(xì)的生成命令行輸入鏈表、回顯內(nèi)容輸出鏈表、控制臺(tái)窗口名稱鏈表和命令行時(shí)間間隔鏈表的方法,具體流程參見圖2。
在步驟104中,根據(jù)選擇的腳本參數(shù)、命令行輸入鏈表、回顯內(nèi)容輸出鏈表、控制臺(tái)窗口名稱鏈表和命令行時(shí)間間隔鏈表,生成測試腳本。
由于在本較佳實(shí)施例中,測試腳本的生成方選擇的是歸并重復(fù)命令、歸并循環(huán)操作、轉(zhuǎn)化檢查操作、過濾錯(cuò)誤命令、刪除設(shè)置命令和刪除時(shí)間間隔。因此在根據(jù)命令行輸入鏈表、回顯內(nèi)容輸出鏈表、控制臺(tái)窗口名稱鏈表和命令行時(shí)間間隔鏈表,生成測試腳本的過程中,需要?dú)w并重復(fù)命令、歸并循環(huán)操作、轉(zhuǎn)化檢查操作、過濾錯(cuò)誤命令、刪除設(shè)置命令和刪除時(shí)間間隔。
其中,歸并重復(fù)命令的具體方法可以是在生成測試腳本的過程中,在使用到命令行輸入鏈表時(shí),當(dāng)遇到連續(xù)兩次以上的重復(fù)命令,則在生成腳本時(shí)僅利用其中一個(gè)生成測試腳本。例如,當(dāng)在命令行輸入鏈表中,連續(xù)出現(xiàn)了三個(gè)dis th的命令時(shí),則僅利用其中一個(gè)dis th命令用來生成測試腳本。
歸并循環(huán)操作的具體方法可以是在生成測試腳本的過程中,在使用到命令行輸入鏈表時(shí),識(shí)別其中存在的循環(huán)操作,同時(shí)歸并識(shí)別出的循環(huán)操作。識(shí)別循環(huán)操作的方法可以是對命令行輸入鏈表中的內(nèi)容進(jìn)行遍歷,當(dāng)遇到三次以上輸入內(nèi)容中的數(shù)字部分成等差數(shù)列排列時(shí),則可以確定該部分的命令為循環(huán)操作。例如如下三個(gè)命令int e0.1、int e0.2、int e0.3則為一個(gè)循環(huán)操作,因此在生成測試腳本時(shí),可以將這三個(gè)命令歸并為一個(gè)循環(huán)操作,進(jìn)而實(shí)現(xiàn)對測試腳本的優(yōu)化。
轉(zhuǎn)化檢查操作的具體方法可以是在進(jìn)行轉(zhuǎn)化檢查操作之前測試腳本生成方需要預(yù)先設(shè)置需要轉(zhuǎn)化的命令,例如ping和route。在生成測試腳本的過程中,使用到命令行輸入鏈表時(shí),查找到命令行輸入鏈表中需要轉(zhuǎn)換的命令,將查找到的命令轉(zhuǎn)化為檢查操作,例如<CHECK>ping、<CHECK>route,其中<CHECK>是已經(jīng)封裝好的關(guān)鍵字,利用<CHECK>中不同的參數(shù)選項(xiàng)能夠提供不同的檢查操作。此時(shí),還可以根據(jù)回顯內(nèi)容輸出鏈表,查找到所述需要轉(zhuǎn)化的命令對應(yīng)的回顯內(nèi)容,將所述查找到的回顯內(nèi)容作為轉(zhuǎn)化檢查操作的參數(shù),向測試方提供預(yù)期的結(jié)果。根據(jù)這個(gè)預(yù)期結(jié)果,測試設(shè)備就能夠顯示測試腳本當(dāng)前的運(yùn)行結(jié)果與預(yù)期結(jié)果之間的差異。
過濾錯(cuò)誤命令的具體方法可以是在生成測試腳本的過程中,在使用到回顯內(nèi)容輸出鏈表時(shí),根據(jù)回顯內(nèi)容輸出鏈表中記錄的錯(cuò)誤指示,刪除所述錯(cuò)誤指示對應(yīng)的命令行。例如,輸入命令為[Quidway]int e5/0/2相應(yīng)的回顯內(nèi)容為ErrorWrong parameter found at′′position此時(shí),則可以刪去錯(cuò)誤回顯內(nèi)容所對應(yīng)的命令。這里,命令int e5/0/2錯(cuò)誤的原因在于在當(dāng)前設(shè)備上沒有e5/0/2的端口。
刪除命令的具體方法可以是預(yù)先設(shè)置刪除命令集合,在生成測試腳本的過程中,在使用到命令行輸入鏈表時(shí),判斷命令行輸入鏈表中記錄的命令是否為刪除命令集合中的命令,在命令為刪除命令集合中的命令,在生成測試腳本時(shí),忽略該命令。
刪除時(shí)間間隔的具體方法是在生成測試腳本的過程中,根據(jù)命令行時(shí)間間隔鏈表刪除兩條命令之間的延時(shí)。
在本較佳實(shí)施例中,在生成測試腳本的過程時(shí)還可以針對每個(gè)腳本參數(shù)的處理,向測試腳本生成方提示,讓測試腳本生成方確認(rèn)是否需要執(zhí)行相應(yīng)的操作。例如在歸并重復(fù)命令,查詢到存在兩個(gè)以上連續(xù)的重復(fù)操作時(shí),可以向測試腳本生成方提示,由測試腳本生成方來確定是否需要?dú)w并重復(fù)命令。
在執(zhí)行測試腳本時(shí),也可定義通過另外定義選項(xiàng),用于選擇是否反復(fù)執(zhí)行或者限定執(zhí)行的次數(shù)、或者提供執(zhí)行過程中可以暫停并繼續(xù)的選項(xiàng)。
另外,需要指出的是根據(jù)命令行輸入鏈表和控制臺(tái)窗口名稱鏈表就可以生成測試腳本?;仫@內(nèi)容輸出鏈表和命令行時(shí)間間隔鏈表是為了實(shí)現(xiàn)一些腳本參數(shù)而生成的。例如,回顯內(nèi)容輸出鏈表可以用來實(shí)現(xiàn)過濾錯(cuò)誤命令;命令行時(shí)間間隔鏈表可以用來實(shí)現(xiàn)刪除時(shí)間間隔。也就是說,當(dāng)不存在與回顯內(nèi)容相關(guān)的腳本參數(shù)時(shí),可以不生成回顯內(nèi)容輸出鏈表,相應(yīng)的也就不需要記錄針對每個(gè)命令相應(yīng)的回顯內(nèi)容;當(dāng)不存在與時(shí)間間隔相關(guān)的腳本參數(shù)時(shí),可以不生成命令行時(shí)間間隔鏈表,相應(yīng)的也就不需要記錄每條命令行對應(yīng)的時(shí)間間隔。
當(dāng)然,還存在另外一種實(shí)現(xiàn)方式,即在生成鏈表時(shí),生成命令行輸入鏈表、回顯內(nèi)容輸出鏈表、控制臺(tái)窗口名稱鏈表和命令行時(shí)間間隔鏈表,生成腳本時(shí),利用選擇的腳本參數(shù)對應(yīng)的鏈表生成測試腳本。例如,選擇的腳本參數(shù)為歸并重復(fù)命令,在生成鏈表時(shí)可以生成這四種類型的鏈表,但在生成測試腳本時(shí),則只需要根據(jù)命令行輸入鏈表和控制臺(tái)窗口名稱鏈表生成測試腳本。又如,選擇的腳本參數(shù)為刪除時(shí)間間隔,生成測試腳本時(shí)只需要根據(jù)命令行輸入鏈表、控制臺(tái)窗口名稱鏈表和命令行時(shí)間間隔鏈表生成測試腳本即可。
以上為本較佳實(shí)施例方法流程的具體介紹,以下描述的是根據(jù)測試記錄文件生成命令行輸入鏈表、回顯內(nèi)容輸出鏈表、控制臺(tái)窗口名稱鏈表和命令行時(shí)間間隔鏈表的詳細(xì)步驟。
圖2為上面描述的詳細(xì)步驟。在圖2所示的流程中,測試記錄文件以XML文件格式存在,與步驟101中列舉的XML文件形式相同,即以<term>表示窗口的切換信息;以K為標(biāo)記表示擊鍵輸入內(nèi)容;以E為標(biāo)記表示回顯內(nèi)容;屬性t為時(shí)標(biāo),記錄當(dāng)前擊鍵時(shí)間;屬性1為長度。
在執(zhí)行本流程之前,還需要設(shè)置臨時(shí)文件和臨時(shí)時(shí)間鏈表。其中臨時(shí)文件用于在遍歷測試記錄文件的過程,臨時(shí)存儲(chǔ)未形成命令行的擊鍵內(nèi)容。例如,當(dāng)一個(gè)命令為ping時(shí),這個(gè)命令存在四個(gè)擊鍵內(nèi)容,分別是p、i、n、g,由于一個(gè)命令通常以回車鍵結(jié)束,因此在沒有遇到回車鍵時(shí),p、i、n、g分別依次存儲(chǔ)在臨時(shí)文件中,當(dāng)遇到回車鍵時(shí),則從臨時(shí)文件中取出該ping命令并清空臨時(shí)文件。另外,臨時(shí)時(shí)間鏈表,用于存儲(chǔ)一條命令的輸入時(shí)間。
在生成上述相關(guān)鏈表時(shí),需要遍歷XML文件中的所有的結(jié)點(diǎn),在此為了簡要清楚的描述,圖2為針對XML文件中一個(gè)結(jié)點(diǎn)的處理過程為例進(jìn)行描述,其他結(jié)點(diǎn)的處理方法與該過程相同,具體過程如下所示在步驟201中,判斷當(dāng)前結(jié)點(diǎn)是否為元素結(jié)點(diǎn)(ELEMENT_NODE),如果是,則執(zhí)行步驟202;否則,執(zhí)行步驟213。
在此,介紹一下XML文件中的結(jié)點(diǎn),在本發(fā)明的實(shí)施例中使用到的XML文件中的結(jié)點(diǎn)主要分為兩類,例如<K t=″2915500″>為一類結(jié)點(diǎn),結(jié)點(diǎn)類型為ELEMENT_NODE;而之后緊跟的d為一類結(jié)點(diǎn),結(jié)點(diǎn)類型為文本結(jié)點(diǎn)(TEXT_NODE),文本結(jié)點(diǎn)用于記錄緊跟的元素結(jié)點(diǎn)對應(yīng)的內(nèi)容。
在步驟202中,判斷當(dāng)前元素結(jié)點(diǎn)的標(biāo)記是否為K,如果是,則執(zhí)行步驟203;否則,執(zhí)行步驟208。
在步驟203中,遍歷當(dāng)前元素結(jié)點(diǎn)對應(yīng)的文本結(jié)點(diǎn),判斷文本結(jié)點(diǎn)的內(nèi)容是否為回車鍵,如果是,則執(zhí)行步驟204;否則,執(zhí)行步驟207。
在步驟204中,將臨時(shí)文件中的內(nèi)容作為一條命令加入命令行輸入鏈表中。當(dāng)擊鍵內(nèi)容為回車鍵時(shí),則表明當(dāng)前在臨時(shí)文件中所保存的內(nèi)容為一條命令,因此可以將該條命令作為一個(gè)元素加入命令行輸入鏈表中。
在步驟205中,將當(dāng)前元素結(jié)點(diǎn)的時(shí)間屬性追加存儲(chǔ)至臨時(shí)時(shí)間鏈表。此時(shí),由于遇到了回車鍵,則表明此刻對應(yīng)著某條命令的輸入結(jié)束,因此則可以將當(dāng)前元素結(jié)點(diǎn)的時(shí)間屬性作為步驟204中所述命令的時(shí)間。
在步驟206中,根據(jù)臨時(shí)時(shí)間鏈表得到本次命令輸入的時(shí)間間隔,并記錄至命令行時(shí)間間隔鏈表中,執(zhí)行步驟213。
當(dāng)本次記錄的時(shí)間為臨時(shí)時(shí)間鏈表中第一次記錄的時(shí)間,即本次命令輸入為測試過程中的第一次輸入命令,此時(shí)將本次命令的輸入時(shí)間間隔為0;當(dāng)本次記錄的時(shí)間不為臨時(shí)時(shí)間鏈表中的第一次記錄,則獲得臨時(shí)時(shí)間鏈表中最后兩次記錄的時(shí)間,得到這兩個(gè)時(shí)間的差值,該差值即為對應(yīng)于本次命令行的時(shí)間間隔。在臨時(shí)時(shí)間鏈表中記錄的時(shí)間均是輸入命令的時(shí)間,因此最后兩次記錄時(shí)間的差值就是本次命令與上次命令的輸入時(shí)間間隔。
在步驟207中,將當(dāng)前文本結(jié)點(diǎn)內(nèi)容追加存儲(chǔ)至臨時(shí)文本中,執(zhí)行步驟213。
在步驟208中,判斷當(dāng)前元素結(jié)點(diǎn)的標(biāo)記是否為E,如果是,執(zhí)行步驟209;否則,執(zhí)行步驟211。
在步驟209中,判斷臨時(shí)文本中的內(nèi)容是否為空,如果是,則執(zhí)行步驟210;否則,執(zhí)行步驟213。
在步驟210中,遍歷當(dāng)前元素結(jié)點(diǎn)對應(yīng)的文本結(jié)點(diǎn),將文件結(jié)點(diǎn)中記錄的回顯內(nèi)容作為一個(gè)元素,記錄至回顯內(nèi)容輸出鏈表中,執(zhí)行步驟213。另外,當(dāng)由于回顯內(nèi)容過多,而需要記錄在多個(gè)連續(xù)標(biāo)記為E的元素結(jié)點(diǎn)對應(yīng)的文本結(jié)點(diǎn)時(shí),則將則多個(gè)連接的標(biāo)記為E的元素結(jié)點(diǎn)對應(yīng)的回顯內(nèi)容作為一個(gè)元素,記錄至回顯內(nèi)容輸出鏈表中。
步驟210是在臨時(shí)文本中的內(nèi)容為空的情況下執(zhí)行的。當(dāng)臨時(shí)文本中的內(nèi)容為空時(shí),說明一條測試命令剛輸入,則此時(shí)標(biāo)記為E的元素結(jié)點(diǎn)對應(yīng)的文本結(jié)點(diǎn)記錄著該測試命令的回顯內(nèi)容。
在步驟211中,判斷當(dāng)前元素結(jié)點(diǎn)的標(biāo)記是否為term,如果是,則執(zhí)行步驟212;否則,執(zhí)行步驟213。
在步驟212中,遍歷當(dāng)前元素結(jié)點(diǎn)對應(yīng)的文本結(jié)點(diǎn),將該文本結(jié)點(diǎn)的內(nèi)容記錄至控制臺(tái)窗口名稱鏈表。
在步驟213中,結(jié)束當(dāng)前結(jié)點(diǎn)的處理流程。
通過對每個(gè)結(jié)點(diǎn)執(zhí)行如上的流程,就可以根據(jù)測試記錄文件命令行輸入鏈表、回顯內(nèi)容輸出鏈表、控制臺(tái)窗口名稱鏈表和命令行時(shí)間間隔鏈表。
如上所述的方法也可以采用軟件實(shí)現(xiàn),該軟件可以存儲(chǔ)在計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,例如光盤、軟盤、閃存、或者計(jì)算機(jī)的硬盤。
圖3為本發(fā)明較佳實(shí)施例裝置的結(jié)構(gòu)圖。該裝置包括記錄單元31、選擇單元32和測試腳本生成單元33。其中,記錄單元31,用于根據(jù)手工測試過程,生成測試記錄文件。選擇單元32,用于根據(jù)腳本參數(shù)列表,確定腳本參數(shù)。測試腳本生成單元33,用于根據(jù)記錄單元31生成的測試記錄文件、以及選擇單元32確定的腳本參數(shù),生成測試腳本。
另外,本發(fā)明可以采用利用命令行輸入鏈表、回顯內(nèi)容輸出鏈表、控制臺(tái)窗口名稱鏈表和命令行時(shí)間間隔鏈表生成測試腳本的方法,因此該裝置進(jìn)一步包括鏈表生成單元34。這里,鏈表生成單元34,位于記錄單元31與選擇單元32之間,用于根據(jù)記錄單元31生成的測試記錄文件,生成并將命令行輸入鏈表和控制臺(tái)窗口名稱鏈表發(fā)送至測試腳本生成單元33;相應(yīng)的,測試腳本生成單元33,根據(jù)命令行輸入鏈表和控制臺(tái)窗口名稱鏈表,以及選擇單元32確定的腳本參數(shù)生成測試腳本。另外,鏈表生成單元34進(jìn)一步用于生成回顯內(nèi)容輸出鏈表和/或命令行時(shí)間間隔鏈表,并將其發(fā)送至測試腳本生成單元33;相應(yīng)的,測試腳本生成單元33,在生成測試腳本時(shí)進(jìn)一步根據(jù)回顯內(nèi)容輸出鏈表和/或命令行時(shí)間間隔鏈表生成測試腳本。
上述實(shí)現(xiàn)本發(fā)明實(shí)施例方法的軟件與圖3所示的裝置具有相同的技術(shù)效果。
綜上所述,在本發(fā)明實(shí)施例的方法以及裝置中,通過設(shè)置優(yōu)化測試腳本的腳本參數(shù)列表,使腳本生成方能夠根據(jù)腳本參數(shù)列表,選擇腳本參數(shù);并根據(jù)選擇的腳本參數(shù)生成測試腳本。因此用戶或測試腳本的生成方,則可以根據(jù)自身的情況在腳本參數(shù)列表中選擇一個(gè)或多個(gè)腳本參數(shù),并根據(jù)選擇的腳本參數(shù)及測試記錄文件生成優(yōu)化的測試腳本。本發(fā)明實(shí)施例所提供的方法以及裝置,能夠?qū)崿F(xiàn)根據(jù)測試腳本生成方的需要,生成優(yōu)化的測試腳本,能夠?qū)崿F(xiàn)刪除錯(cuò)誤、歸并重復(fù)、歸并循環(huán)等功能,提高了測試腳本的測試性能,節(jié)約了測試系統(tǒng)的資源,同時(shí)也就有很強(qiáng)的適應(yīng)性。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種生成測試腳本的方法,其特征在于,設(shè)置腳本參數(shù)列表;該方法包括以下步驟A、根據(jù)手工測試過程,生成測試記錄文件;根據(jù)腳本參數(shù)列表,選擇腳本參數(shù);B、根據(jù)選擇的腳本參數(shù)及測試記錄文件,生成測試腳本。
2.根據(jù)權(quán)利要求
1所述的方法,其特征在于,在步驟B之前,該方法進(jìn)一步包括X、根據(jù)測試記錄文件生成命令行輸入鏈表和控制臺(tái)窗口名稱鏈表;相應(yīng)的,步驟B中,所述生成測試腳本包括根據(jù)命令行輸入鏈表、控制臺(tái)窗口名稱鏈表及選擇的腳本參數(shù),生成測試腳本。
3.根據(jù)權(quán)利要求
2所述的方法,其特征在于,步驟A中,所述生成測試記錄文件為根據(jù)手工測試的操作過程,按照時(shí)間順序記錄所有擊鍵內(nèi)容及窗口信息。
4.根據(jù)權(quán)利要求
3所述的方法,其特征在于,步驟X中,所述生成命令行輸入鏈表的步驟包括遍歷測試記錄文件,將測試記錄文件中第一個(gè)回車鍵之前所有的擊鍵內(nèi)容作為一條命令,加入命令行輸入鏈表;將之后每兩個(gè)回車鍵之間所有的擊鍵內(nèi)容作為一條命令加入命令行輸入鏈表;相應(yīng)的,所述生成控制臺(tái)窗口名稱鏈表的步驟包括根據(jù)記錄的窗口信息,針對每條命令將該命令所在的控制臺(tái)窗口名稱記錄至控制臺(tái)窗口名稱鏈表。
5.根據(jù)權(quán)利要求
2、3或4所述的方法,其特征在于,所述選擇的腳本參數(shù)為歸并重復(fù)命令;步驟B中,所述生成測試腳本為在根據(jù)命令行輸入鏈表和控制臺(tái)窗口名稱鏈表生成測試腳本的過程中,根據(jù)命令行輸入鏈表識(shí)別并歸并連續(xù)的重復(fù)命令。
6.根據(jù)權(quán)利要求
2、3或4所述的方法,其特征在于,所述選擇的腳本參數(shù)為歸并循環(huán)操作;步驟B中,所述生成測試腳本為在根據(jù)命令行輸入鏈表和控制臺(tái)窗口名稱鏈表生成測試腳本的過程中,識(shí)別命令行輸入鏈表中的循環(huán)操作并歸并識(shí)別出的循環(huán)操作。
7.根據(jù)權(quán)利要求
2、3或4所述的方法,其特征在于,進(jìn)一步包括設(shè)置刪除命令集合;所述腳本參數(shù)為刪除命令;步驟B中,所述生成測試腳本為在根據(jù)命令行輸入鏈表和控制臺(tái)窗口名稱鏈表生成測試腳本的過程中,根據(jù)刪除命令集合以及命令行輸入鏈表,刪除相應(yīng)命令。
8.根據(jù)權(quán)利要求
3所述的方法,其特征在于,步驟A中,根據(jù)手工測試的操作過程,進(jìn)一步記錄與所有擊鍵內(nèi)容對應(yīng)的回顯內(nèi)容;步驟X中,進(jìn)一步根據(jù)測試記錄文件生成回顯內(nèi)容輸出鏈表;當(dāng)選擇的腳本參數(shù)與回顯內(nèi)容相關(guān)時(shí),所述生成測試腳本包括根據(jù)命令行輸入鏈表、回顯內(nèi)容輸出鏈表、控制臺(tái)窗口名稱鏈表及選擇的腳本參數(shù),生成測試腳本。
9.根據(jù)權(quán)利要求
8所述的方法,其特征在于,所述生成回顯內(nèi)容輸出鏈表包括將針對每條命令的回顯內(nèi)容,分別加入回顯內(nèi)容輸出鏈表。
10.根據(jù)權(quán)利要求
8或9所述的方法,其特征在于,所述選擇的腳本參數(shù)為轉(zhuǎn)化檢查操作;該方法進(jìn)一步包括設(shè)置需要轉(zhuǎn)化的命令;步驟B中,所述生成測試腳本為在根據(jù)命令行輸入鏈表和控制臺(tái)窗口名稱鏈表生成測試腳本的過程中,根據(jù)命令輸入鏈表查找到需要轉(zhuǎn)化的命令,將所述命令轉(zhuǎn)化為檢查操作。
11.根據(jù)權(quán)利要求
10所述的方法,其特征在于,該方法進(jìn)一步包括根據(jù)回顯內(nèi)容輸出鏈表,查找到所述需要轉(zhuǎn)化的命令對應(yīng)的回顯內(nèi)容,將所述查找到的回顯內(nèi)容作為所述轉(zhuǎn)化檢查操作的參數(shù)。
12.根據(jù)權(quán)利要求
8或9所述的方法,其特征在于,所述腳本參數(shù)為過濾錯(cuò)誤命令;步驟B中,所述生成測試腳本為在根據(jù)命令行輸入鏈表和控制臺(tái)窗口名稱鏈表生成測試腳本的過程中,根據(jù)回顯內(nèi)容輸出鏈表中記錄的錯(cuò)誤指示,忽略所述錯(cuò)誤指示對應(yīng)的命令行。
13.根據(jù)權(quán)利要求
3所述的方法,其特征在于,步驟A中,根據(jù)手工測試的操作過程,進(jìn)一步記錄與所有擊鍵內(nèi)容對應(yīng)的擊鍵時(shí)間;步驟X中,進(jìn)一步根據(jù)測試記錄文件生成命令行時(shí)間間隔鏈表;當(dāng)選擇的腳本參數(shù)與擊鍵時(shí)間相關(guān)時(shí),所述生成測試腳本包括根據(jù)命令行輸入鏈表、命令行時(shí)間間隔鏈表和控制臺(tái)窗口名稱鏈表及選擇的腳本參數(shù),生成測試腳本。
14.根據(jù)權(quán)利要求
13所述的方法,其特征在于,所述生成命令行時(shí)間間隔鏈表包括針對每條命令行,得到該命令行與上條命令行之間的時(shí)間間隔,并記錄至命令行時(shí)間間隔鏈表。
15.根據(jù)權(quán)利要求
13或14所述的方法,其特征在于,所述腳本參數(shù)為刪除時(shí)間間隔;步驟B中,所述生成測試腳本為在根據(jù)命令行輸入鏈表和控制臺(tái)窗口名稱鏈表生成測試腳本的過程中,根據(jù)命令行時(shí)間間隔鏈表刪除兩條命令之間的延時(shí)。
16.一種生成測試腳本的裝置,其特征在于,該裝置包括記錄單元,用于根據(jù)手工測試過程,生成測試記錄文件;選擇單元,用于根據(jù)腳本參數(shù)列表,確定腳本參數(shù);測試腳本生成單元,用于根據(jù)記錄單元生成的測試記錄文件、以及選擇單元確定的腳本參數(shù),生成測試腳本。
17.根據(jù)權(quán)利要求
16所述的裝置,其特征在于,該裝置進(jìn)一步包括鏈表生成單元;所述鏈表生成單元,位于記錄單元與選擇單元之間,用于根據(jù)記錄單元生成的測試記錄文件,生成并將命令行輸入鏈表和控制臺(tái)窗口名稱鏈表發(fā)送至測試腳本生成單元;相應(yīng)的,所述測試腳本生成單元,根據(jù)命令行輸入鏈表和控制臺(tái)窗口名稱鏈表,以及選擇單元確定的腳本參數(shù)生成測試腳本。
18.根據(jù)權(quán)利要求
17所述的裝置,其特征在于,所述鏈表生成單元,進(jìn)一步用于生成回顯內(nèi)容輸出鏈表和/或命令行時(shí)間間隔鏈表,并將其發(fā)送至測試腳本生成單元;相應(yīng)的,所述測試腳本生成單元,在生成測試腳本時(shí)進(jìn)一步根據(jù)回顯內(nèi)容輸出鏈表和/或命令行時(shí)間間隔鏈表生成測試腳本。
專利摘要
本發(fā)明公開了一種生成測試腳本的方法,設(shè)置腳本參數(shù)列表;該方法包括以下步驟A、根據(jù)手工測試過程,生成測試記錄文件;根據(jù)腳本參數(shù)列表,選擇腳本參數(shù);B、根據(jù)選擇的腳本參數(shù)及測試記錄文件,生成測試腳本。另外,本發(fā)明還公開了一種生成測試腳本的裝置。通過應(yīng)用本發(fā)明提供的方法及裝置,能夠?qū)崿F(xiàn)根據(jù)測試腳本生成方的需要,生成優(yōu)化的測試腳本,能夠?qū)崿F(xiàn)刪除錯(cuò)誤、歸并重復(fù)、歸并循環(huán)等功能,提高了測試腳本的測試性能,節(jié)約了測試系統(tǒng)的資源,同時(shí)也就有很強(qiáng)的適應(yīng)性。
文檔編號(hào)G06F11/36GK1996239SQ200610167185
公開日2007年7月11日 申請日期2006年12月26日
發(fā)明者許永利, 白琳 申請人:華為技術(shù)有限公司導(dǎo)出引文BiBTeX, EndNote, RefMan
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
洪江市| 天峨县| 泊头市| 沈阳市| 苏尼特左旗| 疏附县| 庆城县| 清水河县| 姚安县| 盐池县| 峨山| 吉木萨尔县| 江陵县| 高淳县| 武强县| 三台县| 广德县| 措美县| 郯城县| 舟曲县| 吉安县| 栾城县| 灵璧县| 上饶县| 开化县| 若尔盖县| 奉新县| 彭泽县| 永济市| 阳城县| 抚远县| 徐汇区| 萨嘎县| 寿光市| 确山县| 会同县| 交城县| 迁西县| 大渡口区| 榆林市| 泽普县|