專利名稱:自動化測試方法及系統的制作方法
技術領域:
本發明涉及測試技術,尤其涉及能夠實現統一參數配置,無須頻繁進行 測試拓樸變換就能順序執行多個測試例的自動化測試方法及系統。
背景技術:
自動化測試是在測試設備,(如個人電腦PC)上運行自動化測試程序, 自動化測試程序通過串口 ( Com)或遠程登錄(Telnet)對被測設備進行配置, 控制數據網絡測試儀進行測試幀的收發,并完成測試結果的自動獲取與判斷, 最終得出該腳本的通過或失敗的測試結果。
如圖l所示,為現有的單臺被測設備的測試拓樸示意圖。
被測設備可為交換機、路由器或其他待測產品。
數據網絡測試儀是用于網絡及設備進行性能測試與評估分析的標準測試 儀器,該種測試儀上有很多端口用于測試數據幀的發送與接收并能夠對發送 與接收幀進行統計等處理,類似于PC上有很多的網卡一樣。通過控制該測 試儀進行測試幀的發送并判斷收幀結果來確認被測設備的相關功能是否正 確,從而達到對被測設備的測試的目的。
PC上執行自動化測試程序。自動化測試程序大部份由腳本語言實現,如 使用tcl或perl等腳本語言進行自動化測試程序編碼。自動化測試程序通過 PC的Com或Telnet對被測設備進行配置,通過以太網與數據網絡測試儀通 訊來控制數據網絡測試儀進行測試幀的收發,根據收幀結果進行測試結果判 斷。
當有多臺被測設備同時參與測試時就組成了被測系統,測試時涉及到數 據網絡測試儀與各臺被測設備的連接,以及各臺被測設備之間的連接。頁
不同的自動化測試程序一般由不同的編程人員編碼, 一般有各自的配置 文件。每個配置文件包含了數據網絡測試儀的IP地址,使用的數據網絡測試
儀的端口號,被測設備的配置方式(Com或Telnet ),參與測試的端口號等信 息,以實現對數據網絡測試儀與被測設備的控制。這些信息一般通過設置相 應的變量來實現。
當需要對網絡設備進行自動化測試時,需要執行該被測設備支持的所有 測試程序或腳本,當多個測試程序或腳本需要順序執行時會存在如下問題
(1 )各個自動化測試程序或腳本有各自的配置文件,測試時需要對每個 配置文件都進行配置;當測試程序或腳本很多時,工作量很大,配置較為繁 瑣,而且各個配置文件中的有些配置信息是重復的,如數據網絡測試儀的IP 地址,使用的端口等;
(2)各個自動化測試程序或腳本對測試拓樸的要求不同,如測試程序1 只對單臺被測設備進行測試,測試程序2需要同時對兩臺被測設備進行測試, 由于沒有統一的測試拓樸定義,這就需要手工進行測試拓樸變換,導致各個 測試腳本不能順序執行,整個測試過程需要人工干預;
(3 )由于各個測試程序或腳本的測試拓樸有可能是實際測試拓樸的一部 分,此時測試人員可以對實際的測試拓樸進行人工判斷,抽取出部分拓樸來 完成各個測試程序或腳本的參數配置,但這就要求測試執行人員對各個測試 程序或腳本的測試拓樸很熟悉,提高了對測試人員的要求,此外,整個測試 拓樸中沒有使用到的測試拓樸還有可能對當前使用的測試拓樸產生影響。
發明內容
本發明所要解決的技術問題是,提供一種自動化測試方法,實現參數的 統一配置,無需頻繁進行測試拓樸變換就能達到多個測試例順序執行。 為了解決上述技術問題,本發明提供了一種自動化測試方法,包括 將測試程序封裝成測試例由主函數統一調用
搭建自動化測試系統;所述測試系統包括測試設備、數據網絡測試儀以 及被測系統,所述被測系統包括至少 一 臺被測設備;
生成測試參數配置文件并選擇需要執行的測試例,所述測試配置文件記 錄的信息包括參數配置變量信息以及測試拓樸描述信息;
所述測試設備通過執行測試主函數調用被選擇的測試例,所述測試例引 用所述測試參數配置文件中的變量信息并根據所述測試拓樸描述信息引用被 測設備的端口。
為了解決上述技術問題,本發明還提供了一種自動化測試系統,包括 由至少 一 臺被測設備組成的被測系統;
數據網絡測試儀,用于向所述被測設備發送測試幀并接收所述被測設備 返回的測試幀;
測試設備,用于對所述被測系統進行配置;控制所述被測設備及數據網 絡測試儀;通過執行測試主函數調用測試程序封裝成的測試例對所述^皮測系 統進行測試,引用測試參數配置文件記錄的參數配置變量以及根據測試拓樸 描述信息引用被測設備的端口 。
上述技術方案實現了參數的統一配置,無需頻繁進行測試拓樸變換就能 達到多個測試例順序執行。
下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
圖1為現有的單臺被測設備的測試拓樸示意圖; 圖2為本發明的自動化測試系統實施例結構示意圖; 圖3為本發明的自動化測試方法實施例流程圖; 圖4為本發明實施例的實際物理測試拓樸示意圖; 圖5為本發明實施例的測試例1所需測試拓樸示意圖; 圖6為本發明實施例的測試例2所需測試拓樸示意圖7為本發明的自動化測試方法測試流程實施例流程圖。
具體實施例方式
如圖2所示,為本發明的自動化測試系統實施例結構示意圖。測試設備 與數據網絡測試儀通過以太網進行通訊來控制數據網絡測試儀的相應端口進 行測試幀的發送與接收。數據網絡測試儀的測試端口與各被測設備的相應端 口連接以實現測試幀的發送與接收。被測系統由一臺或多臺被測設備組成。 測試設備對被測系統進行配置,控制被測設備及數據網絡測試儀,通過執行 測試主函數調用測試程序封裝成的測試例對被測系統進行測試。
如圖3所示,為本發明的自動化測試方法實施例流程圖,包括如下步驟
步驟101、將測試程序封裝成測試例由主函數統一調用;
步驟102、搭建自動化測試系統;測試系統包括測試設備、數據網絡測 試儀以及被測系統,其中被測系統包括至少 一 臺被測設備;
步驟103、生成測試參數配置文件并選擇需要執行的測試例,該測試配 置文件記錄的信息包括參數配置變量信息以及測試拓樸描述信息,其中測試 拓4卜描述信息包括被測設備與數據網絡測試儀的端口連接信息以及多臺被測 設備之間的端口連接信息;
步驟104、測試設備通過執行主函數調用被選擇的測試例對被測設備進 行測試,測試例引用測試參數配置文件中的變量信息并根據測試拓樸描述信 息引用被測設備的端口。
本發明實施例將測試程序封裝成測試例,由主函數統一調用,各測試程 序不再是獨立的可執行程序,所有測試例引用統一的測試參數配置文件中的 變量,通過統一的測試拓樸描述信息引用被測設備的端口,從而實現了參數 的統一配置,且無須頻繁進行測試拓樸的變換就能達到多個測試例順序執行, 大大提高測試的自動化程度。
在搭建測試拓樸時,可將被測設備需要參與測試的端口與數據網絡測試 儀或其他被測設備的相應端口進行連接。測試設備通過以太網與數據網絡測
試儀連接,并通過COM或Telnet對被測設備進行配置。
測試配置文件記錄的參數配置變量信息可包括數據網絡測試儀的IP地 址,被測設備的配置方式等信息。測試配置文件記錄的測試拓樸描述信息是 根據測試拓樸中被測設備的連接關系生成的。
當有多臺被測設備參與測試時,被測設備與數據網絡測試儀的端口之間 以及被測設備兩兩之間都可能有連接關系,而且被測設備與數據網絡測試儀 之間的聯接段口以及兩臺被測設備之間的連接端口可能有多個,此時可以使 用數據結構來表示被測系統中被測設備端口間的連接關系,例如,使用一個 三維數組,第一維表示被測設備,第二維表示與第一維被測設備連接的被測 設備,第三維表示第一維被測設備與第二維被測設備之間的端口。另外,也 可通過結構體以及鏈表等數據結構表示被測設備與數據網絡測試儀之間以及 被測設備之間的端口連接關系。
通過使用統一的數據結構(如三維數組)來保存所有的被測設備之間的端 口連接關系,所有的測試例根據各個的測試拓樸進行測試端口的引用,而非 直接引用端口別名,這樣可以實現測試端口的可變性與測試拓樸的統一描述。
由于實際的物理測試拓樸與各個測試例所需的測試拓樸可能不同,所以
拓樸進行測試。例如,實際的物理測試拓樸如圖4所示,測試例1需要的測 試拓樸如圖5所示,測試例2需要的測試拓樸如圖6所示。當測試例1進行 測試拓樸選取時,對各臺被測設備的測試端口進行判斷,從中選取出實際物 理拓樸中的被測設備1的前3個端口作為該測試例的測試對象。測試例2進 行測試拓樸選取時,選取實際物理拓樸的被測設備1的前2個端口及被測設 備2的第l個端口,以及兩臺被測設備之間的所有端口作為該測試例的測試 對象,這樣就實現了測試拓樸的共用。當測試例所需的測試拓樸不同時,只 要實際物理拓樸能夠滿足測試例所需,則可適當從中選擇相應的端口,進行
測試,而不需在順序執行多個測試例的過程中手工變換測試拓樸。
為了避免各個測試例只使用實際物理拓樸中的部分拓樸,沒有使用到的 測試拓樸有可能對當前使用的測試拓樸產生影響,可將所有鏈路的初始狀態
缺省為關閉狀態(shutdown),各個測試例在使用該鏈路前先啟用(no shutdown)該鏈路,在使用完畢后再將鏈路狀態設為關閉狀態即可,這樣就 可以;f艮好的避免各個測試拓樸或鏈路之間的相互影響。
如圖7所示,為本發明的自動化測試方法測試流程實施例流程圖,包括 如下步驟
步驟201、運行主函數;
步驟202、主函數加載參數配置文件;
步驟203、主函數對被測設備初始化,關閉所有測試鏈路;
步驟204、主函數判斷測試是否完成,即判斷各測試例是否均已執行完 畢,若完成,則執行步驟210,否則,執行步驟205;
步驟205、依次調用未執行的一個測試例;被調用測試例判斷測試拓樸 是否滿足測試要求,若不滿足要求,則結束當前測試例的測試流程,繼續執 行步驟204;若測試拓樸滿足要求,則執行步驟206;
步驟206、測試例根據測試需要選擇測試鏈路,并開啟選擇的測試鏈路;
步驟207、測試例執行測試過程;在執行時,測試例引用統一的測試參 數配置文件中的變量信息并根據測試拓樸描述信息引用被測設備的端口 ;
步驟208、測試過程執行完畢后,測試例關閉測試鏈路;
步驟209、測試例向主函數返回測試結果,執行步驟204;
步驟210、結束整個測試流程。
本實施例在測試時,由主函數統一加載參數配置文件,對被測設備初始 化,實現了參數的統一配置;測試例引用統一的參數配置文件,無需頻繁變 換測試拓樸就能實現多個測試例的順序執行;所有鏈路的初始狀態初始化為 關閉狀態,在測試例需要測試某個鏈路時,開啟選擇的測試鏈路,這樣可以
很好地避免各測試鏈路之間的相互影響。
最后應說明的是以上實施例僅用以說明本發明的技術方案,而非對其 限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術 人員應當理解其依然可以對前述各實施例所記載的技術方案進行修改,或 者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技
術方案的本質脫離本發明各實施例技術方案的精神和范圍。
權利要求
1、一種自動化測試方法,其特征在于,所述方法包括將測試程序封裝成測試例由主函數統一調用;搭建自動化測試系統;所述測試系統包括測試設備、數據網絡測試儀以及被測系統,所述被測系統包括至少一臺被測設備;生成測試參數配置文件并選擇需要執行的測試例,所述測試配置文件記錄的信息包括參數配置變量信息以及測試拓撲描述信息;所述測試設備通過執行主函數調用被選擇的測試例,對被測系統進行測試,所述測試例引用所述測試參數配置文件中的變量信息并根據所述測試拓撲描述信息引用被測設備的端口。
2、 根據權利要求1所述的自動化測試方法,其特征在于,所述生成測 試參數配置文件具體為在測試參數配置文件中定義測試所需參數配置變量, 并根據被測設備的連接關系生成測試拓樸描述信息。
3、 根據權利要求2所述的自動化測試方法,其特征在于,所述根據被 測設備的連接關系生成測試拓樸描述信息具體為根據所述被測設備與數據 網絡測試儀的端口連接關系以及各被測設備之間的端口連接關系生成表示所 述端口連接關系的的數據結構。
4、 根據權利要求3所述的自動化測試方法,其特征在于,所述數據結 構為三維數組。
5、 根據權利要求1所述的自動化測試方法,其特征在于,所述測試例 根據所述測試拓樸描述信息引用被測設備的測試端口具體為,所述測試例從 所述測試拓樸描述信息中選擇測試所需端口 ,并引用該端口 。
6、 根據權利要求5所述的自動化測試方法,其特征在于,所述測試例 從所述測試拓樸描述信息中選擇所需端口之前還包括,所述測試例判斷所述 測試拓樸描述信息是否滿足測試需求,若不滿足,則結束本測試例的測試流 程。
7、 根據權利要求1所述的自動化測試方法,其特征在于,所述測試設備通過執行測試主函數調用被選擇的測試例,對被測系統進行測試具體為, 所述測試設備執行主函數,加載參數配置文件,對被測設備初始化,并調用 測試例執行。
8、 根據權利要求7所述的自動化測試方法,其特征在于,所述測試例 為一個以上時,依次調用所述測試例。
9、 根據權利要求1所述的自動化測試方法,其特征在于,所述被測設 備間鏈路的初始狀態為關閉狀態,所述測試例在使用鏈路前先啟動該測試例 所需使用的鏈路。
10、 一種自動化測試系統,包括由至少一臺被測設備組成的被測系統, 其特征在于,所述系統還包括數據網絡測試儀,用于向所述被測設備發送測試幀并接收所述被測設備 返回的測試幀;測試設備,用于對所述被測系統進行配置;控制所述被測設備及數據網 絡測試儀;通過執行測試主函數調用測試程序封裝成的測試例對所述#:測系 統進行測試,引用測試參數配置文件記錄的參數配置變量以及根據測試拓樸 描述信息引用被測設備的端口 。
全文摘要
本發明涉及一種自動化測試方法,包括將測試程序封裝成測試例由主函數統一調用;搭建自動化測試系統;所述測試系統包括測試設備、數據網絡測試儀以及被測系統,所述被測系統包括至少一臺被測設備;生成測試參數配置文件并選擇需要執行的測試例,所述測試配置文件記錄的信息包括參數配置變量信息以及測試拓撲描述信息;所述測試設備通過執行主函數調用被選擇的測試例,對被測系統進行測試,所述測試例引用所述測試參數配置文件中的變量信息并根據所述測試拓撲描述信息引用被測設備的端口。本發明還涉及一種自動化測試系統。本發明實現了參數的統一配置,無需頻繁進行測試拓撲變換就能達到多個測試例順序執行。
文檔編號H04L12/24GK101110734SQ200710120729
公開日2008年1月23日 申請日期2007年8月24日 優先權日2007年8月24日
發明者奇 林 申請人:福建星網銳捷網絡有限公司