本發(fā)明涉及通信設備的技術(shù)領域,尤其是涉及一種CCMTS設備的測試方法和裝置。
背景技術(shù):
隨著數(shù)據(jù)通信技術(shù)的發(fā)展,對數(shù)據(jù)通信設備的功能和性能要求越來越高,數(shù)據(jù)通信設備的功能日趨強大、版本迭代也日趨頻繁,因此對開發(fā)周期的要求也越來越短。但是,數(shù)據(jù)通信設備在開發(fā)過程中,所耗費的測試時間較長,進而延長了整個開發(fā)周期。
現(xiàn)有的數(shù)據(jù)通信設備一般通過命令行界面(Command Line Interface,簡稱CLI)或用戶界面(User Interface,簡稱UI)進行測試。測試步驟如下:首先,測試人員使用終端工具登錄數(shù)據(jù)通信設備后,通過CLI或UI下發(fā)配置;然后,測試人員使用一些測試儀表來模擬數(shù)據(jù)通信協(xié)議和業(yè)務流,用于模擬數(shù)據(jù)通信設備的使用場景;接下來,測試人員通過CLI或網(wǎng)管UI獲取測試結(jié)果,分析所測功能是否正常并得出測試結(jié)論。
隨著自動化測試的發(fā)展,傳統(tǒng)的自動化測試腳本開發(fā)一般通過手工執(zhí)行一次測試,同時使用自動化測試工具的錄制功能,把所進行的操作記錄下來,生成測試腳本。這樣生成的測試腳本回放的成功率比較低,后期維護也比較困難。
因此,現(xiàn)有的自動化測試方法存在以下缺陷:(1)為快速響應市場需求,數(shù)據(jù)通信設備的功能也在不斷擴展,但基于此前現(xiàn)有自動化技術(shù)的自動化測試存在腳本復用率低、穩(wěn)定性差的問題,而且命令行的頻繁變更或網(wǎng)管UI界面的變化對自動化測試腳本的維護帶來了很大的工作量,進而導致測試周期長;(2)在自動化測試中,只進行CLI測試或網(wǎng)管UI測試,容易遺漏一些問題,不能保證CLI和網(wǎng)管UI的一致性。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種CCMTS設備的測試方法和裝置,以緩解了現(xiàn)有的自動化測試方法中測試效率較低的技術(shù)問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種CCMTS設備的測試方法,該方法包括:選取對待測試CCMTS設備進行測試的測試套件,其中,測試套件中包含至少一個測試用例,每個測試用例對應一個測試腳本;根據(jù)每個所述測試用例對應的測試腳本調(diào)用用于對所述待測試CCMTS設備進行測試的測試信息,其中,所述測試信息包括預先設置的目標函數(shù)庫中相應的命令行CLI,和/或,在預先設置的目標用例集合中相應的管理信息庫MIB;根據(jù)所述測試信息對所述待測試CCMTS設備進行測試,得到測試結(jié)果;對測試結(jié)果進行分析,并根據(jù)分析結(jié)果確定對所述待測試CCMTS設備測試是否成功。
進一步地,根據(jù)所述測試信息對所述待測試CCMTS設備進行測試,得到測試結(jié)果包括:根據(jù)所述測試信息對所述測試腳本中的每個測試步驟進行測試,得到每個測試步驟的測試結(jié)果;對測試結(jié)果進行分析,并根據(jù)分析結(jié)果確定是否對所述待測試CCMTS設備測試成功包括:對每個所述測試步驟的測試結(jié)果進行分析,并根據(jù)分析結(jié)果確定是否對所述待測試CCMTS設備測試成功。
進一步地,對每個所述測試步驟的測試結(jié)果進行分析包括:將每個所述測試步驟的測試結(jié)果與對應的預設測試結(jié)果進行對比;如果對比出每個所述測試步驟的測試結(jié)果與所述對應的預設測試結(jié)果相同,則確定對所述測試步驟的測試通過;如果對比出每個所述測試步驟的測試結(jié)果與所述對應的預設測試結(jié)果不相同,則確定對所述測試步驟的測試未通過。
進一步地,所述測試步驟的數(shù)量為多個,根據(jù)分析結(jié)果確定是否對所述待測試CCMTS設備測試成功包括:確定多個所述測試步驟中測試未通過的數(shù)量;判斷所述測試未通過的數(shù)量是大于預設數(shù)量,還是等于所述預設數(shù)量;如果判斷出所述測試未通過的數(shù)量等于所述預設數(shù)量,則確定對所述待測試CCMTS設備的測試成功;如果判斷出所述測試未通過的數(shù)量大于所述預設數(shù)量,則確定對所述待測試CCMTS設備的測試失敗。
進一步地,在選取用于對待測試CCMTS設備進行測試的測試套件之前,所述方法還包括:獲取所述待測試CCMTS設備的測試版本;根據(jù)所述測試版本設置在對所述待測試CCMTS設備進行測試時所需要的環(huán)境變量,并設置在所述測試套件時所需要的私有參數(shù);其中,所述環(huán)境變量包括以下至少之一:所述待測試CCMTS設備的IP地址,所述待測試CCMTS設備與交換機連接的上聯(lián)端口及Vlan虛接口,每個所述待測試CCMTS設備之間的拓撲連接參數(shù),測試儀表的IP地址,所述待測試CCMTS設備與所述測試儀表連接的端口參數(shù);所述私有參數(shù)包括以下至少之一:調(diào)用所述命令行CLI和/或所述管理信息庫MIB的控制參數(shù),循環(huán)次數(shù),對所述待測試CCMTS設備測試失敗后的處理方案。
進一步地,在根據(jù)每個所述測試用例對應測試腳本調(diào)用用于對所述待測試CCMTS設備進行測試的測試信息之前,所述方法還包括:根據(jù)所述測試腳本在所述目標函數(shù)庫中調(diào)用目標測試函數(shù);根據(jù)所述目標測試函數(shù)讀取所述測試用例的工廠文件,其中,所述工廠文件中包括用于對所述待測試CCMTS設備進行初始化配置的配置參數(shù);根據(jù)所述配置參數(shù)對所述待測試CCMTS設備進行初始化配置。
根據(jù)本發(fā)明實施例的另一個方面,還提供了一種CCMTS設備的測試裝置,該裝置包括:選取單元,用于選取對待測試CCMTS設備進行測試的測試套件,其中,測試套件中包含至少一個測試用例,每個測試用例對應一個測試腳本;第一調(diào)用單元,用于根據(jù)每個所述測試用例對應的測試腳本調(diào)用用于對所述待測試CCMTS設備進行測試的測試信息,其中,所述測試信息包括預先設置的目標函數(shù)庫中相應的命令行CLI,和/或,在預先設置的目標用例集合中相應的管理信息庫MIB;測試單元,用于根據(jù)所述測試信息對所述待測試CCMTS設備進行測試,得到測試結(jié)果;分析單元,用于對測試結(jié)果進行分析,并根據(jù)分析結(jié)果確定是否對所述待測試CCMTS設備測試成功。
進一步地,所述測試單元包括:測試子單元,用于根據(jù)所述測試信息對所述測試腳本中的每個測試步驟進行測試,得到每個測試步驟的測試結(jié)果;所述分析單元包括:分析確定子單元,用于對每個所述測試步驟的測試結(jié)果進行分析,并根據(jù)分析結(jié)果確定是否對所述待測試CCMTS設備測試成功。
進一步地,所述分析確定子單元用于:將每個所述測試步驟的測試結(jié)果與對應的預設測試結(jié)果進行對比;如果對比出每個所述測試步驟的測試結(jié)果與所述對應的預設測試結(jié)果相同,則確定對所述測試步驟的測試通過;如果對比出每個所述測試步驟的測試結(jié)果與所述對應的預設測試結(jié)果不相同,則確定對所述測試步驟的測試未通過。
進一步地,所述測試步驟的數(shù)量為多個,所述分析確定子單元還用于:確定多個所述測試步驟中測試未通過的數(shù)量;判斷所述測試未通過的數(shù)量是等于預設數(shù)量,還是等于所述預設數(shù)量;如果判斷出所述測試未通過的數(shù)量等于所述預設數(shù)量,則確定對所述待測試CCMTS設備的測試成功;如果判斷出所述測試未通過的數(shù)量大于所述預設數(shù)量,則確定對所述待測試CCMTS設備的測試失敗。
在本發(fā)明實施例中,首先選擇用于對待測試CCMTS設備進行測試的測試用例,以及該測試用例對應的測試腳本;然后,根據(jù)測試用例對應的測試腳本調(diào)用用于對待測試CCMTS設備進行測試的命令行CLI和管理信息庫MIB;接下來,根據(jù)命令行CLI和管理信息庫MIB對待測試CCMTS設備進行測試,進而,得到測試結(jié)果;最后,根據(jù)測試結(jié)果確定對待測試CCMTS設備測試是否成功。相對于現(xiàn)有技術(shù)中僅用CLI或者網(wǎng)管UI的測試方法,本發(fā)明實施例通過CLI和MIB的共同使用來進行自動化測試,既保證了業(yè)務的功能性驗證,同時又保證了測試的一致性和可重復性,提高了測試的準確度和精確度,進而達到縮短測試周期的目的,而且緩解了現(xiàn)有的自動化測試方法中測試效率較低的技術(shù)問題。
附圖說明
為了更清楚地說明本發(fā)明具體實施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對具體實施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施方式,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是根據(jù)本發(fā)明實施例的一種CCMTS設備的測試方法的流程圖;
圖2是根據(jù)本發(fā)明實施例的一種測試拓撲結(jié)構(gòu)的示意圖;
圖3是根據(jù)本發(fā)明實施例的一種CCMTS設備的測試裝置的示意圖;
圖4是根據(jù)本發(fā)明實施例的一種可選地CCMTS設備的測試裝置的示意圖;
圖5是根據(jù)本發(fā)明實施例的另一種可選地CCMTS設備的測試裝置的示意圖;以及
圖6是根據(jù)本發(fā)明實施例的另一種可選地CCMTS設備的測試裝置的示意圖。
具體實施方式
下面將結(jié)合附圖對本發(fā)明的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
在本發(fā)明的描述中,需要說明的是,術(shù)語“中心”、“上”、“下”、“左”、“右”、“豎直”、“水平”、“內(nèi)”、“外”等指示的方位或位置關系為基于附圖所示的方位或位置關系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。此外,術(shù)語“第一”、“第二”、“第三”僅用于描述目的,而不能理解為指示或暗示相對重要性。
在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內(nèi)部的連通。對于本領域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
實施例一
根據(jù)本發(fā)明實施例,提供了一種CCMTS設備的測試方法的實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。下面將結(jié)合圖1和圖2對本發(fā)明實施例進行詳細說明。
圖1是根據(jù)本發(fā)明實施例的一種CCMTS設備的測試方法的流程圖,圖2是根據(jù)本發(fā)明實施例的一種測試拓撲結(jié)構(gòu)的示意圖。如圖1所示,該方法包括如下步驟:
步驟S102,選取對待測試CCMTS設備進行測試的測試套件,其中,測試套件中包含至少一個測試用例,每個測試用例對應一個測試腳本;
在本發(fā)明實施例中,預先設置了多個測試套件,每個測試套件中包括至少一個用于對待測試CCMTS設備進行測試的測試用例,每個測試用例均對應一個測試腳本。其中,每個測試套件中的至少一個測試用例均為相關聯(lián)的測試用例;上述測試腳本又可以稱為自動化測試腳本。
步驟S104,根據(jù)每個測試用例對應的測試腳本調(diào)用用于對待測試CCMTS設備進行測試的測試信息,其中,測試信息包括預先設置的目標函數(shù)庫中相應的命令行CLI,和/或,在預先設置的目標用例集合中相應的管理信息庫MIB;
在本發(fā)明實施例中,在上述自動化測試腳本中,可調(diào)用的命令行CLI集合均封裝在自動化函數(shù)庫(即,目標函數(shù)庫)中,該自動化函數(shù)庫對外提供統(tǒng)一的調(diào)用接口,當不同測試版本的待測試CCMTS設備的命令行有變更時,只需要對自動化函數(shù)庫進行更新即可??烧{(diào)用的MIB集合均封裝在自定義用例集合(即,目標用例集合)中,測試腳本只需調(diào)用接口函數(shù)并傳入自定義用例編號即可,當某個MIB節(jié)點對應的取值有變更時,只需維護自定義用例集合。
步驟S106,根據(jù)測試信息對待測試CCMTS設備進行測試,得到測試結(jié)果;
在本發(fā)明實施例中,在獲取到的測試信息之后,就可以根據(jù)測試信息對待測試CCMTS設備進行測試。
具體地,可以根據(jù)測試用例在自定義函數(shù)庫中調(diào)用的命令行CLI和在自定義用例集合中調(diào)用的管理信息庫MIB來對待測CCMTS設備下發(fā)配置測試。例如,當自動化測試腳本中涉及到需要收發(fā)流量時,由自動化測試腳本調(diào)用二次封裝的測試儀表API來占用測試儀表端口、完成待測業(yè)務流量構(gòu)建,并對待測設備進行測試流量的發(fā)送。
步驟S108,對測試結(jié)果進行分析,并根據(jù)分析結(jié)果確定是否對待測試CCMTS設備測試成功。
在本發(fā)明實施例中,首先選擇用于對待測試CCMTS設備進行測試的測試用例,以及該測試用例對應的測試腳本;然后,根據(jù)測試用例對應的測試腳本調(diào)用用于對待測試CCMTS設備進行測試的命令行CLI和管理信息庫MIB;接下來,根據(jù)命令行CLI和管理信息庫MIB對待測試CCMTS設備進行測試,進而,得到測試結(jié)果;最后,根據(jù)測試結(jié)果確定對待測試CCMTS設備測試是否成功。相對于現(xiàn)有技術(shù)中僅用CLI或者網(wǎng)管UI測試方法,本發(fā)明實施例通過CLI和MIB的共同使用來進行自動化測試,既保證了業(yè)務的功能性驗證,同時又保證了測試的一致性和可重復性,提高了測試的準確度和精確度,進而達到縮短測試周期的目的,而且緩解了現(xiàn)有的自動化測試方法中測試效率較低的技術(shù)問題。
在本發(fā)明實施例的一個可選實施方案中,在選取用于對待測試CCMTS設備進行測試的測試套件之前,該方法還包括如下步驟:
步驟S1011,獲取待測試CCMTS設備的測試版本;
步驟S1012,根據(jù)測試版本設置在對待測試CCMTS設備進行測試時所需要的環(huán)境變量,并設置在測試套件時所需要的私有參數(shù);
其中,環(huán)境變量包括以下至少之一:待測試CCMTS設備的IP地址,待測試CCMTS設備與交換機連接的上聯(lián)端口及Vlan虛接口,每個待測試CCMTS設備之間的拓撲連接參數(shù),測試儀表的IP地址,待測試CCMTS設備與測試儀表連接的端口參數(shù);私有參數(shù)包括以下至少之一:調(diào)用命令行和/或管理信息庫的控制參數(shù),循環(huán)次數(shù),對待測試CCMTS設備測試失敗后的處理方案。
在本發(fā)明實施例中,在選取用于對待測試CCMTS設備進行測試的測試套件之前,首先需要獲取待測試CCMTS設備的測試版本,然后在自動化測試服務器上設置與測試環(huán)境對應的環(huán)境變量、需要執(zhí)行測試套件的私有參數(shù),其中,測試環(huán)境為對該待測試CCMTS設備進行測試的環(huán)境。
如果待測試CCMTS設備的數(shù)量為多個,那么此時上述環(huán)境變量包括各待測試CCMTS設備的IP地址、各待測試CCMTS設備與交換機連接的上聯(lián)端口及Vlan虛接口、各待測試CCMTS設備之間的拓撲連接參數(shù)、測試儀表(Spirent Test Center)IP地址、各待測試CCMTS設備與測試儀表連接的端口參數(shù);測試套件的私有參數(shù)包括:調(diào)用命令行CLI和/或管理信息庫MIB的控制參數(shù)、循環(huán)次數(shù)、測試失敗后的處理方案等。
需要說明的是,在本發(fā)明實施例中,交換機為圖2中所示的與CCMTS設備相連接的交換機,測試儀表為圖2中與交換機相連接的測試儀表,自動化測試服務器為與CCMTS設備相連接的服務器。
在根據(jù)測試版本設置對待測試CCMTS設備進行測試時所需要的環(huán)境變量,并設置測試套件所需要的私有參數(shù)之后,就可以通過在Eclipse開發(fā)工具中添加的腳本勾選插件進行測試套件包含的自動化測試腳本的選取,通過上述操作可以完成對重點用例或重點模塊進行測試,縮短測試周期,提升測試質(zhì)量。
接下來,就可以通過串口或Telnet協(xié)議或安全外殼協(xié)議(Secure Shell,簡稱SSH)建立自動化測試服務器與各待測CCMTS設備的連接并完成登錄過程,在建立連接的過程中最多有三次重連,避免待測CCMTS設備短時間內(nèi)處于busy狀態(tài)而連接失敗。
在建立自動化測試服務器與各待測CCMTS設備的連接并完成登錄過程之后,并在根據(jù)每個測試用例對應測試腳本調(diào)用用于對待測試CCMTS設備進行測試的測試信息之前,該方法還包括如下步驟:
步驟S1031,根據(jù)測試腳本在目標函數(shù)庫中調(diào)用目標測試函數(shù);
步驟S1032,根據(jù)目標測試函數(shù)讀取測試用例的工廠文件,其中,工廠文件中包括用于對待測試CCMTS設備進行初始化配置的配置參數(shù);
步驟S1033,根據(jù)配置參數(shù)對待測試CCMTS設備進行初始化配置。
在本發(fā)明實施例中,在對待測試CCMTS設備進行測試之前,需要根據(jù)對該待測試CCMTS設備進行測試的測試腳本調(diào)用相應的目標測試函數(shù),其中,該目標測試函數(shù)用于讀取測試用例的工廠文件,以通過該目標測試函數(shù)讀取的測試用例工廠文件,對待測設備進行初始化。
在本發(fā)明實施例的另一個可選實施方式中,
根據(jù)測試信息對待測試CCMTS設備進行測試,得到測試結(jié)果包括步驟S1041:根據(jù)測試信息對測試腳本中的每個測試步驟進行測試,得到每個測試步驟的測試結(jié)果。
每個測試用例(也即,每個測試腳本)中均對應多個測試步驟,因此,在本發(fā)明實施例中,在對待測試CCMTS設備進行測試時,需要對每個測試用例中每個測試步驟的測試檢測點進行檢查,獲取待測CCMTS設備和測試儀表的檢測點結(jié)果,其中,待測CCMTS設備的檢測點結(jié)果主要包括:待測試CCMTS設備和終端各狀態(tài)機查詢、業(yè)務運行與流量大小驗證、協(xié)議報文中關鍵字段的解析等。
在本發(fā)明實施例中,還增加了CLI下發(fā)與MIB測試的相互驗證功能,其中,相互驗證功能指通過CLI進行配置,然后通過MIB進行查看,或者通過MIB進行配置,然后通過CLI進行查看。
對測試結(jié)果進行分析,并根據(jù)分析結(jié)果確定是否對待測試CCMTS設備測試成功包括步驟S1061:對每個測試步驟的測試結(jié)果進行分析,并根據(jù)分析結(jié)果確定是否對待測試CCMTS設備測試成功。
其中,對每個測試步驟的測試結(jié)果進行分析包括如下步驟:
S10611,將每個測試步驟的測試結(jié)果與對應的預設測試結(jié)果進行對比;
S10612,如果對比出每個測試步驟的測試結(jié)果與對應的預設測試結(jié)果相同,則確定對測試步驟的測試通過;
S10613,如果對比出每個測試步驟的測試結(jié)果與對應的預設測試結(jié)果不相同,則確定對測試步驟的測試未通過。
在本發(fā)明實施例中,可以對每個測試步驟(也即,每個檢測點的測試結(jié)果)與對應的預期結(jié)果(即,下述預設測試結(jié)果)進行比對,若檢測點結(jié)果與預期結(jié)果一致,則確定對該檢測點的測試通過,否則確定對該檢測點的測試不通過。
在獲取每個檢測點的測試結(jié)果之后,就可以下發(fā)清除命令至各被測設備來清除設備的相關配置,并釋放占用的測試儀表相關端口,保證每個測試腳本的獨立性,合理利用測試儀表資源。
在釋放占用的測試儀表相關端口之后,就可以根據(jù)上述步驟中檢測到的每個檢測點的測試結(jié)果確定對待測試CCMTS設備測試是否成功。
假設,測試步驟的數(shù)量為多個,根據(jù)分析結(jié)果確定是否對待測試CCMTS設備測試成功包括如下步驟:
步驟S1,確定多個測試步驟中測試未通過的數(shù)量;
步驟S2,判斷測試未通過的數(shù)量是等于預設數(shù)量,還是大于預設數(shù)量;
步驟S3,如果判斷出測試未通過的數(shù)量等于預設數(shù)量,則確定對待測試CCMTS設備的測試成功;
步驟S4,如果判斷出測試未通過的數(shù)量大于預設數(shù)量,則確定對待測試CCMTS設備的測試失敗。
在獲取到每個檢測點的測試結(jié)果之后,統(tǒng)計整個測試用例檢測點中通過和不通過的數(shù)量,作為該測試用例是否通過的判斷依據(jù)。接下來,判斷測試未通過的數(shù)量是等于預設數(shù)量,還是大于預設數(shù)量,優(yōu)選地,在本發(fā)明實施例中,預設數(shù)量選取為0。在此情況下,需要判斷試未通過的數(shù)量的是等于0,還是大于0,其中,如果測試檢測點中不通過數(shù)量為0,則該自動化測試用例執(zhí)行成功;如果測試檢測點中不通過數(shù)量大于0,則該自動化測試用例執(zhí)行失敗。
如果當前自動化用例執(zhí)行失敗了,可以選擇是否需要重新執(zhí)行一次,若是,則執(zhí)行步驟S1031至步驟S1033,再次執(zhí)行上述測試步驟,否則繼續(xù)執(zhí)行測試套件中其他未執(zhí)行的測試用例。
當測試套件中的所有測試用例都執(zhí)行完成后,輸出完整的統(tǒng)計報告,報告采用HTML和Excel兩種展示形式,它們的內(nèi)容均包含整個測試套件的執(zhí)行起止時間及各用例對應的測試目的、測試結(jié)果、執(zhí)行耗時和測試用例的作者,其中,Excel格式的報告可以作為每個版本測試報告的自動生成,而HTML的報告在某個測試用例上可以打開超鏈接來查看該用例的詳細報告,包括各測試步驟信息、各檢測點的分析結(jié)果及每個單元的執(zhí)行耗時,方便進行問題定位和腳本優(yōu)化。
綜上,本發(fā)明實施例提供的CCMTS設備的測試方法中,提出了一種可以同時使用CLI和MIB對設備進行測試的自動化測試方法,該方法可以通過CLI和MIB的共同使用來進行自動化測試,既保證了業(yè)務的功能性驗證,同時又保證了測試的一致性和可重復性,且兼顧了二者一致性,與現(xiàn)有技術(shù)相比,本發(fā)明實施例提供的CCMTS設備的測試方法具有以下優(yōu)點:
(1)本發(fā)明能夠預先設置各版本待測試CCMTS設備在進行測試時,所需的環(huán)境變量,同時可以自動控制測試儀表中OSI模型的第二到四層涉及的相關業(yè)務來對待測試CCMTS設備進行相關業(yè)務測試,使得該測試能夠覆蓋三層數(shù)據(jù)通信設備(例如,CCMTS設備)的大部分功能點,例如,能夠適用于數(shù)據(jù)通信設備的功能測試、回歸測試、冒煙測試和壓力測試,本發(fā)明實施例提供的測試方法,不僅測試效率高,而且排除了人為因素的干擾,測試結(jié)果的一致性較好;
(2)在本發(fā)明實施例中,通過測試腳本調(diào)用的CLI的自定義函數(shù)庫和MIB自定義用例集合與自動化腳本是分離的,可以避免命令行CLI和MIB節(jié)點反復變更后需重新修改自動化測試腳本的問題,降低了腳本維護成本;
(3)本發(fā)明實現(xiàn)了CLI和MIB的集成對比測試,不但保證了二者各自功能正常,同時也能保證二者表述的一致性;
(4)本發(fā)明能夠充分利用時間和設備及測試儀表資源,提高了測試的準確度和精確度,進而達到縮短測試周期,減少部分測試人力的目的。
實施例二
本發(fā)明實施例還提供了一種CCMTS設備的測試裝置,該CCMTS設備的測試裝置主要用于執(zhí)行本發(fā)明實施例上述內(nèi)容所提供的CCMTS設備的測試方法,以下對本發(fā)明實施例提供的CCMTS設備的測試裝置做具體介紹。
圖3是根據(jù)本發(fā)明實施例的一種CCMTS設備的測試裝置的示意圖,如圖3所示,該CCMTS設備的測試裝置主要包括:選取單元31,第一調(diào)用單元32,測試單元33和分析單元34,其中:
選取單元,用于選取用于對待測試CCMTS設備進行測試的測試套件,其中,測試套件中包含至少一個測試用例,每個測試用例對應一個測試腳本;
第一調(diào)用單元,用于根據(jù)每個所述測試用例對應的測試腳本調(diào)用用于對所述待測試CCMTS設備進行測試的測試信息,其中,所述測試信息包括預先設置的目標函數(shù)庫中相應的命令行CLI,和/或,在預先設置的目標用例集合中相應的管理信息庫MIB;
測試單元,用于根據(jù)所述測試信息對所述待測試CCMTS設備進行測試,得到測試結(jié)果;
分析單元,用于對測試結(jié)果進行分析,并根據(jù)分析結(jié)果確定是否對所述待測試CCMTS設備測試成功。
在本發(fā)明實施例中,首先選擇用于對待測試CCMTS設備進行測試的測試用例,以及該測試用例對應的測試腳本;然后,根據(jù)測試用例對應的測試腳本調(diào)用用于對待測試CCMTS設備進行測試的命令行CLI和管理信息庫MIB;接下來,根據(jù)命令行CLI和管理信息庫MIB對待測試CCMTS設備進行測試,進而,得到測試結(jié)果;最后,根據(jù)測試結(jié)果確定對待測試CCMTS設備測試是否成功。相對于現(xiàn)有技術(shù)中僅用CLI或者網(wǎng)管UI的測試方法,本發(fā)明實施例通過CLI和MIB的共同使用來進行自動化測試,既保證了業(yè)務的功能性驗證,同時又保證了測試的一致性和可重復性,提高了測試的準確度和精確度,進而達到縮短測試周期的目的,而且緩解了現(xiàn)有的自動化測試方法中測試效率較低的技術(shù)問題。
圖4是根據(jù)本發(fā)明實施例的一種可選地CCMTS設備的測試裝置的示意圖,如圖4所示,測試單元33包括:測試子單元41,用于根據(jù)所述測試信息對所述測試腳本中的每個測試步驟進行測試,得到每個測試步驟的測試結(jié)果;分析單元34包括:分析確定子單元42,用于對每個所述測試步驟的測試結(jié)果進行分析,并根據(jù)分析結(jié)果確定是否對所述待測試CCMTS設備測試成功。
可選地,所述分析確定子單元用于:將每個所述測試步驟的測試結(jié)果與對應的預設測試結(jié)果進行對比;如果對比出每個所述測試步驟的測試結(jié)果與所述對應的預設測試結(jié)果相同,則確定對所述測試步驟的測試通過;如果對比出每個所述測試步驟的測試結(jié)果與所述對應的預設測試結(jié)果不相同,則確定對所述測試步驟的測試未通過。
可選地,所述測試步驟的數(shù)量為多個,所述分析確定子單元還用于:確定多個所述測試步驟中測試未通過的數(shù)量;判斷所述測試未通過的數(shù)量是等于預設數(shù)量,還是大于預設數(shù)量;如果判斷出所述測試未通過的數(shù)量等于所述預設數(shù)量,則確定對所述待測試CCMTS設備的測試成功;如果判斷出所述測試未通過的數(shù)量大于所述預設數(shù)量,則確定對所述待測試CCMTS設備的測試失敗。
圖5是根據(jù)本發(fā)明實施例的另一種可選地CCMTS設備的測試裝置的示意圖,如圖5所示,該裝置還包括:獲取單元51和設置單元52,其中,獲取單元51,用于在選取用于對待測試CCMTS設備進行測試的測試套件之前,獲取所述待測試CCMTS設備的測試版本;設置單元52,用于根據(jù)所述測試版本設置在對所述待測試CCMTS設備進行測試時所需要的環(huán)境變量,并設置在所述測試套件時所需要的私有參數(shù);其中,所述環(huán)境變量包括以下至少之一:所述待測試CCMTS設備的IP地址,所述待測試CCMTS設備與交換機連接的上聯(lián)端口及Vlan虛接口,每個所述待測試CCMTS設備之間的拓撲連接參數(shù),測試儀表的IP地址,所述待測試CCMTS設備與所述測試儀表連接的端口參數(shù);所述私有參數(shù)包括以下至少之一:調(diào)用所述命令行和/或所述管理信息庫的控制參數(shù),循環(huán)次數(shù),對所述待測試CCMTS設備測試失敗后的處理方案。
圖6是根據(jù)本發(fā)明實施例的另一種可選地CCMTS設備的測試裝置的示意圖,如圖6所示,該裝置還包括:第二調(diào)用單元61,用于在根據(jù)每個所述測試用例對應測試腳本調(diào)用用于對所述待測試CCMTS設備進行測試的測試信息之前,根據(jù)所述測試腳本在所述目標函數(shù)庫中調(diào)用目標測試函數(shù);讀取單元62,用于根據(jù)所述目標測試函數(shù)讀取所述測試用例的工廠文件,其中,所述工廠文件中包括用于對所述待測試CCMTS設備進行初始化配置的配置參數(shù);配置單元63,用于根據(jù)所述配置參數(shù)對所述待測試CCMTS設備進行初始化配置。
最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術(shù)人員應當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。