一種解除用例和環境緊耦合的方法、裝置和云調度系統的制作方法
【技術領域】
[0001]本發明涉及通信領域中的電信自動化測試技術,尤其涉及一種解除用例和環境緊耦合的方法、裝置和云調度系統。
【背景技術】
[0002]在電信設備自動化測試技術中,系統測試用例和具體被測試環境之間通常都是緊耦合的。而且,由于電信設備種類繁多,其組網場景更是復雜,有的組網場景中甚至包括10余種電信設備。當測試人員編寫測試用例時,就已經確定該用例將要在哪套環境上運行,具有較強的針對性。后續如果環境配置有所改變,原來的用例就需要按照新的配置進行修改。而且,用例中使用的環境數據也和具體環境強耦合,如:單板所在槽位,單板的IP地址等具體物理組網信息如果發生變化,那么測試人員必須修改用例并重新調試一次。因此,用例的可移植性很差,限制了設備自動化測試的靈活性和可操作性。
【發明內容】
[0003]為解決現有存在的技術問題,本發明實施例提供一種解除用例和環境緊耦合的方法、裝置和云調度系統。
[0004]本發明實施例提供了一種解除用例和環境緊耦合的方法,該方法包括:
[0005]周期掃描已存儲的測試任務,如果符合觸發條件,則觸發測試任務運行,并將測試任務中的用例置于等待隊列;
[0006]收到測試環境所發的用例請求后,將所述等待隊列中的用例所需求的資源與所述測試環境的物理資源進行匹配,如果所述測試環境的物理資源滿足所述用例的需求,則將所述等待隊列中的用例發送給所述測試環境。
[0007]其中,所述觸發條件包括但不限于如下任一種:
[0008]周期觸發條件、即時觸發條件和手動觸發條件。
[0009]其中,所述用例所需求的資源通過描述文件形式表示,所述測試環境的物理資源也通過描述文件形式表示;相應的,所述將所述等待隊列中的用例所需求的資源與所述測試環境的物理資源進行匹配,包括:
[0010]將所述用例的資源需求文件的內容與所述測試環境的物理組網描述文件的內容進行匹配。
[0011 ] 優選的,該方法還包括:
[0012]如果多個測試環境的物理資源均滿足所述用例的需求,則將所述等待隊列中的用例發送給最先發出用例請求的測試環境。
[0013]優選的,該方法還包括:
[0014]將無用例可執行的通知發送到后續發出用例請求的、且滿足用例的資源需求的測試環境。
[0015]優選的,該方法還包括:
[0016]在所述滿足用例的資源需求的測試環境上執行所述用例,并在測試完成后返回測試報告。
[0017]本發明實施例還提供了一種解除用例和環境緊耦合的裝置,該裝置包括:調度模塊、匹配模塊和消息分發模塊;其中,
[0018]所述調度模塊,用于周期掃描已存儲的測試任務,如果符合觸發條件,則觸發測試任務運行,并將測試任務中的用例置于等待隊列;收到所述匹配模塊的通知后,將所述等待隊列中的用例轉發給所述消息分發模塊;
[0019]所述匹配模塊,用于收到所述消息分發模塊的通知后,將所述等待隊列中的用例所需求的資源與所述測試環境的物理資源進行匹配,確定所述測試環境的物理資源滿足所述用例的需求時,通知所述調度模塊;
[0020]所述消息分發模塊,用于收到測試環境所發的用例請求后,通知所述匹配模塊;將所述調度模塊轉發的所述等待隊列中的用例發送給所述測試環境。
[0021]其中,所述匹配模塊,還用于確定多個測試環境的物理資源均滿足所述用例的需求時,通知所述調度模塊;相應的,
[0022]所述調度模塊,還用于收到所述匹配模塊的通知后,將所述等待隊列中的用例轉發給所述消息分發模塊;
[0023]所述消息分發模塊,還用于將所述調度模塊轉發的所述等待隊列中的用例發送給最先發出用例請求的測試環境。
[0024]其中,所述匹配模塊,還用于將無用例可執行的通知發送到所述消息分發模塊;相應的,
[0025]所述消息分發模塊,還用于將所述無用例可執行的通知發送到后續發出用例請求的、且滿足用例的資源需求的測試環境。
[0026]優選的,該裝置還包括:環境代理器,用于通過所述消息分發模塊向所述匹配模塊轉發所述測試環境所發的用例請求。
[0027]優選的,所述環境代理器,還用于在所述滿足用例的資源需求的測試環境上執行所述用例,并在測試完成后,將測試報告通過所述消息分發模塊返回給所述調度模塊。
[0028]其中,該裝置還包括:存儲模塊,用于存儲和管理包括用例的測試任務。
[0029]本發明實施例還提供了一種云調度系統,該系統包括:上文所述的裝置。
[0030]本發明實施例提供的解除用例和環境緊耦合的方法、裝置和云調度系統,周期掃描已存儲的測試任務,如果符合觸發條件,則觸發測試任務運行,并將測試任務中的用例置于等待隊列;收到測試環境所發的用例請求后,將所述等待隊列中的用例所需求的資源與所述測試環境的物理資源進行匹配,如果所述測試環境的物理資源滿足所述用例的需求,則將所述等待隊列中的用例發送給所述測試環境。本發明實施例使得同一個測試用例可在滿足用例資源需求條件的多個測試環境上執行測試,而不只是執行在某一個具體的環境上。同時,即使測試環境中的物理配置發生變化,如:即使單板的IP地址發生變化,但只要測試環境滿足用例的資源需求就可保證用例仍然可以正常運行,提高了用例的可移植性。
【附圖說明】
[0031]在附圖(其不一定是按比例繪制的)中,相似的附圖標記可在不同的視圖中描述相似的部件。具有不同字母后綴的相似附圖標記可表示相似部件的不同示例。附圖以示例而非限制的方式大體示出了本文中所討論的各個實施例。
[0032]圖1為本發明實施例所述解除用例和環境緊耦合的方法實現流程圖;
[0033]圖2為本發明實施例所述基本連接組網圖;
[0034]圖3為本發明實施例所述帶備份鏈路的連接組網圖;
[0035]圖4為本發明實施例所述解除用例和環境緊耦合的裝置結構示意圖;
[0036]圖5為本發明實施例所述云調度系統的結構示意圖;
[0037]圖6為本發明實施例所述觸發條件為周期觸發時的解除用例和環境緊耦合的方法實現流程圖;
[0038]圖7為本發明實施例所述觸發條件為即時觸發時的解除用例和環境緊耦合的方法實現流程圖。
【具體實施方式】
[0039]本發明的實施例中,周期掃描已存儲的測試任務,如果符合觸發條件,則觸發測試任務運行,并將測試任務中的用例置于等待隊列;收到測試環境所發的用例請求后,將所述等待隊列中的用例所需求的資源與所述測試環境的物理資源進行匹配,如果所述測試環境的物理資源滿足所述用例的需求,則將所述等待隊列中的用例發送給所述測試環境,以執行后續的用例測試操作。
[0040]下面結合附圖及具體實施例對本發明作進一步詳細說明。
[0041]圖1為本發明實施例所述解除用例和環境緊耦合的方法實現流程圖,如圖1所示,該方法包括:
[0042]步驟101:周期掃描已存儲的測試任務,如果符合觸發條件,則觸發測試任務運行,并將測試任務中的用例置于等待隊列;
[0043]具體的,對已存儲的測試任務進行周期掃描,如:1分鐘掃描一次,如果符合觸發條件,則觸發所述測試任務開始運行,并將所述測試任務中的用例置于等待隊列中。
[0044]其中,所述觸發條件包括但不限于如下任一種:
[0045]周期觸發條件、即時觸發條件和手動觸發條件。
[0046]其中,所述周期觸發的時間可以設置為每天觸發,可以每隔幾個小時或幾天觸發,也可以指定一周中的某一天觸發。
[0047]在實際應用過程中,所述周期觸發條件,如:每天2點測試日構建版本;所述即時觸發條件,如:有新代碼合入生成規格包時觸發。
[0048]步驟102:收到測試環境所發的用例請求后,將所述等待隊列中的用例所需求的資源與所述測試環境的物理資源進行匹配;
[0049]具體的,所述測試環境在空閑時,即:所述測試環境不運行測試用例時,會發送用例請求;收到測試環境所發的用例請求后,將所述等待隊列中的用例所需求的資源與所述測試環境的物理資源進行匹配。
[0050]其中,所述用例所需求的資源通過描述文件形式表示,例如:用例的資源需求文件;所述測試環境的物理資源也可通過描述文件形式表示,例如:測試環境的物理組網描述文件。相應的,所述匹配操作即為:將所述用例的資源需求文件內容與所述測試環境的物理組網描述文件內容進行匹配。
[0051]步驟103:如果所述測試環境的物理資源滿足所述用例的需求,則將所述等待隊列中的用例發送給所述測試環境。
[0052]這里,假設存在兩個測試環境,如圖2和圖3所示,圖2和圖3所示的測試環境中各包括兩臺設備,且每個設備的IP地址均不相同。其中,圖2為基本連接的組網圖,S卩:兩個設備之間只有一條鏈路;而圖3為帶備份鏈路的連接組網圖,即:兩個設備之間存在兩條鏈路。因此,如果所述用例所需求的資源為:需要一條鏈路進行測試,那么