本發明屬于電力系統自動化領域,具體涉及一種開放式soa面向服務架構的測試方法及系統。
背景技術:
特大電網的安全運行需要各級控制中心能具備快速的感知能力,具備強大地快速獲取各類數據的能力。同時,電網自動化領域各系統支撐的應用類型及業務部門逐步擴大,系統數據服務對象逐步增加,計算分析類功能將逐步全面在線化的趨勢,導致系統間存在著大量的數據交互。
目前電力調度系統中現有的soa產品都是相對封閉的且主要應用于局域網內部的服務訪問和管理。而開放式soa的應用,能夠有效的改善現有調度系統數據接入方式所帶來的不足,充分利用現有網絡資源,滿足調度自動化系統不斷擴大的業務數據需求。然而電力系統開放式soa產品剛剛起步,雖然有著相關標準和互操作實驗的支撐,但是隨著未來廣域環境下異構環境的數據服務接入,以及各類業務服務實時訪問和管理需求的增加,對于開放式soa產品的穩定性和安全性提出了更高的要求。
現有技術中存在尚未有對開放式soa的包括穩定性、安全性等提出全面測試的問題。
技術實現要素:
本發明為了克服上述缺陷,提出一種開放式soa面向服務架構的測試方法及系統,可對基于調度數據網開放環境下的開放式soa產品的不同階段進行分層校驗和測試,并通過流程化的報告和日志為后續的修改和調試提供依據。
本發明的目的是采用下述技術方案實現的:
一種開放式soa面向服務架構的測試方法,包括:
將soa標準符合性測試模塊和被測系統劃分為多個層級;
soa標準符合性測試模塊基于每個層級的測試標準和規范對所述被測系統相應層級進行測試。
優選的,所述被測系統包括客戶端api和服務端api;
針對所述客戶端api,所述soa標準符合性測試模塊根據每個層級相應的測試標準和規范對所述客戶端api相應層級的客戶端關鍵節點數據進行校驗;
針對所述服務端api,所述soa標準符合性測試模塊根據每個層級相應的測試標準和規范針對所述服務端api相應層級的服務端關鍵節點數據進行分析測試,并與所述層級的客戶端關鍵節點數據進行比對,形成測試結果。
生成所述客戶端關鍵節點數據包括:依據相應層級的測試標準和規范生成客戶端關鍵節點數據;
生成所述服務端關鍵節點數據包括:依據相應層級的測試標準和規范生成服務端關鍵節點數據。
優選的,將soa標準符合性測試模塊和被測系統劃分為多個層級,具體包括
將所述被測系統的客戶端api劃分為編碼層,規約層,應用層和傳輸層,將所述被測系統的服務端劃分為解碼層,規約層,應用層和傳輸層;
所述編碼層,是對交互數據進行數據編碼的功能;
所述規約層,是對編碼后的數據形成并添加交互規約相關描述的功能;
所述應用層,是在上述數據基礎上添加業務應用需求相關描述的功能;
所述傳輸層,是在客戶端api和服務端api之間通過soa傳輸管理進行數據傳輸和和交換的功能;
所述解碼層,將數據進行解碼的功能;
將所述soa標準符合性測試模塊劃分為編碼符合性測試、規約符合性測試、應用功能測試和異常測試;
所述客戶端關鍵節點數據包括:所述編碼層形成的關鍵節點為a1;所述規約層形成的關鍵節點為a2;所述應用層形成的關鍵節點為a3;所述傳輸層形成的關鍵節點為a4;
所述服務端關鍵節點數據:所述解碼層形成的關鍵節點為b0;所述規約層形成的關鍵節點為b1;所述應用層形成的關鍵節點為b2;所述傳輸層形成的關鍵節點為b3。
所述客戶端api接收的服務請求為數據a0;
所述編碼符合性測試用于提取數據關鍵節點a1的數據,根據輸入數據a0按照編碼規范進行數據編碼后,所得結果與關鍵節點a1進行比對,驗證soa客戶端api編碼層對于編碼規范的標準符合性;
所述規約符合性測試用于提取關鍵節點a2的數據,根據soa架構內部通信規約進行規約信息校驗,驗證soa客戶端api規約層對于內部通信規約的標準符合性;
所述應用功能測試用于提取關鍵節點a3數據,根據soa特定業務需求或服務模式的應用服務請求對其進行分析測試,同時與關鍵節點a2數據進行比對形成應用功能信息符合性測試結果;
當所述soa標準符合性測試模塊針對所述服務端api進行測試時:
所述應用功能測試用于提取關鍵節點b3的數據,通過分析測試經過傳輸層解析后的數據,并與a3的數據進行比對,形成應用功能一致性測試結果;
所述規約符合性測試用于提取關鍵節點b2的數據,通過分析測試所述數據包經過應用層解析后的數據,并與a2數據進行比對,形成規約一致性測試結果;
所述編碼符合性測試用于提取關鍵節點b1和b0數據,通過分析測試所述數據包經過規約層解析后的服務請求數據,并與a1的數據進行比對,形成編解碼一致性測試結果。
優選的,還包括判斷測試角色,所述測試角色包括:客戶端開發者、服務端開發者或soa開發者中的任意組合;
當測試角色為客戶端開發者和服務端開發者時,所述層級包括但不限于:功能層和傳輸層;當測試角色為soa開發者時,所述層級包括但不限于:編碼層、規約層。
優選的,所述soa標準符合性測試模塊還包括對從所述客戶端api傳輸到所述服務端api的數據進行測試,包括:
數據從所述客戶端api傳輸到所述服務端api時生成關鍵節點b4;
針對所述客戶端和服務端,所述異常測試提取關鍵節點a4和b4的數據,采用模擬網絡傳輸中的各種異常情況,對soa傳輸管理處理和恢復異常的能力進行分析和測試,并對關鍵節點a4和b4的數據進行比對形成異常測試處理結果。
本發明還提供一種開放式soa面向服務架構的測試系統,包括:soa標準符合性測試模塊、層級管理模塊;
所述層級管理模塊用于將soa標準符合性測試模塊和被測系統劃分為多個層級;
所述soa標準符合性測試模塊的每個層級根據本層的測試標準和規范對被測系統相應層級進行測試。
所述被測系統包括客戶端api和服務端api;
針對所述客戶端api,所述soa標準符合性測試模塊用于:根據所述soa標準符合性測試模塊的每個層級相應的測試標準和規范對所述客戶端api相應層級的客戶端關鍵節點數據進行校驗;
針對所述服務端api,所述soa標準符合性測試模塊用于:根據所述soa標準符合性測試模塊每個層級針對所述服務端api相應層級的服務端關鍵節點數據進行分析測試,并與所述層級的客戶端關鍵節點數據進行比對,形成測試結果。
所述層級管理模塊將所述被測系統的客戶端api劃分的多個層級包括:編碼層,規約層,應用層和傳輸層,將所述被測系統的服務端api劃分的多個層級包括:解碼層,規約層,應用層和傳輸層;
所述soa標準符合性測試模塊包括編碼符合性測試模塊、規約符合性測試模塊、應用功能測試模塊和異常測試模塊;
所述編碼符合性測試模塊用于對所述編/解碼層測試,所述規約符合性測試模塊用于對所述規約層測試,所述應用功能測試模塊用于對所述應用層測試,所述異常測試模塊用于對傳輸層測試。
優選的,還包括關鍵節點管理模塊,包括:
針對所述客戶端api:所述編碼層形成的關鍵節點為a1;所述規約層形成的關鍵節點為a2;所述應用層形成的關鍵節點為a3;所述傳輸層形成的關鍵節點為a4;
針對所述服務端api:所述解碼層形成的關鍵節點為b0;所述規約層形成的關鍵節點為b1;所述應用層形成的關鍵節點為b2;所述傳輸層形成的關鍵節點為b3;
所述soa標準符合性測試模塊的每層級根據所述層級的測試標準和規范對所述關鍵節點進行驗證。
針對所述客戶端:
所述編碼符合性測試模塊用于提取數據關鍵節點a1的數據,根據輸入數據a0按照編碼規范進行數據編碼后,所得結果與關鍵節點a1進行比對,驗證soa客戶端api編碼層對于編碼規范的標準符合性;
所述規約符合性測試模塊用于提取關鍵節點a2的數據,根據soa架構內部通信規約進行規約信息校驗,驗證soa客戶端api規約層對于內部通信規約的標準符合性;
所述應用功能測試模塊用于提取關鍵節點a3數據,根據soa特定業務需求或服務模式的應用服務請求對其進行分析測試,同時與關鍵節點a2數據進行比對形成應用功能信息符合性測試結果;
針對所述服務端:
所述應用功能測試模塊用于提取關鍵節點b3的數據,通過分析測試經過傳輸層解析后的數據,并與a3的數據進行比對,形成應用功能一致性測試結果;
所述規約符合性測試模塊用于提取關鍵節點b2的數據,通過分析測試所述數據包經過應用層解析后的數據,并與a2數據進行比對,形成規約一致性測試結果;
所述解碼符合性測試模塊用于提取關鍵節點b1和b0數據,通過分析測試所述數據包經過規約層解析后的服務請求數據,并與a1的數據進行比對,形成編解碼一致性測試結果。
與最接近的現有技術比,本發明的有益效果為:
本發明提供的開放式soa面向服務架構的測試方法,將soa標準符合性測試模塊和被測系統劃分為多個層級,可適應soa架構中不同的標準規范測試需求。soa標準符合性測試模塊基于每個層級的測試標準和規范對所述被測系統相應層級進行測試,具備較高的靈活性和通用性,滿足soa架構中的服務數據交互、性能和異常處理能力的全面校驗。
本發明提供的測試系統,包括soa標準符合性測試模塊、測試結果生成模塊、傳輸模塊和至少兩個角色;所述角色根據所述層級生成或解析相應的關鍵節點;角色間通過所述傳輸模塊進行數據交互;
所述soa標準符合性測試模塊包括多個層級,所述每個層級用于針對不同的測試標準和規范進行測試,包括:關鍵節點生成單元、關鍵節點解析單元和測試單元;
基于以上測試系統對soa架構中的服務數據交互流程、soa架構性能和異常處理能力等進行了全面的評判。該測試系統通過提取關鍵節點的方式,不直接對數據交互流程進行干預,因此不會對正常的數據通信流程產生影響;
所述測試單元用于針對不同層級進行測試通過確定開放式soa面向服務架構各層級包含的關鍵節點;調用測試用例對關鍵節點的數據進行soa標準符合性測試,最終獲得開放式soa面向服務架構各層級的測試結果。采用測試用例的方式,可適應soa架構中不同的標準規范測試需求,具有良好的通用性和適應性;有效支撐電網數據服務的安全穩定運行。可對基于調度數據網開放環境下的開放式soa產品的不同層級進行分層校驗和測試,提高服務請求者和服務提供者對于開放式soa產品的標準符合性,大大縮短了開放式soa產品及相關應用的投入周期,保證了開放式soa產品的穩定性和安全性。
附圖說明
圖1為本發明實施例提供的開放式soa面向服務架構測試系統結構示意圖;
具體實施方式
下面結合附圖對本發明的具體實施方式作進一步詳細的說明。
本發明涉及一種開放式soa面向服務架構的測試系統和方法,通過確定開放式soa面向服務架構各層級包含的關鍵節點;調用測試用例對關鍵節點的數據進行soa標準符合性測試,最終獲得開放式soa面向服務架構各層級的測試結果。基于以上測試系統對soa架構中的服務數據交互流程、soa架構性能和異常處理能力等進行了全面的評判。該測試系統包括soa標準符合性測試模塊、測試結果生成模塊、傳輸模塊和至少兩個角色;角色間通過所述傳輸模塊進行數據交互;所述角色根據所述層級生成或解析相應的關鍵節點;
soa標準符合性測試模塊包括多個層級,每個層級用于針對不同的測試標準和規范進行測試,包括:關鍵節點生成單元、關鍵節點解析單元和測試單元;
測試單元用于針對不同層級進行測試。
測試單元包括測試用例,測試用例存儲于對應的測試集中,不同的測試用例用于針對不同層級進行測試記錄并形成測試報告。
角色包括客戶端角色和服務端角色;其中,
客戶端角色用于根據所述層級生成相應層級的關鍵節點;
服務端角色用于根據所述層級解析相應層級的關鍵節點。
所述層級包括編碼層,規約層,應用層和傳輸層;
所述客戶端角色根據所述編碼層生成關鍵節點a1;
所述客戶端角色根據所述規約層生成關鍵節點a2;
所述客戶端角色根據所述應用層生成關鍵節點a3;
所述客戶端角色根據所述傳輸層用于生成關鍵節點a4;
所述客戶端角色通過所述傳輸模塊將數據傳輸給所述服務端角色;
所述服務端角色對所述編碼層進行解析得到關鍵節點b1;
所述服務端角色對所述編碼層進行解析得到關鍵節點b2:
所述服務端角色對所述規約層進行解析得到關鍵節點b3:
所述服務端角色對所述應用層進行解析得到關鍵節點b4。
編碼層的測試用例為編碼符合性測試,所述規約層測試用例為規約符合性測試,所述應用層測試用例為應用功能測試;
編碼符合性測試用于提取數據關鍵節點a1的數據,根據原始關鍵節點a0按照編碼規范進行數據編碼后,所得結果與關鍵節點a1進行比對,驗證soa客戶端api編碼層對于編碼規范的標準符合性;
規約符合性測試提取關鍵節點a2的數據,根據soa架構內部通信規約進行規約信息校驗,驗證soa客戶端api規約層對于內部通信規約的標準符合性;通信規約包括:遠動的104、476規約、消息總線和電力系統通用服務協議規范;
應用功能測試提取關鍵節點a3數據,根據soa特定業務需求或服務模式的應用服務請求對其進行分析測試,同時與關鍵節點a2數據進行比對形成應用功能信息符合性測試結果;
異常測試提取關鍵節點a4和b4的數據,采用模擬網絡傳輸中的各種異常情況,對soa傳輸管理處理和恢復異常的能力進行分析和測試,并對關鍵節點a4和b4的數據進行比對形成異常測試處理結果;
應用功能測試提取關鍵節點b3的數據,通過分析測試經過傳輸層解析后的服務請求數據,并與a3的數據進行比對,形成應用功能一致性測試結果;
規約符合性測試提取關鍵節點b2的數據,通過分析測試經過應用層解析后的服務請求數據,并與a2數據進行比對,形成規約一致性測試結果;
編碼符合性測試提取關鍵節點b1和b0數據,通過分析測試經過規約層解析后的服務請求數據,并與a1的數據進行比對,形成編解碼一致性測試結果。
服務服務請求數據:如pc定位者rpclocator,事件日志eventlog,dhcpclient,;軟件服務softwareservice,如分布式服務distributionservice,警告服務alertservice安全服務securityservice,日志服務;業務服務businessservice,如帳號和客戶服務,銷售服務,訂單服務,采購服務等數據。
soa標準符合性測試包括編碼符合性測試、規約符合性測試、應用功能測試和異常測試;其測試方法包括單一數據標準符合性校驗和雙端數據一致性校驗;單一數據標準符合性校即在數據交互過程中可保證不中斷運行的前提下,選取關鍵節點對應的測試集,調用其包含的測試用例實時對各層級的關鍵節點的數據進行測試;雙端數據一致性校驗,是等待接收端成功接收服務訪問請求,及整個數據交互結束后,對關鍵節點對應層級的關鍵節點數據進行測試。
編碼符合性測試中,若使用asn.1編碼,則調用編碼符合性測試子集中對應的asn.1編碼測試用例,若使用電力系統模型數據動態消息編碼,則調用編碼符合性測試集中對應的動態消息編碼測試用例進行測試;
規約符合性測試包括:調用傳統遠動的104、476規約、消息總線和電力系統通用服務協議規范用例進行測試;可針對不同規約進行測試用例的替換;
應用功能測試包括:調用并發測試、壓力測試以及雪崩測試用例進行測試;
異常測試包括:調用采用網絡堵塞、延遲、丟包以及冗余包等異常或擾動測試用例進行測試。
本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產品的形式。
本申請是參照根據本申請實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
最后應當說明的是:以上實施例僅用以說明本申請的技術方案而非對其保護范圍的限制,盡管參照上述實施例對本申請進行了詳細的說明,所屬領域的普通技術人員應當理解:本領域技術人員閱讀本申請后依然可對申請的具體實施方式進行種種變更、修改或者等同替換,這些變更、修改或者等同替換,其均在其申請待批的權利要求范圍之內。