組件測試方法及裝置制造方法
【專利摘要】本發(fā)明提供一種組件測試方法及裝置。其中,組件測試方法包括:根據(jù)被測組件的測試用例編號,從預(yù)設(shè)的測試用例庫中獲取與測試用例編號對應(yīng)的測試用例,測試用例包含:測試用例TCL腳本、測試輸入數(shù)據(jù)、測試用例預(yù)期輸出以及測試用例執(zhí)行配置文件;將測試輸入數(shù)據(jù)輸入至測試用例TCL腳本,完成測試用例執(zhí)行配置文件的配置;根據(jù)配置后的測試用例執(zhí)行配置文件,判斷測試用例是否滿足預(yù)設(shè)的測試條件;若滿足,則將測試輸入數(shù)據(jù)發(fā)送至被測組件,以使被測組件根據(jù)測試輸入數(shù)據(jù)執(zhí)行邏輯處理并輸出處理結(jié)果;將處理結(jié)果與測試用例預(yù)期輸出進行比較,并根據(jù)比較結(jié)果生成相應(yīng)的測試日志。
【專利說明】組件測試方法及裝置【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種計算機技術(shù),尤其涉及一種組件測試方法及裝置。
【背景技術(shù)】
[0002]在計算機編程過程中,單元測試是針對程序模塊的最小單元進行正確性檢測的測試工作,其具有獨立的規(guī)格,故也稱之為組件測試。傳統(tǒng)應(yīng)用程序的組成部分是分立的文件、模塊或類,這些組成部分經(jīng)過編譯并鏈接之后才形成應(yīng)用程序。要想推出應(yīng)用程序的新版本,就需要將這些組成部分重新編譯,既費時又費力。有了組件的概念,就可以將改進后的新組建插入到應(yīng)用程序中,并替換掉原有的舊組件,從而賦予應(yīng)用程序新的活力。
[0003]目前,業(yè)界組件測試主流的解決方案,是基于嵌入式的自動化測試系統(tǒng)來實現(xiàn)。主要有以下幾種方法:
[0004]第一種,通過硬件工具實現(xiàn)。利用邏輯分析儀通過對某一段時間的總線上的指令進行捕獲,并以一定的頻率捕獲這些信號,通過對其進行分析對比,了解其運行的情況。
[0005]第二種,通過軟件實現(xiàn)。即通過插裝技術(shù)和預(yù)處理任務(wù),在被測組件中插入操作,來實現(xiàn)測試目的的方法,例如向源程序中添加一些語句,實現(xiàn)對程序語句的執(zhí)行、變量的變化等情況進行檢查。
[0006]上述第一種基于硬件實現(xiàn)的方案,系統(tǒng)只能通過抽樣的方法來進行測試,對有限的函數(shù)作出分析,無法靈活的滿足測試的需求。第二種基于軟件來實現(xiàn)的方案,針對源碼的開發(fā)涉及到底層的封裝語言,譬如C、C++等,對人員技能要求高,對被測代碼編譯操作繁瑣,測試效率低。
【發(fā)明內(nèi)容】
[0007]本發(fā)明提供一種組件測試方法及裝置,以提高測試效率,簡化測試過程。
[0008]本發(fā)明提供一種組件測試方法,包括:
[0009]根據(jù)被測組件的測試用例編號,從預(yù)設(shè)的測試用例庫中獲取與所述測試用例編號對應(yīng)的測試用例,所述測試用例包含:測試用例工具命令語言TCL腳本、測試輸入數(shù)據(jù)、測試用例預(yù)期輸出以及測試用例執(zhí)行配置文件;
[0010]將所述測試輸入數(shù)據(jù)輸入至所述測試用例TCL腳本,完成所述測試用例執(zhí)行配置文件的配置;
[0011] 根據(jù)配置后的所述測試用例執(zhí)行配置文件,判斷所述測試用例是否滿足預(yù)設(shè)的測試條件;
[0012]若滿足,則將所述測試輸入數(shù)據(jù)發(fā)送至被測組件,以使所述被測組件根據(jù)所述測試輸入數(shù)據(jù)執(zhí)行邏輯處理并輸出處理結(jié)果;
[0013]將所述處理結(jié)果與所述測試用例預(yù)期輸出進行比較,并根據(jù)比較結(jié)果生成相應(yīng)的測試日志。
[0014]本發(fā)明提供一種組件測試裝置,包括:[0015]獲取模塊,用于根據(jù)被測組件的測試用例編號,從預(yù)設(shè)的測試用例庫中獲取與所述測試用例編號對應(yīng)的測試用例,所述測試用例包含:測試用例工具命令語言TCL腳本、測試輸入數(shù)據(jù)、測試用例預(yù)期輸出以及測試用例執(zhí)行配置文件;
[0016]輸入模塊,用于將所述測試輸入數(shù)據(jù)輸入至所述測試用例TCL腳本,完成所述測試用例執(zhí)行配置文件的配置;
[0017]判斷模塊,用于根據(jù)配置后的所述測試用例執(zhí)行配置文件,判斷所述測試用例是否滿足預(yù)設(shè)的測試條件;
[0018]發(fā)送模塊,用于若所述判斷模塊判斷為滿足,則將所述測試輸入數(shù)據(jù)發(fā)送至被測組件,以使所述被測組件根據(jù)所述測試輸入數(shù)據(jù)執(zhí)行邏輯處理并輸出處理結(jié)果;
[0019]比較模塊,用于將所述處理結(jié)果與所述測試用例預(yù)期輸出進行比較,并根據(jù)比較結(jié)果生成相應(yīng)的測試日志。
[0020]由上述技術(shù)方案可知,本發(fā)明提供的組件測試方法及裝置,基于TCL腳本語言工具,實時向被測組件發(fā)送測試輸入數(shù)據(jù),動態(tài)地進行軟件測試,靈活的滿足測試的需求,不需要對被測組件進行代碼編譯等繁瑣的操作,簡化了測試過程,并較好的提升了測試執(zhí)行效率。
【專利附圖】
【附圖說明】
[0021]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0022]圖1為本發(fā)明組件測試方法實施例一的流程圖;
[0023]圖2為本發(fā)明組件測試方法實施例二的流程圖;
[0024]圖3為本發(fā)明組件測試裝置實施例的結(jié)構(gòu)示意圖;
[0025]圖4為本發(fā)明組件測試方法的邏輯架構(gòu)圖。
【具體實施方式】
[0026]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0027]圖1為本發(fā)明組件測試方法實施例一的流程圖。如圖1所示,本實施例提供的組件測試方法具體可以由組件測試裝置執(zhí)行,本實施例提供的方法具體可以包括:
[0028]步驟101、根據(jù)被測組件的測試用例編號,從預(yù)設(shè)的測試用例庫中獲取與所述測試用例編號對應(yīng)的測試用例,所述測試用例包含:測試用例工具命令語言(Tool CommandLanguage,簡稱:TCL)腳本、測試輸入數(shù)據(jù)、測試用例預(yù)期輸出以及測試用例執(zhí)行配置文件。
[0029]步驟102、將所述測試輸入數(shù)據(jù)輸入至所述測試用例TCL腳本,完成所述測試用例執(zhí)行配置文件的配置。
[0030]步驟103、根據(jù)配置后的所述測試用例執(zhí)行配置文件,判斷所述測試用例是否滿足預(yù)設(shè)的測試條件。
[0031]具體的,所述測試用例執(zhí)行配置文件中可以包括測試記錄信息;相應(yīng)的,本步驟中,組件測試裝置可以查詢所述測試用例執(zhí)行配置文件中是否存在所述測試記錄信息;若存在所述測試記錄信息,則根據(jù)預(yù)設(shè)的判斷規(guī)則,判斷所述測試用例是否滿足所述預(yù)設(shè)的測試條件。
[0032]可以理解的是,若組件測試裝置查詢出所述測試用例執(zhí)行配置文件中不存在所述測試記錄信息,則不執(zhí)行后續(xù)步驟。
[0033]需要說明的是,在實際應(yīng)用中,所述測試用例執(zhí)行配置文件中還可以包括邏輯接口信息和邏輯拓撲信息,則所述組件測試裝置在根據(jù)預(yù)設(shè)的判斷規(guī)則,判斷所述測試用例是否滿足所述預(yù)設(shè)的測試條件時,具體可以通過獲取所述被測組件的物理接口信息,判斷所述物理接口信息與所述邏輯接口信息是否一致;獲取所述被測組件的物理拓撲信息,判斷所述物理拓撲信息與所述邏輯拓撲信息是否一致;若所述物理接口信息與所述邏輯接口信息一致,且所述物理拓撲信息與所述邏輯拓撲信息一致,則所述測試用例滿足所述預(yù)設(shè)的測試條件,否則,所述測試用例不滿足所述預(yù)設(shè)的測試條件。
[0034]步驟104、若滿足,則將所述測試輸入數(shù)據(jù)發(fā)送至被測組件,以使所述被測組件根據(jù)所述測試輸入數(shù)據(jù)執(zhí)行邏輯處理并輸出處理結(jié)果。
[0035]步驟105、將所述處理結(jié)果與所述測試用例預(yù)期輸出進行比較,并根據(jù)比較結(jié)果生成相應(yīng)的測試日志。
[0036]本實施例的技術(shù)方案,通過組件測試裝置根據(jù)被測組件的測試用例編號,從預(yù)設(shè)的測試用例庫中獲取與所述測試用例編號對應(yīng)的測試用例,將所述測試輸入數(shù)據(jù)輸入至所述測試用例TCL腳本,完成所述測試用例執(zhí)行配置文件的配置,根據(jù)配置后的所述測試用例執(zhí)行配置文件,判斷所述測試用例是否滿足預(yù)設(shè)的測試條件,若滿足,則將所述測試輸入數(shù)據(jù)發(fā)送至被測組件,以使所述被測組件根據(jù)所述測試輸入數(shù)據(jù)執(zhí)行邏輯處理并輸出處理結(jié)果,將所述處理結(jié)果與所述測試用例預(yù)期輸出進行比較,并根據(jù)比較結(jié)果生成相應(yīng)的測試日志。本實施例基于TCL腳本語言工具,可以實時向被測組件發(fā)送測試輸入數(shù)據(jù),動態(tài)地進行軟件測試,靈活的滿足測試的需求,不需要對被測組件進行代碼編譯等繁瑣的操作,簡化了測試過程,并較好的提升了測試執(zhí)行效率。
[0037]圖2為本發(fā)明組件測試方法實施例二的流程圖。如圖2所示,本實施例提供的方法具體可以包括:
[0038]步驟201、運行測試驅(qū)動模塊中的主要程序。
[0039]其中,測試驅(qū)動模塊中的主要程序為Main, tcl。
[0040]步驟202、加載TCL自動化公共庫。
[0041]其中,TCL自動化公共庫即為TCL公共函數(shù)的集合,該TCL公共函數(shù)的集合包含:命令配置函數(shù)、結(jié)果判斷函數(shù)、測試框架設(shè)置及判斷函數(shù)等。
[0042]步驟203、從測試用例庫中讀取所有相關(guān)數(shù)據(jù)庫并初始化所讀取的所有相關(guān)數(shù)據(jù)庫。
[0043]其中,所有相關(guān)數(shù)據(jù)庫可以包括物理拓撲數(shù)據(jù)庫,即測試用例執(zhí)行配置文件庫、測試腳本信息數(shù)據(jù)庫、產(chǎn)品差異指標數(shù)據(jù)庫。
[0044]初始化所讀取的所有相關(guān)數(shù)據(jù)庫可以保持在進行組件測試的過程中,被測環(huán)境的干凈,先后執(zhí)行的測試用例不會被干擾,從而保證測試的準確性。
[0045]由于在組件測試過程中,針對不同的產(chǎn)品,即針對不同的被測組件,組件測試裝置需要準備的測試環(huán)境、配置以及應(yīng)用的全局變量都不同,因此,在實際應(yīng)用過程中,初始化所讀取的所有相關(guān)數(shù)據(jù)庫時,主要是針對被測組件的測試環(huán)境、被測試設(shè)備的測試配置以及在對被測組件進行測試時需要應(yīng)用的全局變量等進行初始化操作,以區(qū)分不同產(chǎn)品的測試環(huán)境、拓撲信息以及應(yīng)用的全局變量。
[0046]步驟204、連接被測組件(Device Unit Test,簡稱:DUT)。
[0047]具體的,TCL自動化公共庫完成所有相關(guān)數(shù)據(jù)庫的加載后,需要對被測組件進行連接并判斷連通性;通過調(diào)用系統(tǒng)內(nèi)部相應(yīng)的命令,如,通過創(chuàng)建套接字(create socket),并根據(jù)測試用例執(zhí)行配置文件中的配置參數(shù),即,被測組件以及輔測組件的拓撲信息、產(chǎn)品名稱和相關(guān)功能的開關(guān)等,來實現(xiàn)對被測組件的連接。
[0048]步驟205、初始化DUT。
[0049]具體地,在完成與被測組件的連接后,可以通過向被測組件發(fā)送初始化指示信息指示被測組件進行初始化,被測組件在接收到初始化指示信息后,可以根據(jù)預(yù)期的產(chǎn)品形態(tài),對全局變量配置、接口配置進行初始化設(shè)置。
[0050]步驟206、查詢測試用例執(zhí)行配置文件中是否存在測試記錄信息。
[0051]若查詢結(jié)果為是,則進入步驟207 ;否則,進入步驟208.[0052]其中,測試記錄信息具體可以為測試用例編號,亦即需要進行測試的測試用例。
[0053]步驟207、判斷是否滿足測試條件,若是,完成測試;若否,返回步驟206。
[0054]具體的,若判斷結(jié)果為是,則加載測試對象文件,即測試用例執(zhí)行配置文件;進行設(shè)備檢查,即,判斷物理接口信息與邏輯接口信息是否一致;進行變量初始化,即對全局變量,如產(chǎn)品的指標參數(shù)、差異性參數(shù)的應(yīng)用;進行拓撲檢查,即判斷物理拓撲信息與邏輯拓撲信息是否一致;進行配置初始化,即,由被測組件的測試用例執(zhí)行初始化配置;進行測試執(zhí)行,即,根據(jù)相應(yīng)的測試用例TCL腳本中的測試內(nèi)容,實現(xiàn)配置DUT、設(shè)置測試儀端口的幀格式、控制測試儀收發(fā)幀、檢測測試儀端口的幀收發(fā)情況、對結(jié)果進行判斷等功能,并輸出測試記錄信息,并生成相應(yīng)的測試日志;進行配置還原,即,將配置還原為初始配置,避免在多個測試執(zhí)行時,因配置未清空而導(dǎo)致的測試失敗。
[0055]具體的,本步驟中檢查的測試條件包含:用例的名稱、測試用例的編號、測試描述、測試top、產(chǎn)品形態(tài)、全局變量使用情況等;若有一項參數(shù)與預(yù)期不符,將視為不滿足,退出執(zhí)行。
[0056]步驟208、斷開DUT關(guān)聯(lián),還原初始化測試環(huán)境,結(jié)束。
[0057]下面結(jié)合圖4,以進行A功能的全局使能開關(guān)功能測試為例對本發(fā)明提供的組件測試方法的實現(xiàn)過程和原理作進一步的說明,以幫助理解本發(fā)明。
[0058]首先,為功能測試創(chuàng)建測試用例,例如:
[0059]創(chuàng)建的測試用例TCL 腳本為:tc_mode_a_enable.tcl ;
[0060]創(chuàng)建的測試用例編號為:TC_M0DE_A_ENABLE_001。
[0061]創(chuàng)建的測試輸入數(shù)據(jù)為:input_param=true/false。
[0062]創(chuàng)建的測試用例預(yù)期輸出為:output_param=true/false。
[0063]創(chuàng)建的測試用例執(zhí)行配置文件為:cfg_A.tcl[0064]測試驅(qū)動模塊根據(jù)被測組件的測試用例編號,從測試用例庫中獲取與測試用例編號對應(yīng)的測試用例,即,獲取到測試用例編號為TC_M0DE_A_ENABLE_001的測試用例中的測試輸入數(shù)據(jù),將從測試輸入數(shù)據(jù)輸入至測試用例TCL腳本tc_mode_a_enable.tcl,完成測試用例執(zhí)行配置文件cfg_A.tcl的配置和更新。
[0065]其中,cfg_A.tcl是物理拓撲配置文件,cfg_A.tcl中可以包括產(chǎn)品信息、接口定義、測試記錄信息(Testcase)等。在執(zhí)行本實施例提供的組件測試方法的過程中,需要對cfg_A.tcl進行配置;若之前已經(jīng)存在cfg_A.tcl,則可以根據(jù)實際的測試需求,更新此文件,進行新一輪的測試。該文件可以通過外部的簡單文件傳輸協(xié)議(Trivial FileTransfer Protocol,簡稱:TFTP),安全外殼協(xié)議(Secure Shell,簡稱:SSH),異步文件傳輸協(xié)議(xmodem)等方式進行用例管理,亦可以在系統(tǒng)內(nèi)部通過文本編譯器(vi)進行更新。
[0066]接著,通過tclsh執(zhí)行tclsh main, tcl,完成TCL自動化測試框架調(diào)用,包含:公共庫的調(diào)用、環(huán)境檢查、測試記錄信息檢查、讀取cfg文件等,繼而將測試輸入數(shù)據(jù)通過domain_cI ient消息的方式發(fā)送給進程通訊模塊。
[0067]其中,對環(huán)境和測試用例的檢查,由公共庫中的公共函數(shù)來完成。測試環(huán)境包含了物理拓撲信息和邏輯拓撲信息。
[0068]進程通訊模塊收到測試輸入數(shù)據(jù)后,與A功能模塊內(nèi)的socket庫進行通訊,實現(xiàn)TCL與A功能的數(shù)據(jù)通訊,所有的測試輸入數(shù)據(jù)送往被測組件的命令解析模塊進行解析。
[0069]命令解析模塊通過swing工具將測試輸入數(shù)據(jù)轉(zhuǎn)換為源代碼內(nèi)部的數(shù)據(jù)結(jié)構(gòu),并將轉(zhuǎn)換后的數(shù)據(jù)傳輸?shù)奖粶y組件的命令處理模塊進行邏輯處理,并將測試結(jié)果轉(zhuǎn)換成測試輸入數(shù)據(jù)的數(shù)據(jù)格式,并將測試結(jié)果輸出至結(jié)果判斷模塊,結(jié)果判斷模塊基于測試用例TCL腳本運行環(huán)境,將接收到的測試結(jié)果與測試用例庫中存儲的測試用例預(yù)期輸出進行比較,得出判斷結(jié)果。
[0070]若測試用例預(yù)期輸出為全局開關(guān)開啟(true),測試結(jié)果也是true,則結(jié)果判斷模塊的判斷結(jié)果為通過;若測試用例預(yù)期輸出為true,而測試結(jié)果為全局開關(guān)關(guān)閉(false),則結(jié)果判斷模塊的判斷結(jié)果為未通過。
[0071]結(jié)果判斷模塊得出判斷結(jié)果后,將A功能的測試結(jié)果輸出到測試用例TCL腳本tc_mode_a_enable.tcl中,TCL自動化框架將測試結(jié)果輸出到相應(yīng)的測試目錄下,并生成相應(yīng)的測試日志,完成A功能的測試。
[0072]本實施例的技術(shù)方案,可以提高測試效率,簡化測試過程。
[0073]圖3為本發(fā)明組件測試裝置實施例的結(jié)構(gòu)示意圖。參照圖3及圖4,本實施例提供的組件測試裝置10可以包括:獲取模塊11、輸入模塊12、判斷模塊13、發(fā)送模塊14以及比較模塊15。
[0074]其中,獲取模塊11用于根據(jù)被測組件的測試用例編號,從預(yù)設(shè)的測試用例庫中獲取與所述測試用例編號對應(yīng)的測試用例,所述測試用例包含:測試用例TCL腳本、測試輸入數(shù)據(jù)、測試用例預(yù)期輸出以及測試用例執(zhí)行配置文件;輸入模塊12用于將所述測試輸入數(shù)據(jù)輸入至所述測試用例TCL腳本,完成所述測試用例執(zhí)行配置文件的配置;判斷模塊13用于根據(jù)配置后的所述測試用例執(zhí)行配置文件,判斷所述測試用例是否滿足預(yù)設(shè)的測試條件;發(fā)送模塊14用于若所述判斷模塊13判斷為滿足,則將所述測試輸入數(shù)據(jù)發(fā)送至被測組件,以使所述被測組件根據(jù)所述測試輸入數(shù)據(jù)執(zhí)行邏輯處理并輸出處理結(jié)果;比較模塊15用于將所述處理結(jié)果與所述測試用例預(yù)期輸出進行比較,并根據(jù)比較結(jié)果生成相應(yīng)的測試日志。
[0075]具體的,所述測試用例執(zhí)行配置文件中可以包括測試記錄信息;相應(yīng)的,所述判斷模塊13具體可以用于查詢所述測試用例執(zhí)行配置文件中是否存在所述測試記錄信息;若存在所述測試記錄信息,則根據(jù)預(yù)設(shè)的判斷規(guī)則,判斷所述測試用例是否滿足所述預(yù)設(shè)的測試條件。
[0076]進一步,所述測試用例執(zhí)行配置文件中還可以包括邏輯接口信息和邏輯拓撲信息;相應(yīng)的,所述判斷模塊13具體可以用于獲取所述被測組件的物理接口信息,判斷所述物理接口信息與所述邏輯接口信息是否一致;獲取所述被測組件的物理拓撲信息,判斷所述物理拓撲信息與所述邏輯拓撲信息是否一致;若所述物理接口信息與所述邏輯接口信息一致,且所述物理拓撲信息與所述邏輯拓撲信息一致,則所述測試用例滿足所述預(yù)設(shè)的測試條件,否則,所述測試用例不滿足所述預(yù)設(shè)的測試條件。
[0077]可以理解的是,本實施例的獲取模塊11可以對應(yīng)于上述實施例中的測試驅(qū)動模塊,輸入模塊12可以對應(yīng)于上述實施例中的進程通訊模塊,判斷模塊13以及發(fā)送模塊14可以對應(yīng)于上述實施例中的命令解析模塊,比較模塊15可以對應(yīng)于上述實施例中的結(jié)果判斷模塊。即,通過本實施例的組件測試裝置實現(xiàn)組件測試時,也可以通過測試驅(qū)動模塊從預(yù)設(shè)的測試用例庫中獲取與測試用例編號對應(yīng)的測試用例,再由進程通訊模塊將測試輸入數(shù)據(jù)輸入至測試用例TCL腳本,完成測試用例執(zhí)行配置文件的配置,被測組件中的命令解析模塊根據(jù)配置后的測試用例執(zhí)行配置文件,判斷測試用例是否滿足預(yù)設(shè)測試條件,若滿足,則根據(jù)測試輸入數(shù)據(jù)執(zhí)行邏輯處理并輸出處理結(jié)果至結(jié)果判斷模塊,結(jié)果判斷模塊將接收到的處理結(jié)果與測試時用例預(yù)期輸出進行比較,根據(jù)比較結(jié)果生成相應(yīng)的測試日志,保存至測試用例庫中。
[0078]本實施例的組件測試裝置,可用于執(zhí)行上述方法實施例的技術(shù)方案,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0079]在本發(fā)明所提供的幾個實施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0080]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
[0081]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
[0082]上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(Read-Only Memory, ROM)、隨機存取存儲器(Random Access Memory, RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0083]本領(lǐng)域技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能模塊的劃分進行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的裝置的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
[0084]最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種組件測試方法,其特征在于,包括: 根據(jù)被測組件的測試用例編號,從預(yù)設(shè)的測試用例庫中獲取與所述測試用例編號對應(yīng)的測試用例,所述測試用例包含:測試用例工具命令語言TCL腳本、測試輸入數(shù)據(jù)、測試用例預(yù)期輸出以及測試用例執(zhí)行配置文件; 將所述測試輸入數(shù)據(jù)輸入至所述測試用例TCL腳本,完成所述測試用例執(zhí)行配置文件的配置; 根據(jù)配置后的所述測試用例執(zhí)行配置文件,判斷所述測試用例是否滿足預(yù)設(shè)的測試條件; 若滿足,則將所述測試輸入數(shù)據(jù)發(fā)送至被測組件,以使所述被測組件根據(jù)所述測試輸入數(shù)據(jù)執(zhí)行邏輯處理并輸出處理結(jié)果; 將所述處理結(jié)果與所述測試用例預(yù)期輸出進行比較,并根據(jù)比較結(jié)果生成相應(yīng)的測試日志。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述測試用例執(zhí)行配置文件中包括測試 記錄信息; 相應(yīng)的,所述根據(jù)配置后的所述測試用例執(zhí)行配置文件,判斷所述從測試用例是否滿足預(yù)設(shè)的測試條件,包括: 查詢所述測試用例執(zhí)行配置文件中是否存在所述測試記錄信息; 若存在所述測試記錄信息,則根據(jù)預(yù)設(shè)的判斷規(guī)則,判斷所述測試用例是否滿足所述預(yù)設(shè)的測試條件。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述測試用例執(zhí)行配置文件中還包括:邏輯接口信息和邏輯拓撲信息; 相應(yīng)的,所述根據(jù)預(yù)設(shè)的判斷規(guī)則,判斷所述測試用例是否滿足所述預(yù)設(shè)的測試條件,包括: 獲取所述被測組件的物理接口信息,判斷所述物理接口信息與所述邏輯接口信息是否一致; 獲取所述被測組件的物理拓撲信息,判斷所述物理拓撲信息與所述邏輯拓撲信息是否一致; 若所述物理接口信息與所述邏輯接口信息一致,且所述物理拓撲信息與所述邏輯拓撲信息一致,則所述測試用例滿足所述預(yù)設(shè)的測試條件,否則,所述測試用例不滿足所述預(yù)設(shè)的測試條件。
4.一種組件測試裝置,其特征在于,包括: 獲取模塊,用于根據(jù)被測組件的測試用例編號,從預(yù)設(shè)的測試用例庫中獲取與所述測試用例編號對應(yīng)的測試用例,所述測試用例包含:測試用例工具命令語言TCL腳本、測試輸入數(shù)據(jù)、測試用例預(yù)期輸出以及測試用例執(zhí)行配置文件; 輸入模塊,用于將所述測試輸入數(shù)據(jù)輸入至所述測試用例TCL腳本,完成所述測試用例執(zhí)行配置文件的配置; 判斷模塊,用于根據(jù)配置后的所述測試用例執(zhí)行配置文件,判斷所述測試用例是否滿足預(yù)設(shè)的測試條件; 發(fā)送模塊,用于若所述判斷模塊判斷為滿足,則將所述測試輸入數(shù)據(jù)發(fā)送至被測組件,以使所述被測組件根據(jù)所述測試輸入數(shù)據(jù)執(zhí)行邏輯處理并輸出處理結(jié)果; 比較模塊,用于將所述處理結(jié)果與所述測試用例預(yù)期輸出進行比較,并根據(jù)比較結(jié)果生成相應(yīng)的測試日志。
5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述測試用例執(zhí)行配置文件中包括測試記錄信息; 相應(yīng)的,所述判斷模塊具體用于查詢所述測試用例執(zhí)行配置文件中是否存在所述測試記錄信息;若存在所述測試記錄信息,則根據(jù)預(yù)設(shè)的判斷規(guī)則,判斷所述測試用例是否滿足所述預(yù)設(shè)的測試條件。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述測試用例執(zhí)行配置文件中還包括:邏輯接口信息和邏輯拓撲信息; 相應(yīng)的,所述判斷模塊具體用于獲取所述被測組件的物理接口信息,判斷所述物理接口信息與所述邏 輯接口信息是否一致;獲取所述被測組件的物理拓撲信息,判斷所述物理拓撲信息與所述邏輯拓撲信息是否一致;若所述物理接口信息與所述邏輯接口信息一致,且所述物理拓撲信息與所述邏輯拓撲信息一致,則所述測試用例滿足所述預(yù)設(shè)的測試條件,否則,所述測試用例不滿足所述預(yù)設(shè)的測試條件。
【文檔編號】G06F11/36GK103793326SQ201410054826
【公開日】2014年5月14日 申請日期:2014年2月18日 優(yōu)先權(quán)日:2014年1月28日
【發(fā)明者】賀宏達, 郭偉 申請人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司