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