一種測試方法及裝置與流程
2023-10-20 08:01:37
本發明涉及集成測試技術領域,特別是涉及一種測試方法及裝置。
背景技術:
隨著城域網的快速發展以及業務的多樣化發展,網絡運營者對接入和匯聚網絡設備數量和帶寬需求與日俱增,同時要求在一個設備上集成實現的業務功能也越來越多。眾多的業務功能集於一體,客觀上增加了網絡設備研發的複雜性,也增加了研發過程中發生功能性故障的概率。為了保證產品質量,就要求研發人員在交付產品前對產品進行測試。
目前,網絡設備產品研發的軟體一般都是分層的和模塊化的,不同層面的軟體通過協商的接口進行函數調用。其中,晶片驅動代碼與上層業務軟體之間協商功能接口,上層業務軟體通過功能接口調用下層晶片驅動各個功能模塊,實現晶片的配置工作。對於晶片驅動研發人員來說,為了保證驅動各個功能模塊的質量,就需要對這些模塊進行測試。
傳統的測試方法要求每一個功能都要開發人員為該功能的接口編寫測試函數用例,通過運行這些用例來保證功能需求的正確性。傳統的測試方法效率較低,一體現在測試函數編寫上,需要研發人員花時間編寫、編譯和調試測試函數;二體現在這些測試函數的質量上,即如果這些函數測試覆蓋率不足,則會影響交付質量,一旦交付後產品出現故障,就要返工。
技術實現要素:
本發明的目的在於提供一種測試方法及裝置,用於解決現有技術中晶片驅動功能的測試方法效率低的問題。
為了實現上述目的,本發明實施例提供的一種系統測試方法,包括:
向被測設備發送腳本生成指令;
獲取所述被測設備返回的根據所述腳本生成指令以及業務功能配置信息得到的第一預設格式的配置信息文件,所述配置信息文件包括:晶片驅動的配置信息文件;
根據所述配置信息文件自動編譯生成第二預設格式的測試腳本配置文件;
根據所述測試腳本配置文件對所述被測設備進行測試。
其中,在向被測設備發送腳本生成指令之前,所述方法還包括:
向所述被測設備發送業務功能配置信息。
其中,所述根據所述配置信息文件自動編譯生成第二預設格式的測試腳本配置文件的步驟,包括:
對所述配置信息文件進行語法解析,得到第一配置解析信息;
將所述第一配置解析信息以一預設語法結構進行保存;
對按照所述預設語法結構保存的所述第一配置解析信息進行編譯,生成第二預設格式的測試腳本配置文件。
其中,所述根據所述測試腳本配置文件對所述被測設備進行測試的步驟,包括:
對所述測試腳本配置文件的內容進行解析,得到腳本配置數據流;
將所述腳本配置數據流發送至所述被測設備,對所述被測設備上的晶片進行業務功能配置。
本發明實施例還提供一種測試裝置,包括:
第一發送模塊,用於向被測設備發送腳本生成指令;
第一獲取模塊,用於獲取所述被測設備返回的根據所述腳本生成指令以及業務功能配置信息得到的第一預設格式的配置信息文件,所述配置信息文件包括:晶片驅動的配置信息文件;
編譯模塊,用於根據所述配置信息文件自動編譯生成第二預設格式的測試腳本配置文件;
測試模塊,用於根據所述測試腳本配置文件對所述被測設備進行測試。
其中,所述測試裝置還包括:
第二發送模塊,用於在向被測設備發送腳本生成指令之前,向所述被測設備發送業務功能配置信息。
其中,所述編譯模塊包括:
解析子模塊,用於對所述配置信息文件進行語法解析,得到第一配置解析信息;
信息保存子模塊,用於將所述第一配置解析信息以一預設語法結構進行保存;
編譯子模塊,用於對按照所述預設語法結構保存的所述第一配置解析信息進行編譯,生成第二預設格式的測試腳本配置文件。
其中,所述測試模塊包括:
腳本解析子模塊,用於對所述測試腳本配置文件的內容進行解析,得到腳本配置數據流;
測試子模塊,用於將所述腳本配置數據流發送至所述被測設備,對所述被測設備上的晶片進行業務功能配置。
本發明實施例還提供一種測試方法,包括:
獲取測試主機發送的腳本生成指令;
根據所述腳本生成指令對業務功能配置信息進行預處理,並返回第一預設格式的配置信息文件至所述測試主機;
獲取所述測試主機發送的腳本配置數據流;
根據所述腳本配置數據流對晶片進行業務功能配置。
其中,在獲取測試主機發送的腳本生成指令之前,所述方法還包括:
獲取所述測試主機發送的業務功能配置信息,並按照第三預設格式對所述業務功能配置信息進行記錄。
其中,根據所述腳本生成指令對業務功能配置信息進行預處理,並返回第一預設格式的配置信息文件至所述測試主機的步驟,包括:
根據所述腳本生成指令集合業務功能配置信息;
對所述業務功能配置信息進行格式轉換,得到第一預設格式的配置信息文件;
將所述第一預設格式的配置信息文件返回至所述測試主機。
其中,所述根據所述腳本配置數據流對晶片進行業務功能配置的步驟,包括:
對所述腳本配置數據流進行解析處理,得到晶片的接口配置參數;
根據所述接口配置參數調用相對應的晶片驅動接口函數,對所述晶片進行業務功能配置。
本發明實施例還提供一種測試裝置,包括:
第二獲取模塊,用於獲取測試主機發送的腳本生成指令;
預處理模塊,用於根據所述腳本生成指令對業務功能配置信息進行預處理,並返回第一預設格式的配置信息文件至所述測試主機;
第三獲取模塊,用於獲取所述測試主機發送的腳本配置數據流;
配置模塊,用於根據所述腳本配置數據流對晶片進行業務功能配置。
其中,所述測試裝置還包括:
第四獲取模塊,用於在獲取測試主機發送的腳本生成指令之前,獲取所述測試主機發送的業務功能配置信息,並按照第三預設格式對所述業務功能配置信息進行記錄。
其中,所述預處理模塊包括:
信息集合子模塊,用於根據所述腳本生成指令集合業務功能配置信息;
格式轉換子模塊,用於對所述業務功能配置信息進行格式轉換,得到第一預設格式的配置信息文件;
返回子模塊,用於將所述第一預設格式的配置信息文件返回至所述測試主機。
其中,所述配置模塊包括:
解析處理子模塊,用於對所述腳本配置數據流進行解析處理,得到晶片的接口配置參數;
配置子模塊,用於根據所述接口配置參數調用相對應的晶片驅動接口函數,對所述晶片進行業務功能配置。
本發明的上述技術方案的有益效果如下:
本發明的上述方案中,通過測試主機將被測設備上學習記錄的業務功能配置信息自動編譯生成測試腳本,實現對被測設備的晶片驅動功能的配置測試,使得測試可脫離業務命令行,實現晶片驅動功能的快速測試,提高測試效率,同時節省開發人員的大量自測時間。
附圖說明
圖1為本發明實施例的測試方法的基本步驟示意圖;
圖2為本發明實施例的測試裝置的組成結構示意圖;
圖3為本發明實施例的又一測試方法的基本步驟示意圖;
圖4為本發明實施例的又一測試裝置的組成結構示意圖;
圖5為本發明實施例的測試方法中測試腳本生成流程示意圖;
圖6為本發明實施例的測試方法中測試腳本測試流程示意圖;
圖7為圖5中主機測試平臺中專用編譯器的工作流程示意圖。
具體實施方式
為使本發明要解決的技術問題、技術方案和優點更加清楚,下面將結合附圖及具體實施例進行詳細描述。
本發明針對現有技術中晶片驅動功能的測試方法效率低的問題,提供一種系統測試方法,通過測試主機將被測設備上學習記錄的業務功能配置信息自動編譯生成測試腳本,實現對被測設備的晶片驅動功能的配置測試,使得測試可脫離業務命令行,實現晶片驅動功能的快速測試,提高測試效率,同時節省開發人員的大量自測時間。
第一實施例
如圖1所示,本發明實施例提供一種測試方法,應用於測試主機,包括:
步驟11,向被測設備發送腳本生成指令;
步驟12,獲取所述被測設備返回的根據所述腳本生成指令以及業務功能配置信息得到的第一預設格式的配置信息文件,所述配置信息文件包括:晶片驅動的配置信息文件;
這裡,業務功能配置信息已預先保存於被測設備中。
步驟13,根據所述配置信息文件自動編譯生成第二預設格式的測試腳本配置文件;
步驟14,根據所述測試腳本配置文件對所述被測設備進行測試。
本發明實施例的測試方法,通過測試主機自動編譯生成測試腳本,實現對 被測設備的晶片驅動功能的配置測試,使得測試可脫離業務命令行,實現晶片驅動功能的快速測試,提高測試效率,同時節省開發人員的大量自測時間。
進一步地,本發明實施例中步驟11在向被測設備發送腳本生成指令之前所述方法還可包括:
步驟10,向所述被測設備發送業務功能配置信息。
這裡,測試主機通過業務命令行將配置信息發送至被測設備,由被測設備學習記錄所述業務功能配置信息。
本發明實施例中所述步驟13可進一步包括:
步驟131,對所述配置信息文件進行語法解析,得到第一配置解析信息;
這裡,配置信息文件的文件格式為第一預設格式,可通過格式語法解析器來對配置信息文件進行語法解析。
步驟132,將所述第一配置解析信息以一預設語法結構進行保存;
需要說明的是,以一預設語法結構對第一配置解析信息進行保存,便於後續數據的分類保存。這裡,預設語法結構可以為樹狀結構,當然,不僅限於此結構。
步驟133,對按照所述預設語法結構保存的所述第一配置解析信息進行編譯,生成第二預設格式的測試腳本配置文件。
這裡,對第一配置解析信息進行腳本編譯的語言有多種,優選地,本發明實施例的腳本編譯語言為python腳本語言。
本發明實施例中所述步驟14可進一步包括:
步驟141,對所述測試腳本配置文件的內容進行解析,得到腳本配置數據流;
步驟142,將所述腳本配置數據流發送至所述被測設備,對所述被測設備上的晶片進行業務功能配置。
這裡,腳本配置文件的內容以腳本配置數據流的方式發送至被測設備,被測設備直接對數據流解析後對晶片進行測試配置。
這樣,被測設備無需提供額外的存儲空間存儲測試腳本,更不需要通過被測設備上運行該測試腳本。節省被測設備的存儲空間,且減輕被測設備的運行負擔,提高運行速度。
這裡需要說明的是,本發明實施例的測試方法可適用於嵌入式系統。
本發明實施例的測試方法,通過測試主機將被測設備上學習記錄的業務功能配置信息自動編譯生成測試腳本,實現對被測設備的晶片驅動功能的配置測試,使得測試可脫離業務命令行,實現晶片驅動功能的快速測試,提高測試效率,同時節省開發人員的大量自測時間。
第二實施例
如圖2所示,本發明實施例還提供一種測試裝置,應用於測試主機,包括:
第一發送模塊21,用於向被測設備發送腳本生成指令;
第一獲取模塊22,用於獲取所述被測設備返回的根據所述腳本生成指令以及業務功能配置信息得到的第一預設格式的配置信息文件,所述配置信息文件包括:晶片驅動的配置信息文件;
這裡,業務功能配置信息已預先保存於被測設備中。
編譯模塊23,用於根據所述配置信息文件自動編譯生成第二預設格式的測試腳本配置文件;
測試模塊24,用於根據所述測試腳本配置文件對所述被測設備進行測試。
進一步地,本發明實施例中所述測試裝置還包括:
第二發送模塊20,用於在向被測設備發送腳本生成指令之前,向所述被測設備發送業務功能配置信息。
這裡,測試主機通過業務命令行將配置信息發送至被測設備,由被測設備學習記錄所述業務功能配置信息。
具體地,本發明實施例中所述編譯模塊23還可包括:
解析子模塊,用於對所述配置信息文件進行語法解析,得到第一配置解析信息;
這裡,配置信息文件的文件格式為第一預設格式,可通過格式語法解析器來對配置信息文件進行語法解析。
信息保存子模塊,用於將所述第一配置解析信息以一預設語法結構進行保存;
需要說明的是,以一預設語法結構對第一配置解析信息進行保存,便於後續數據的分類保存。這裡,預設語法結構可以為樹狀結構,當然,不僅限於此 結構。
編譯子模塊,用於對按照所述預設語法結構保存的所述第一配置解析信息進行編譯,生成第二預設格式的測試腳本配置文件。
這裡,對第一配置解析信息進行腳本編譯的語言有多種,優選地,本發明實施例的腳本編譯語言為python腳本語言。
本發明實施例中所述測試模塊24可具體包括:
腳本解析子模塊,用於對所述測試腳本配置文件的內容進行解析,得到腳本配置數據流;
測試子模塊,用於將所述腳本配置數據流發送至所述被測設備,對所述被測設備上的晶片進行業務功能配置。
這裡,腳本配置文件的內容以腳本配置數據流的方式發送至被測設備,被測設備直接對數據流解析後對晶片進行測試配置。
這樣,被測設備無需提供額外的存儲空間存儲測試腳本,更不需要通過被測設備上運行該測試腳本。節省被測設備的存儲空間,且減輕被測設備的運行負擔,提高運行速度。
這裡需要說明的是,本發明實施例的測試裝置可適用於嵌入式系統。
本發明實施例的測試裝置,通過測試主機將被測設備上學習記錄的業務功能配置信息自動編譯生成測試腳本,實現對被測設備的晶片驅動功能的配置測試,使得測試可脫離業務命令行,實現晶片驅動功能的快速測試,提高測試效率,同時節省開發人員的大量自測時間。
第三實施例
如圖3所示,本發明實施例還提供一種測試方法,應用於被測設備,包括:
步驟31,獲取測試主機發送的腳本生成指令;
步驟32,根據所述腳本生成指令對業務功能配置信息進行預處理,並返回第一預設格式的配置信息文件至所述測試主機;
步驟33,獲取所述測試主機發送的腳本配置數據流;
這裡,腳本配置數據流可通過測試主機對測試腳本配置文件的內容解析得到。
步驟34,根據所述腳本配置數據流對晶片進行業務功能配置。
這裡,採用腳本配置數據流的方式對晶片進行業務功能配置,可使被測設備無需提供額外的存儲空間存儲測試腳本,更不需要通過被測設備上運行該測試腳本。節省被測設備的存儲空間,且減輕被測設備的運行負擔,提高運行速度。
本發明實施例的測試方法,通過測試主機發送的腳本配置數據流對被測設備的晶片驅動功能進行快速測試,使得測試可脫離業務命令行,提高了測試效率,同時節省開發人員的大量自測時間。
進一步地,本發明實施例中步驟31在獲取測試主機發送的腳本生成指令之前,所述測試方法還可包括:
步驟30,獲取所述測試主機發送的業務功能配置信息,並按照第三預設格式對所述業務功能配置信息進行記錄。
需說明的是,被測設備可通過接收業務命令行來獲取所述測試主機發送的業務功能配置信息,這裡,對業務功能配置信息的記錄可通過嵌入一段學習程序來實現。
本發明實施例中所述步驟32可進一步包括:
步驟321,根據所述腳本生成指令集合業務功能配置信息;
這裡,業務功能配置信息已預先保存於被測設備中。
步驟322,對所述業務功能配置信息進行格式轉換,得到第一預設格式的配置信息文件;
這裡,對所述業務功能配置信息進行格式轉換的目的是便於後續測試主機對業務功能配置信息進行測試腳本的編譯。
步驟323,將所述第一預設格式的配置信息文件返回至所述測試主機。
本發明實施例中所述步驟34可進一步包括:
步驟341,對所述腳本配置數據流進行解析處理,得到晶片的接口配置參數;
這裡需要說明的是,被測設備對所述腳本配置數據流進行解析處理,而不是在該被測設備上運行測試腳本後,得到晶片的接口配置參數,也就是說,被測設備無需提供額外的存儲空間存儲測試腳本,更不需要通過被測設備上運行該測試腳本。節省被測設備的存儲空間,且減輕被測設備的運行負擔,提高運 行速度。
步驟342,根據所述接口配置參數調用相對應的晶片驅動接口函數,對所述晶片進行業務功能配置。
這裡需要說明的是,本發明實施例的測試方法可適用於嵌入式系統。
本發明實施例的測試方法,通過測試主機發送的腳本配置數據流對被測設備的晶片驅動功能進行快速測試,使得測試可脫離業務命令行,提高了測試效率,同時節省開發人員的大量自測時間。
第四實施例
如圖4所示,本發明實施例還提供一種測試裝置,應用於被測設備,包括:
第二獲取模塊41,用於獲取測試主機發送的腳本生成指令;
預處理模塊42,用於根據所述腳本生成指令對業務功能配置信息進行預處理,並返回第一預設格式的配置信息文件至所述測試主機;
第三獲取模塊43,用於獲取所述測試主機發送的腳本配置數據流;
配置模塊44,用於根據所述腳本配置數據流對晶片進行業務功能配置。
這裡,配置模塊44中採用腳本配置數據流的方式對晶片進行業務功能配置,可使被測設備無需提供額外的存儲空間存儲測試腳本,更不需要通過被測設備上運行該測試腳本。節省被測設備的存儲空間,且減輕被測設備的運行負擔,提高運行速度。
進一步地,本發明實施例中所述測試裝置還包括:
第四獲取模塊40,用於在獲取測試主機發送的腳本生成指令之前,獲取所述測試主機發送的業務功能配置信息,並按照第三預設格式對所述業務功能配置信息進行記錄。
需說明的是,被測設備可通過接收業務命令行來獲取所述測試主機發送的業務功能配置信息,這裡,對業務功能配置信息的記錄可通過嵌入一段學習程序來實現。
具體地,本發明實施例中所述預處理模塊42可包括:
信息集合子模塊,用於根據所述腳本生成指令集合業務功能配置信息;
這裡,業務功能配置信息已預先保存於被測設備中。
格式轉換子模塊,用於對所述業務功能配置信息進行格式轉換,得到第一 預設格式的配置信息文件;
這裡,對所述業務功能配置信息進行格式轉換的目的是便於後續測試主機對業務功能配置信息進行測試腳本的編譯。
返回子模塊,用於將所述第一預設格式的配置信息文件返回至所述測試主機。
具體地,本發明實施例中所述配置模塊44可包括:
解析處理子模塊,用於對所述腳本配置數據流進行解析處理,得到晶片的接口配置參數;
這裡需要說明的是,被測設備對所述腳本配置數據流進行解析處理,而不是在該被測設備上運行測試腳本後,得到晶片的接口配置參數,也就是說,被測設備無需提供額外的存儲空間存儲測試腳本,更不需要通過被測設備上運行該測試腳本。節省被測設備的存儲空間,且減輕被測設備的運行負擔,提高運行速度。
配置子模塊,用於根據所述接口配置參數調用相對應的晶片驅動接口函數,對所述晶片進行業務功能配置。
這裡需要說明的是,本發明實施例的測試方法可適用於嵌入式系統。
本發明實施例的測試裝置,通過測試主機發送的腳本配置數據流對被測設備的晶片驅動功能進行快速測試,使得測試可脫離業務命令行,提高了測試效率,同時節省開發人員的大量自測時間。
第五實施例
如圖5所示,為本發明實施例中測試腳本生成示意圖,下面結合圖6,即測試腳本測試示意圖,詳細說明本發明測試方法的一具體實施過程。
這裡需要說明的是,本發明測試方法的執行主體為主機測試平臺01』和被測設備02』。
其中,主機測試平臺01』包括:業務命令行配置界面03』,腳本配置界面04』,命令解析器05』,測試腳本配置文件06』以及專用編譯器07』。
被測設備02』包括:上層業務程序08』,晶片驅動接口09』,晶片10』,學習程序11』,業務功能配置信息12』以及測試伺服器13』。具體步驟如下:
1)測試腳本生成
首先,主機測試平臺01』通過業務命令行配置界面03』進行業務功能配置;
也就是,測試人員通過輸入在業務命令行配置界面03』上輸入業務命令行向被測設備02』上的上層業務程序08』發送業務配置命令;
接著,被測設備02』上的上層業務程序08』接收到業務配置命令後進行驅動接口調用,同時,設置在上層業務程序08』與晶片驅動接口09』上的驅動接口程序之間的學習程序11』按照第三預設格式記錄業務功能配置信息,完成業務配置。
這裡,該學習程序11』可嵌入到上層業務程序08』與晶片驅動接口09』上的驅動接口程序之間。
然後,主機測試平臺01』通過腳本配置界面04』發送腳本生成指令至被測設備02』中的測試伺服器13』。
之後,被測設備02』的測試伺服器13』接收腳本生成指令後集合業務功能配置信息,並將業務功能配置信息轉換為第一預設格式的配置信息文件並返回到主機測試平臺01』。
最後,主機測試平臺01』中的專用編譯器07』對第一預設格式的配置信息文件進行自動編譯轉換,生成第三預設格式的測試腳本配置文件。
這裡,專用編譯器07』是測試腳本自動生成的關鍵,該編譯器的通過python腳本語言開發得到,實現了配置信息文件的格式語法解析和python命令腳本編譯。
具體的,專用編譯器07』,如圖7所示,首先,配置信息文件輸入到格式語法解析器14』,解析後的信息以特定語法樹狀結構保存;然後,python命令腳本編譯器15』根據語法樹狀結構中的信息進行編譯,最後,輸出python語言的測試腳本配置文件。
2)測試腳本測試
首先,主機測試平臺01』的測試腳本配置文件06』通過腳本配置界面04』將測試腳本配置內容輸入到命令解析器05』進行配置數據流的組建;
然後,命令解析器05』將配置數據流傳送到被測設備02』中的測試伺服器13』;
最後,測試伺服器13』收到配置數據流後解析出接口配置參數,並調用相 應的晶片驅動接口09』的接口函數,將配置下發到晶片10』相應的寄存器與表項中,完成了業務功能的配置。
這裡,需要說明的是,在生成測試腳本配置文件後,後續的被測設備上不再需要上層業務程序,也就是,本發明的測試方法可脫離命令行,通過測試腳本以配置數據流的方式快速實現被測設備的晶片驅動功能的測試。
本發明實施例的測試方法,通過測試主機將被測設備上學習記錄的業務功能配置信息自動編譯生成測試腳本,實現對被測設備的晶片驅動功能的配置測試,使得測試可脫離業務命令行,實現晶片驅動功能的快速測試,提高測試效率,同時節省開發人員的大量自測時間。
以上所述是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。