本發(fā)明屬于計算機領(lǐng)域,尤其涉及一種dut基礎測試的自動化測試方法和系統(tǒng)。
背景技術(shù):
dut指測試中設備,被測設備,通常,dtu包含各種不同的功能,需要通過外圍的測試引薦來進行檢驗。目前,對于dut的每個項目的疾病功能測試為手動測試,需要測試人員對每個項目一遍又一遍重復測試這些基本功能,占用大量測試時間,影響測試人員對項目去做更深入的測試,并且還存在測試成本高和無法對并行的dut進行測試等缺點。
為了解決上述技術(shù)問題,人們進行了長期的探索,中國專利公開了一種用于全速、并行dut測試的解決方案[申請?zhí)枺篶n201180036990.9],該系統(tǒng)包括:可配置集成電路ic,其被編程為提供:用于自動測試設備的測試圖形;以及通往至少一個被測器件dut的接口;以及通往所述至少一個dut的連接,其中所述連接被直接耦合在所述可配置ic與所述至少一個dut之間。
本方案解決了無法對并行dut進行測試的問題。
再如,一種測試方法和系統(tǒng)[申請?zhí)枺篶n200910077512.7],該方法包括:被測設備dut獲取來自自動測試設備ate的測試程序,根據(jù)所述測試程序進行初始化;所述dut接收測試信號,根據(jù)所述測試信號進行測試,并輸出測試結(jié)果;所述ate讀取所述測試結(jié)果,并根據(jù)所述測試結(jié)果確定所述dut是否符合要求,所述ate將所述測試程序以施加模式forcepattern發(fā)送到所述dut的端口上;當所述dut上電后,讀取所述端口上的測試程序,本方案能夠降低測試成本和故障覆蓋率。
上述方案雖然在一定程度上解決了現(xiàn)有技術(shù)的部分問題,但是對基本功能還沒有完全實現(xiàn)測試的自動化,還是需要測試人員投入較多的時間,仍然存在測試效率低,測試難度高等問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是針對上述問題,提供一種用于提高測試效率的dut基礎測試的自動化測試方法;
本發(fā)明的另一目的是針對上述問題,提供一種能夠提高測試效率的dut基礎測試的自動化測試系統(tǒng)。
為達到上述目的,本發(fā)明采用了下列技術(shù)方案:
一種dut基礎測試的自動化測試方法,包括如下步驟:
s1:當啟動狀態(tài)下的系統(tǒng)連接到dut后,自動連接版本管理服務器,并根據(jù)dut項目名進入dut的版本路徑以獲取dut的最新版本,并在獲取到最新版本后下載該最新版本至本地路徑;
s2:打開dutweb頁面,并進入升級頁面將在步驟s1中下載到本地路徑的dut的最新版本導入以對dut進行升級;
s3:在dut上運行測試用例,并在運行完成后將測試結(jié)果發(fā)送到相應終端;并且,
若測試通過,則結(jié)束運行;
若測試未通過,則繼續(xù)執(zhí)行步驟s4;
s4:在一段預設時間內(nèi)保持等待狀態(tài)以等待bug修復,并在等待結(jié)束后重復步驟s1和s2;
s5:對前一次測試中的失敗項進行測試以驗證bug的修復情況,并且,
若測試通過,則結(jié)束運行;
若測試未通過,則繼續(xù)執(zhí)行步驟s4。
通過上述技術(shù)方案,系統(tǒng)只需要在對第一個版本的dut所有的基本功能測試一遍,在后續(xù)版本中,只需要對第一版本測試出來的bug進行驗證的回歸測試即可,實現(xiàn)將項目的基本功能測試及bug的驗證一體化。
在上述的dut基礎測試的自動化測試方法中,在步驟s1中,所述的dut項目名由測試人員輸入;
在步驟s3中,所述的測試用例由測試人員勾選或輸入。
在上述的dut基礎測試的自動化測試方法中,在步驟s1中,所屬的版本管理服務器為ftp版本管理服務器,且所述的系統(tǒng)通過調(diào)用ftp.connect命令連接至ftp版本管理服務器。
在上述的dut基礎測試的自動化測試方法中,在步驟s1中,所述的系統(tǒng)通過調(diào)用ftp.cwd命令以根據(jù)dut項目名進入dut的版本路徑。
在上述的dut基礎測試的自動化測試方法中,在步驟s1中,所述的系統(tǒng)通過調(diào)用ftp.nlst獲取dut的最新版本。
在上述的dut基礎測試的自動化測試方法中,在步驟s1中,所述的系統(tǒng)通過調(diào)用ftp.retrbinary命令下載dut的最新版本至本地路徑。
在上述的dut基礎測試的自動化測試方法中,在步驟s2中,所述的系統(tǒng)通過調(diào)用openbrowser和clickelement命令打開dutweb頁面。
在上述的dut基礎測試的自動化測試方法中,在步驟s2中,所述的系統(tǒng)通過調(diào)用choosefile命令導入本地路徑最新版本對dut進行升級。
在上述的dut基礎測試的自動化測試方法中,在步驟s3中,所述的系統(tǒng)通過調(diào)用pybot-t命令在dut上運行測試用例,并通過調(diào)用smtp.connect和smtp.sendmail命令將測試結(jié)果發(fā)送給相應的終端。
一種基于dut基礎測試的自動化測試方法的dut基礎測試的自動化測試系統(tǒng)。
本發(fā)明從url中高效提取用戶客戶端id的方法和系統(tǒng)相較于現(xiàn)有技術(shù)具有以下優(yōu)點:
1、簡化測試難度,提高測試效率;
2、減輕測試人員工作難度,縮短測試周期,降低產(chǎn)品成本。
附圖說明
圖1是本發(fā)明實施例一的測試方法流程圖。
具體實施方式
本發(fā)明適用于dut的基礎測試,能夠克服現(xiàn)有技術(shù)中對產(chǎn)品測試過程繁瑣,需要手動對每個項目的基本功能進行測試帶來的測試難度高、測試效率低、測試周期長,以及產(chǎn)品成本高等各種問題,提出了一種具有能夠簡化測試難度,提高測試效率等優(yōu)點的dut基礎測試的自動化測試方法和系統(tǒng)。
以下是本發(fā)明的優(yōu)選實施例并結(jié)合附圖,對本發(fā)明的技術(shù)方案作進一步的描述,但本發(fā)明并不限于這些實施例。
實施例一
如圖1所示,本實施例的dut基礎測試的自動化測試方法,包括如下步驟:
測試人員將dut連接在用于測試的系統(tǒng)上;
在將dut連接在測試系統(tǒng)上后輸入dut項目名,并勾選要測試的自動化測試用例并啟動系統(tǒng);
具體地,測試系統(tǒng)上具有多個供測試人員選擇的自動化測試用例選項,所以測試人員只需在多個自動化測試用例選項中勾選需要測試的選項即可,可只勾選一個選項,也可以勾選多個選項,具體看測試需要。
當然,測試系統(tǒng)上還可以設置有輸入框,測試人員也可以在輸入框內(nèi)輸入要測試的自動化測試用例的關(guān)鍵字,以將測試人員輸入的測試用例相應的選項在諸多選項中突出顯示或優(yōu)先顯示以方便勾選;當然,測試人員也可在輸入框中直接輸入要測試的自動化測試用例的全名然后直接添加到測試項即可。
這種通過輸入自動化測試用例關(guān)鍵字或全名的方法適用于具有多個自動化測試用例選項的情況,節(jié)省在眾多自動化測試用例選項查找目標自動化測試用例選項的時間,直接手動輸入查找或直接手動輸入以提高測試效率。
當處于啟動狀態(tài)下的系統(tǒng)檢測到有dut連接后執(zhí)行以下步驟:
s1:系統(tǒng)自動連接版本管理服務器,
并根據(jù)dut項目名進入dut的版本路徑以獲取dut的最新版本,并且,
在獲取到最新版本后下載該最新版本至本地路徑;
具體地,
版本管理服務器為ftp版本管理服務器,系統(tǒng)通過調(diào)用ftp.connect命令連接至ftp版本管理服務器;
進一步地,系統(tǒng)通過調(diào)用ftp.cwd命令以根據(jù)dut項目名進入dut的版本路徑;
進一步地,系統(tǒng)通過調(diào)用ftp.nlst命令獲取dut的最新版本;
更進一步地,系統(tǒng)通過調(diào)用ftp.retrbinary命令下載最新版本至本地路徑;
s2:打開dutweb頁面,并進入升級頁面導入在步驟s1中保存至本地路徑的最新版本進行升級;
具體地,
系統(tǒng)通過調(diào)用openbrowser和clickelement命令打開dutweb頁面;
進一步地,系統(tǒng)通過調(diào)用choosefile命令導入本地路徑最新版本對dut進行升級;
s3:在dut上運行測試人員勾選的測試用例,運行完成檢測測試結(jié)果;
并將測試結(jié)果發(fā)送到相應的終端,該相應的終端可為該dut項目對應的負責人和研發(fā)部門等,并且,
若測試通過,即測試結(jié)果為pass,則結(jié)束運行;
若測試未通過,即測試結(jié)果為fall,則繼續(xù)執(zhí)行步驟s4;
具體地,
系統(tǒng)通過調(diào)用pybot-t命令在dut上運行測試用例;
系統(tǒng)通過調(diào)用smtp.connect和smtp.sendmail命令將測試結(jié)果發(fā)送給相應的終端;
s4:在一段預設時間內(nèi)保持等待狀態(tài)以等待bug修復,該預設時間為修復相應的bug所需的常規(guī)時間,并在等待結(jié)束后繼續(xù)執(zhí)行以下步驟:
系統(tǒng)調(diào)用ftp.connect命令連接ftp版本管理服務器;并調(diào)用ftp.cwd命令根據(jù)dut項目名進入dut的版本路徑;
然后,調(diào)用ftp.nlst獲取最新版本,也就是將前一次測試失敗的項進行bug修復之后的版本,并調(diào)用ftp.retrbinary命令下載最新版本至本地路徑;
繼續(xù)地,系統(tǒng)調(diào)用openbrowser和clickelement命令打開dutweb頁面并進入升級頁面調(diào)用choosefile命令導入本地路徑最新版本進行再一次的升級;
每一次升級后的dut均為最新且已將前一次測試過程中的失敗項進行bug修復的的版本。
s5:對前一次測試中的失敗項進行測試以驗證bug的修復情況,并且,
若測試通過,則結(jié)束運行;
若測試未通過,則繼續(xù)執(zhí)行步驟s4。
具體地說,在對第二版的測試中,系統(tǒng)只對在第一版測試中失敗項進行測試以驗證bug的修復情況,具體表現(xiàn)為:
系統(tǒng)調(diào)用pybot–r命令對前一次測試中的失敗項進行測試驗證bug的修復情況,同樣地,測試完成檢測測試結(jié)果后,調(diào)用smtp.connect和smtp.sendmail命令將測試結(jié)果發(fā)送給相應的終端,
或者,系統(tǒng)也可以采用其他形式將測試結(jié)果發(fā)送給相應的終端。
此次,也就是對第二版進行測試的過程中,若對所有失敗項進行測試的結(jié)果均為測試通過,即測試結(jié)果為pass,則結(jié)束運行;
但是,若測試的結(jié)果為仍然存在項目未通過,即測試結(jié)果為fall,則重復步驟s4,即在一段預設時間內(nèi)保持等待狀態(tài)以等待bug修復后,重復步驟s1和s2,并在步驟s2結(jié)束后直接進入步驟s5;
此處與對第一版進行測試的步驟不完全一樣:
第一版在步驟s2之后按照正常順序執(zhí)行步驟s3,即通過步驟s3對第一版的所有功能都進行測試以篩選測試合格的項目。
但是在對第二版、第三版以及后面的各版進行測試的時候,在執(zhí)行步驟s2之后,直接執(zhí)行步驟s5。
下面采用第二版進行具體說明:
由于此時的步驟s1和步驟s2包含于步驟s4中,步驟s4執(zhí)行之后即執(zhí)行步驟s5,所以,步驟s4中的步驟s2執(zhí)行之后直接執(zhí)行步驟s5,此時在步驟s5處進行測試的dut為bug修復后的dut,由于,第二版的dut與第一版的dut除了與在第一次測試過程中失敗的項不一樣外(失敗項已經(jīng)修復)其余項目均一致,所以步驟s5不對第二版的dut全部功能進行測試,只需要對前一個版本測試出來的bug進行驗證測試即可;
進一步說明,在對第二版的測試結(jié)果為測試通過則結(jié)束運行,但是,若在對第二版的測試結(jié)果中仍然存在項目未通過則繼續(xù)對第三版進行測試;
同樣地,在對在對第三版的測試結(jié)果為測試通過則結(jié)束運行,但是,若在對第三版的測試結(jié)果中仍然存在項目未通過則繼續(xù)對第四版進行測試如此周而復始,直到基本功能完善為止。
進一步地,本實施例所說的dut為被測試設備,dut的基本功能包括:
登錄測試、快速向?qū)?pppoe、dhcp、staticip、無線設置)、上網(wǎng)設置(pppoe基本設置和特殊撥號、dhcp、staticip)、無線設置、系統(tǒng)管理(升級、恢復出廠設置、重啟、修改管理員密碼、退出)等這些用戶場景必不可少的功能,確保配置正常、功能完好,可以正常訪問網(wǎng)絡。
本實施例的方法主要用于dut基礎測試,在測試過程中不斷升級修復版本并對前一次測試出來的bug進行回歸測試驗證,簡化測試難度;提高測試效率;減輕測試人員工作難度;縮短測試周期;降低產(chǎn)品成本。
實施例二
本實施例與實施例類似,不同之處在于,本實施例公開的是一種基于dut基礎測試的自動化測試方法的dut基礎測試的自動化測試系統(tǒng)。
具體地,dut基礎測試的自動化測試系統(tǒng)包括與測試人員進行交互的交互模塊和自動測試模塊,測試人員通過交互模塊輸入dut項目名、需要測試的測試用例,以及對系統(tǒng)進行設置;
進一步地,自動測試模塊又包括第一版測試模塊和修復版測試模塊,第一版測試模塊對dut的所有功能都測試一遍,修復版測試模塊對前一次測試出來的bug進行再一次測試。
本實施例的系統(tǒng)能夠幫助測試人員提高測試效率,能夠?qū)椖窟M行自動測試,減輕測試人員的工作難度,提高測試效率,同時縮短測試周期,降低產(chǎn)品成本。
本發(fā)明的系統(tǒng)只需要在對第一個版本測試中對dut所有的基本功能測試一遍,在后續(xù)版本中,只需要對前一版本測試出來的bug進行驗證的回歸測試即可,不需要手動進行測試,更不需要手動對每個項目一遍又一遍地重復進行測試,實現(xiàn)將項目的基本功能測試及bug的驗證一體化的同時,解放測試人員的測試時間,有助于測試人員將節(jié)省下來的時間對項目做更深入的測試,提高基本功能的測試效率的同時提高產(chǎn)品質(zhì)量。
本文中所描述的具體實施例僅僅是對本發(fā)明精神作舉例說明。本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員可以對所描述的具體實施例做各種各樣的修改或補充或采用類似的方式替代,但在不背離本發(fā)明的原理和實質(zhì)的前提下,并不會偏離本發(fā)明的精神或者超越所附權(quán)利要求書所定義的范圍,這些變更和修改均落入本發(fā)明的保護范圍。
盡管本文較多地使用了終端、版本管理服務器、dut、升級頁面、測試例、dut項目名、ftp.cwd命令、版本路徑、ftp.nlst命令、ftp.retrbinary命令、openbrowser命令、clickelement命令、choosefile命令、pybot–t、smtp.connect、smtp.sendmail等術(shù)語,但并不排除使用其它術(shù)語的可能性。使用這些術(shù)語僅僅是為了更方便地描述和解釋本發(fā)明的本質(zhì);把它們解釋成任何一種附加的限制都是與本發(fā)明精神相違背的。