專利名稱:一種用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件領(lǐng)域,具體涉及一種用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范。
背景技術(shù):
隨著對(duì)軟件測(cè)試重視度的提高,國(guó)內(nèi)軟件測(cè)試技術(shù)發(fā)展突飛猛進(jìn),逐漸從單純的手工測(cè)試向自動(dòng)化測(cè)試與手工測(cè)試結(jié)合的方向發(fā)展。自動(dòng)化測(cè)試主要是通過(guò)所開(kāi)發(fā)的測(cè)試工具與編寫(xiě)測(cè)試腳本來(lái)實(shí)現(xiàn),具有良好的可操作性、重復(fù)性和高效率等特點(diǎn)。它解決了在手動(dòng)測(cè)試過(guò)程中無(wú)法覆蓋所有代碼路徑;簡(jiǎn)單的功能性測(cè)試必須進(jìn)行每輪測(cè)試;在進(jìn)行系統(tǒng)壓力、性能測(cè)試時(shí),需要模擬大量數(shù)據(jù)或大量并發(fā)用戶等各種應(yīng)用場(chǎng)合的問(wèn)題。在自動(dòng)化測(cè)試過(guò)程中,應(yīng)用恰當(dāng)?shù)臏y(cè)試工具,可以加快測(cè)試進(jìn)度,提高測(cè)試質(zhì)量, 實(shí)現(xiàn)更快、更好地開(kāi)發(fā)軟件產(chǎn)品的目標(biāo)。一般,測(cè)試工具分為通用測(cè)試工具和專用測(cè)試工具,通用測(cè)試工具主要有測(cè)試框架軟件、錄制回放軟件等工具,專用測(cè)試工具主要是針對(duì)具體產(chǎn)品特別設(shè)計(jì)和開(kāi)發(fā)的工具,如監(jiān)控產(chǎn)品測(cè)試中用到的日志搜集工具、視頻圖像收集工具和串口云臺(tái)控制工具等。以上所提到的測(cè)試工具都是單獨(dú)輔助執(zhí)行自動(dòng)化測(cè)試,但是在監(jiān)控產(chǎn)品自動(dòng)化測(cè)試過(guò)程中需要同時(shí)啟動(dòng)多個(gè)測(cè)試工具,分別進(jìn)行不同的操作,例如,運(yùn)行自動(dòng)化腳本,需要日志搜集工具每隔一段時(shí)間將日志搜集一次,在啟動(dòng)實(shí)況時(shí),又需要視頻圖像搜集工具,進(jìn)行實(shí)況抓拍,保存抓拍后的圖像。集中控制多個(gè)測(cè)試工具并行工作在監(jiān)控產(chǎn)品自動(dòng)化測(cè)試環(huán)境中變得越來(lái)越重要。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范,將通信規(guī)范應(yīng)用于自動(dòng)化測(cè)試環(huán)境,實(shí)現(xiàn)了自動(dòng)運(yùn)行腳本和搜集日志兩個(gè)主要功能。一種用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范,測(cè)試工具與中心控制模塊進(jìn)行通信,首先經(jīng)過(guò)注冊(cè),然后與中心控制模塊建立TCP通信,最后進(jìn)行用戶界面具體命令的交互。1)中心控制模塊注冊(cè)過(guò)程設(shè)計(jì)
中心控制模塊在注冊(cè)過(guò)程中一方面接收各個(gè)測(cè)試工具發(fā)送的注冊(cè)報(bào)文,通過(guò)收到測(cè)試工具的注冊(cè)報(bào)文對(duì)該測(cè)試工具進(jìn)行控制;一方面接收到注冊(cè)報(bào)文后,給測(cè)試工具發(fā)送注冊(cè)響應(yīng)報(bào)文,通知測(cè)試工具中心控制模塊的存在,方便測(cè)試工具進(jìn)行下一步操作;另一方面, 為避免因測(cè)試工具異常退出后,中心控制模塊仍舊繼續(xù)發(fā)送通信命令,中心控制模塊每隔 1 檢查一次測(cè)試工具注冊(cè)登記表,及時(shí)更新注冊(cè)登記表中測(cè)試工具狀況。一.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
中心控制模塊接收到測(cè)試工具發(fā)送的注冊(cè)報(bào)文后,分析注冊(cè)報(bào)文,將注冊(cè)報(bào)文中攜帶的信息項(xiàng)存儲(chǔ)到注冊(cè)登記表中,在之后的通信過(guò)程中中心控制模塊就可以通過(guò)注冊(cè)登記表根據(jù)測(cè)試工具ID號(hào)方便地讀取和修改測(cè)試工具信息。注冊(cè)登記表中記錄著已注冊(cè)過(guò)的測(cè)試工具的測(cè)試工具編號(hào)(ID)、測(cè)試工具類型名(TypeName )、測(cè)試工具所在PC機(jī)的IP地 Jrit(IpAddress), UDP 端口號(hào)(UdpPort)、最新注冊(cè)時(shí)間(UpdateTime)、TCP 客戶端 Socket (TCPClient)這六項(xiàng)信息。二. XML注冊(cè)響應(yīng)報(bào)文設(shè)計(jì)
中心控制模塊在發(fā)送注冊(cè)響應(yīng)報(bào)文之前,先要生成XML注冊(cè)響應(yīng)報(bào)文,報(bào)文中攜帶中心控制模塊的相關(guān)信息和發(fā)送時(shí)間。三.中心控制模塊注冊(cè)過(guò)程設(shè)計(jì)
中心控制模塊的注冊(cè)過(guò)程分為三個(gè)部分,分別是接收注冊(cè)報(bào)文、發(fā)送注冊(cè)響應(yīng)報(bào)文、 循環(huán)檢查注冊(cè)登記表。四.接收注冊(cè)報(bào)文流程設(shè)計(jì)
中心控制模塊啟動(dòng)后,首先加入約定好的組播組中并綁定組播端口,然后在組播端口上接收注冊(cè)報(bào)文,收到注冊(cè)報(bào)文后,分析該注冊(cè)報(bào)文,判斷測(cè)試工具的ID號(hào)是否已經(jīng)存在于注冊(cè)登記表中,如果存在,只需修改“最新注冊(cè)時(shí)間”;如果不存在,就添加該測(cè)試工具的相關(guān)信息項(xiàng)。接著發(fā)送注冊(cè)響應(yīng)報(bào)文。五.發(fā)送注冊(cè)響應(yīng)報(bào)文流程設(shè)計(jì)
中心控制模塊接收注冊(cè)報(bào)文,修改注冊(cè)登記表之后,為了讓測(cè)試工具知道自己的存在, 必須向測(cè)試工具發(fā)送注冊(cè)響應(yīng)報(bào)文。該過(guò)程使用UDP單播發(fā)送注冊(cè)響應(yīng)報(bào)文。中心控制模塊首先開(kāi)啟UDP單播,然后生成XML注冊(cè)響應(yīng)報(bào)文,接著向接收到注冊(cè)報(bào)文的測(cè)試工具發(fā)送注冊(cè)響應(yīng)報(bào)文,最后關(guān)閉UDP單播。六.檢查注冊(cè)登記表流程設(shè)計(jì)
注冊(cè)登記表中的內(nèi)容記錄了正在與中心控制模塊進(jìn)行通信的測(cè)試工具的信息,當(dāng)測(cè)試工具正常退出或異常停止后,中心控制模塊就不再需要繼續(xù)與測(cè)試工具保持通信關(guān)系,這時(shí)可以將退出的測(cè)試工具從注冊(cè)登記表中刪除。所以每隔1 檢查注冊(cè)登記表各測(cè)試工具 ID對(duì)應(yīng)的UpdateTime,如果當(dāng)前時(shí)間與該時(shí)間之差大于15s,就認(rèn)為測(cè)試工具已停止運(yùn)行, 將此測(cè)試工具對(duì)應(yīng)的表項(xiàng)刪除。2)測(cè)試工具注冊(cè)過(guò)程設(shè)計(jì)
測(cè)試工具在注冊(cè)過(guò)程中,主要負(fù)責(zé)三方面的任務(wù)
1.發(fā)送注冊(cè)報(bào)文,為確保中心控制模塊在整個(gè)通信過(guò)程中處于運(yùn)行狀態(tài),每隔k發(fā)送一次注冊(cè)報(bào)文;
2.接收注冊(cè)響應(yīng)報(bào)文,一方面測(cè)試工具通過(guò)注冊(cè)響應(yīng)報(bào)文了解中心控制模塊的IP地址和TCP端口號(hào),另一方面測(cè)試工具接收到注冊(cè)響應(yīng)報(bào)文就表示中心控制模塊仍在運(yùn)行, 可以繼續(xù)進(jìn)行通信;
3.檢測(cè)中心控制模塊是否存在,測(cè)試工具自收到第一個(gè)注冊(cè)響應(yīng)報(bào)文,此后每隔1 判斷一次注冊(cè)響應(yīng)報(bào)文數(shù)量是否增加。一.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
測(cè)試工具接收到注冊(cè)響應(yīng)報(bào)文后,將報(bào)文中的中心控制模塊信息記錄到信息表中, 便于在后續(xù)的通信中讀取中心控制模塊的相關(guān)信息。信息表中包括了中心控制模塊編號(hào) (ServerID)、日志服務(wù)器編號(hào)(LogkrverlD)、中心控制模塊TCP端口號(hào)(ServerTcpPort)這三項(xiàng)內(nèi)容。二. XML注冊(cè)報(bào)文設(shè)計(jì)
測(cè)試工具在發(fā)送注冊(cè)報(bào)文前,先要生成XML注冊(cè)報(bào)文,攜帶自己的ID編號(hào)、測(cè)試工具類型名、測(cè)試工具所在PC機(jī)的IP地址、UDP端口號(hào)和發(fā)送時(shí)間信息,然后再進(jìn)行發(fā)送。三.測(cè)試工具注冊(cè)過(guò)程設(shè)計(jì)
上面介紹了測(cè)試工具在注冊(cè)過(guò)程中負(fù)責(zé)三方面的任務(wù),分別是發(fā)送注冊(cè)報(bào)文、接收注冊(cè)響應(yīng)報(bào)文和檢測(cè)中心控制模塊是否存在。四.發(fā)送注冊(cè)報(bào)文流程設(shè)計(jì)
測(cè)試工具啟動(dòng)后,首先加入約定好的組播組中,接著生成XML注冊(cè)報(bào)文,然后向約定好的組播端口發(fā)送注冊(cè)報(bào)文。這個(gè)過(guò)程每隔k執(zhí)行一次。五.接收注冊(cè)響應(yīng)報(bào)文流程設(shè)計(jì)
測(cè)試工具發(fā)送完注冊(cè)報(bào)文后,它就開(kāi)啟UDP端口,在該端口上接收中心控制模塊發(fā)送來(lái)的注冊(cè)響應(yīng)報(bào)文,接收到之后,分析注冊(cè)響應(yīng)報(bào)文,將報(bào)文中攜帶的中心控制模塊的信息記錄到信息表中。然后繼續(xù)等待接收。六.檢測(cè)中心控制模塊是否存在流程設(shè)計(jì)
考慮到中心控制模塊異常退出的情況,測(cè)試工具每隔1 檢查一次注冊(cè)響應(yīng)報(bào)文的個(gè)數(shù)情況,如果在1 注冊(cè)響應(yīng)報(bào)文的個(gè)數(shù)沒(méi)有增加,就認(rèn)為中心控制模塊已經(jīng)異常退出,此時(shí)就停止和中心控制模塊之間的具體通信。3 )通信規(guī)范TCP通信過(guò)程流程設(shè)計(jì)
測(cè)試工具完成注冊(cè)后,開(kāi)始與中心控制模塊進(jìn)行TCP通信。測(cè)試工具首先與中心控制模塊建立TCP連接,然后發(fā)送Notify報(bào)文告訴中心控制模塊自己的身份,然后等待中心控制模塊的下一步指示。中心控制模塊自啟動(dòng)后,就在TCP端口進(jìn)行偵聽(tīng),接受來(lái)自各個(gè)測(cè)試工具的連接。 當(dāng)有連接進(jìn)入,中心控制模塊接受該連接,首先接收它的Notify報(bào)文,了解了對(duì)方的ID號(hào)之后,再對(duì)該類型的測(cè)試工具發(fā)送操作命令。中心控制模塊TCP通信過(guò)程設(shè)計(jì)
中心控制模塊在具體通信過(guò)程中需要完成以下三項(xiàng)任務(wù)
1.在TCP端口偵聽(tīng)測(cè)試工具的連接,偵聽(tīng)到連接后,對(duì)該連接進(jìn)行處理接收和發(fā)送原始XML數(shù)據(jù)信息。2.對(duì)原始XML數(shù)據(jù)進(jìn)行解析得到需要的信息,對(duì)裸命令進(jìn)行XML格式的封裝。3.下發(fā)具體命令和上傳執(zhí)行結(jié)果。可以將以上三項(xiàng)任務(wù)作為中心控制模塊在具體通信過(guò)程中的三個(gè)層次
底層,又稱TCP偵聽(tīng)層,它完成第一項(xiàng)任務(wù),負(fù)責(zé)接收TCP連接,并對(duì)接收到的連接進(jìn)行讀和寫(xiě)的原始操作;
中間層,又稱XML操作層,它完成第二項(xiàng)任務(wù),負(fù)責(zé)解析和生成XML原始數(shù)據(jù); 上層,又稱工具通信層,它完成第三項(xiàng)任務(wù),負(fù)責(zé)下發(fā)具體命令和上傳執(zhí)行結(jié)果,它不會(huì)涉及任何與XML格式和TCP連接相關(guān)的操作。中間層則是上層和底層的橋梁,發(fā)送數(shù)據(jù)時(shí),它接收上層的具體命令,將其封裝為 XML數(shù)據(jù),然后傳遞給底層發(fā)送,接收數(shù)據(jù)時(shí),它接收底層的原始XML數(shù)據(jù),解析該原始XML
6數(shù)據(jù),得到具體結(jié)果后,再傳遞給上層處理。底層的任務(wù)就是對(duì)接受的TCP連接進(jìn)行讀和寫(xiě)的處理。分層后,各層只需處理好各自的
任務(wù),層與層之間通過(guò)回調(diào)和調(diào)用實(shí)現(xiàn)跨層操作。二. TCP偵聽(tīng)層具體設(shè)計(jì)
為保證中心控制模塊和測(cè)試工具之間的通信可靠性,在具體通信過(guò)程中采用TCP協(xié)議進(jìn)行數(shù)據(jù)的傳輸。TCP偵聽(tīng)層主要實(shí)現(xiàn)下面四個(gè)功能
1.循環(huán)接收測(cè)試工具的TCP連接。中心控制模塊啟動(dòng)后,就在向外公布的TCP端口上開(kāi)啟TCP偵聽(tīng),等待已注冊(cè)的測(cè)試工具發(fā)來(lái)TCP連接。一旦接收到測(cè)試工具的連接,起線程處理該連接,中心控制模塊又開(kāi)始接著偵聽(tīng)下一個(gè)連接。2.處理連接。接收到測(cè)試工具連接后,首先在該連接上接收Notify報(bào)文,該報(bào)文中只攜帶了測(cè)試工具的ID號(hào),是測(cè)試工具用來(lái)表明身份的報(bào)文。中心控制模塊根據(jù)ID號(hào)查詢注冊(cè)登記表,獲得該ID號(hào)對(duì)應(yīng)的類型名TypeName,接著將此連接存儲(chǔ)到注冊(cè)登記表的此ID號(hào)對(duì)應(yīng)的 TCPClient項(xiàng)中,然后開(kāi)始循環(huán)接收數(shù)據(jù)。3.接收數(shù)據(jù)。它根據(jù)ID號(hào)獲取TCPClient連接,在該連接上接收測(cè)試工具發(fā)來(lái)的XML原始數(shù)據(jù)。4.發(fā)送數(shù)據(jù)。它與接收數(shù)據(jù)一樣,先根據(jù)ID號(hào)獲取TCPClient連接,然后向該連接發(fā)送XML原始數(shù)據(jù)。
三.XML操作層具體設(shè)計(jì)
具體通信過(guò)程中不管是接收到的報(bào)文還是需要發(fā)送的報(bào)文,都采用XML封裝。XML最大的優(yōu)勢(shì)在于對(duì)各種數(shù)據(jù)的管理,任何系統(tǒng)都可以通過(guò)XML的解析器來(lái)讀取XML數(shù)據(jù)。但是上層操作只負(fù)責(zé)對(duì)具體命令進(jìn)行發(fā)送和對(duì)執(zhí)行結(jié)果進(jìn)行接收,對(duì)于原始XML數(shù)據(jù),中心控制模塊將其交由中間層處理。XML操作層主要實(shí)現(xiàn)以下兩個(gè)功能 1.生成XML原始數(shù)據(jù)。中心控制模塊在上層發(fā)送了具體命令,中間層接收到該具體命令,將其封裝成XML 原始數(shù)據(jù)格式。2.解析XML原始數(shù)據(jù)
中心控制模塊在底層接收到測(cè)試工具發(fā)來(lái)的原始XML數(shù)據(jù)報(bào)文,回調(diào)給中間層進(jìn)行解析,中間層解析獲得到執(zhí)行結(jié)果后,直接將執(zhí)行結(jié)果回調(diào)給上層處理。四.工具通信層設(shè)計(jì)
中心控制模塊的工具通信層連接著TCP通信過(guò)程和具體測(cè)試工具通信過(guò)程。它接收來(lái)自中心控制模塊用戶界面發(fā)來(lái)的具體命令,將其傳給中間層封裝,再交由下層發(fā)送;另外, 它還接收由下層傳到中間層解析后的測(cè)試工具執(zhí)行結(jié)果,將該執(zhí)行結(jié)果交給用戶界面顯示。
測(cè)試工具TCP通信過(guò)程設(shè)計(jì)
測(cè)試工具在具體通信過(guò)程中,首先與中心控制模塊建立TCP連接,然后等待接收命令或者上報(bào)執(zhí)行結(jié)果。測(cè)試工具與中心控制模塊類似,在具體通信過(guò)程中分為三個(gè)層次,分別是底層, 又稱TCP連接層,負(fù)責(zé)建立TCP連接,然后發(fā)送Notify報(bào)文,之后專門(mén)負(fù)責(zé)接收和發(fā)送XML 原始數(shù)據(jù);中間層,又稱XML處理層,與中心控制模塊的中間層功能一樣,負(fù)責(zé)解析和生成 XML原始數(shù)據(jù),只是具體實(shí)現(xiàn)有差別;上層,又稱工具處理層,每個(gè)不同類型的測(cè)試工具擁有一個(gè)獨(dú)立的工具處理層,處理和執(zhí)行各自的命令。層與層之間仍舊通過(guò)回調(diào)和調(diào)用實(shí)現(xiàn)跨層操作?!? TCP連接層具體設(shè)計(jì)
測(cè)試工具的TCP連接層實(shí)現(xiàn)以下三個(gè)功能 1.建立TCP連接。測(cè)試工具在注冊(cè)完畢后,立刻建立與中心控制模塊的TCP連接。連接成功后,為了讓中心控制模塊了解它是誰(shuí),測(cè)試工具會(huì)主動(dòng)發(fā)送一條Notify報(bào)文。2.接收數(shù)據(jù)。測(cè)試工具循環(huán)接收中心控制模塊發(fā)送來(lái)的XML原始命令數(shù)據(jù)。隨后將這些數(shù)據(jù)傳入到中間層處理。3.發(fā)送數(shù)據(jù)。測(cè)試工具的中間層將已封裝好的XML原始執(zhí)行結(jié)果數(shù)據(jù)傳遞到底層,底層負(fù)責(zé)將它發(fā)送至中心控制模塊。二. XML操作層具體設(shè)計(jì)
測(cè)試工具的XML操作層完成的功能同中心控制模塊的XML操作層,只是它比中心控制模塊的XML操作層多了封裝Notify報(bào)文的操作。三.工具處理層操作
不同的測(cè)試工具擁有不同的工具處理層。本論文只討論兩個(gè)測(cè)試工具,分別是命令行執(zhí)行工具、日志搜集工具。(一)命令行執(zhí)行工具的工具處理層設(shè)計(jì)
命令行執(zhí)行工具是在程序運(yùn)行過(guò)程中代替測(cè)試人員手工執(zhí)行相關(guān)操作的工具。目前命令行執(zhí)行工具實(shí)現(xiàn)了抓包功能、Ping功能和Python腳本運(yùn)行功能。抓包功能使用 tethereal. exe加上抓包時(shí)間、源地址、目的地址、協(xié)議類型和抓包數(shù)量等參數(shù)組成抓包命令。Ping功能使用Ping關(guān)鍵字加上IP地址就組成了簡(jiǎn)單的Ping命令。使用python, exe 加上需要執(zhí)行的腳本名即可實(shí)現(xiàn)命令行運(yùn)行腳本的功能。命令行執(zhí)行工具的工具處理層主要完成以下兩個(gè)操作
1.從中心控制模塊接收命令行執(zhí)行的具體命令,解析命令后,執(zhí)行命令;
2.將執(zhí)行后的結(jié)果發(fā)送給中心控制模塊。(二)日志搜集工具的工具處理層設(shè)計(jì)
日志搜集工具的工具處理層與日志搜集工具本身密切相關(guān),它也負(fù)責(zé)兩方面的任務(wù) 1.從中心控制模塊接收收集日志信息、收集系統(tǒng)信息和檢測(cè)日志信息的命令,然后將命令傳給日志搜集工具處理;2.接收日志搜集工具發(fā)來(lái)的處理結(jié)果,再將該結(jié)果發(fā)送給中心控制模塊。 4)中心控制模塊的用戶界面設(shè)計(jì)
中心控制模塊根據(jù)具體測(cè)試工具下發(fā)對(duì)應(yīng)命令,為此在中心控制模塊端設(shè)計(jì)一個(gè)用戶界面。由用戶選擇在線的測(cè)試工具,然后給該測(cè)試工具發(fā)送命令。(1).命令行執(zhí)行工具
中心控制模塊的用戶界面部分包含了命令行執(zhí)行工具的頁(yè)面,該測(cè)試工具上線后,用戶可以選擇抓包功能、Ping功能和Python腳本運(yùn)行功能。中心控制模塊與命令行執(zhí)行工具之間進(jìn)行通信的具體步驟如下
一.用戶在界面上選擇上線的命令行執(zhí)行工具;
二.用戶選擇抓包功能、Ping功能或Python腳本運(yùn)行功能
1.選擇抓包功能輸入抓包時(shí)間、源地址、目的地址、協(xié)議類型和抓包數(shù)量參數(shù),必填的是抓包時(shí)間參數(shù)。2.選擇Ping功能輸入Ping的IP地址。3.選擇Python腳本運(yùn)行功能輸入Python腳本名。三.用戶點(diǎn)擊發(fā)送,中心控制模塊執(zhí)行“發(fā)送數(shù)據(jù)”的三層處理,將原始XML數(shù)據(jù)發(fā)送到命令行執(zhí)行工具。四.命令行執(zhí)行工具接收XML報(bào)文,經(jīng)過(guò)測(cè)試工具“接收數(shù)據(jù)”的三層處理,得到命令數(shù)據(jù),然后執(zhí)行該命令。五.命令執(zhí)行完畢,命令行執(zhí)行工具將執(zhí)行結(jié)果進(jìn)行處理后發(fā)送回中心控制模塊。六.中心控制模塊將收到的執(zhí)行結(jié)果顯示到命令行執(zhí)行工具用戶界面。(2)日志搜集工具
日志搜集工具是在腳本運(yùn)行過(guò)程中收集服務(wù)器和終端設(shè)備的日志信息,收集服務(wù)器和終端設(shè)備的CPU信息、內(nèi)存信息和磁盤(pán)信息,并可以在日志文件中找出某些關(guān)鍵字并殺掉指定進(jìn)程的工具。日志搜集工具分為三部分收集日志信息、收集系統(tǒng)信息和檢測(cè)日志信肩、O中心控制模塊的用戶界面中也包含了日志搜集工具的頁(yè)面,待日志搜集工具上線后,用戶就可以輸入想要收集和檢測(cè)的設(shè)備信息。中心控制模塊與日志搜集工具之間進(jìn)行通信的具體步驟如下
1.用戶在界面上選擇上線的日志搜集工具;
2.用戶選擇設(shè)備類型(服務(wù)器/終端)、輸入設(shè)備IP地址、選擇是否收集日志信息、收集系統(tǒng)信息和檢測(cè)日志信息。3.用戶點(diǎn)擊發(fā)送,中心控制模塊執(zhí)行“發(fā)送數(shù)據(jù)”的三層處理,將原始XML數(shù)據(jù)發(fā)送到日志搜集工具;
4.測(cè)試工具接收到XML日志命令報(bào)文,經(jīng)過(guò)測(cè)試工具“接收數(shù)據(jù)”的三層處理,得到命令數(shù)據(jù),整理得到收集日志信息、收集系統(tǒng)信息和檢測(cè)日志信息的設(shè)備,之后交與日志搜集工具具體執(zhí)行;
5.命令執(zhí)行完畢,日志搜集工具將執(zhí)行結(jié)果進(jìn)行處理后發(fā)送回中心控制模塊;
6.中心控制模塊將收到的執(zhí)行結(jié)果顯示到日志搜集工具的用戶界面。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)勢(shì)在于一.本發(fā)明的通信規(guī)范設(shè)計(jì)了應(yīng)用于監(jiān)控系統(tǒng)自動(dòng)化測(cè)試的中心控制模塊和測(cè)試工具的注冊(cè)流程;
二.本發(fā)明的通信規(guī)范設(shè)計(jì)了應(yīng)用于監(jiān)控系統(tǒng)自動(dòng)化測(cè)試的中心控制模塊和測(cè)試工具的TCP通信流程,將TCP通信流程分成三層處理;
三.本發(fā)明的通信規(guī)范設(shè)計(jì)了應(yīng)用于監(jiān)控系統(tǒng)自動(dòng)化測(cè)試的中心控制模塊根據(jù)具體測(cè)試工具發(fā)送命令的用戶界面。本發(fā)明的通信規(guī)范用于集中控制多個(gè)測(cè)試工具并行工作,加快了測(cè)試速度、提高測(cè)試質(zhì)量,實(shí)現(xiàn)更快、更好地開(kāi)發(fā)軟件產(chǎn)品的目標(biāo)。
具體實(shí)施例方式實(shí)施例1
本發(fā)明的基于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試工具的通信規(guī)范的編程實(shí)現(xiàn)分為下面兩個(gè)步
驟
一.中心控制模塊的通信規(guī)范實(shí)現(xiàn)。二.測(cè)試工具的通信規(guī)范實(shí)現(xiàn)。下表1列出了中心控制模塊和測(cè)試工具在注冊(cè)過(guò)程、TCP通信過(guò)程和具體測(cè)試工具通信過(guò)程中使用的類。
表1通信規(guī)范各大類
中心控制tlife端 賦工具端往冊(cè)雖測(cè)類往冊(cè)突TCP彳剪斤類TCP雜類TCP MffiiIMXML操作類XML操作類工具通信類命令行執(zhí)行工具類日識(shí)集處理類縣體跳拭工縣通信過(guò)裎用戶界面類日識(shí)集工具類
(一)中心控制模塊的通信規(guī)范實(shí)現(xiàn)
中心控制模塊的通信規(guī)范實(shí)現(xiàn)分為三個(gè)部分注冊(cè)實(shí)現(xiàn)、TCP通信實(shí)現(xiàn)、用戶GUI界面實(shí)現(xiàn)?!闶怯脩艚缑骖?、工具通訊類、XML操作類、TCP偵聽(tīng)類和注冊(cè)類的依次傳遞,實(shí)現(xiàn)中心控制模塊的通信規(guī)范。1)中心控制模塊的注冊(cè)實(shí)現(xiàn)
中心控制模塊的注冊(cè)過(guò)程包括接收注冊(cè)報(bào)文、發(fā)送注冊(cè)響應(yīng)報(bào)文和檢查注冊(cè)登記表三部分。中心控制模塊注冊(cè)類IMOS_krver_TestFrame_Register中起線程執(zhí)行接收注冊(cè)報(bào)文函數(shù)和檢查注冊(cè)登記表函數(shù)。1、中心控制模塊變量m_ToEndFlag和注冊(cè)登記表registerDict m_T0EndFlag變量控制著中心控制模塊是否繼續(xù)執(zhí)行接收注冊(cè)報(bào)文和檢查注冊(cè)登記
表。中心控制模塊啟動(dòng)時(shí)將該值賦為false,中心控制模塊退出時(shí)該值變?yōu)閠rue。將注冊(cè)登記表registerDict定義為一個(gè)字典結(jié)構(gòu),字典的鍵為測(cè)試工具的ID號(hào), 字典的值為測(cè)試工具信息各項(xiàng)ClientItems結(jié)構(gòu)體。下面列出了 ClientItems結(jié)構(gòu)體定義與registerDict字典定義和賦值后的 registerDict。1. 1、ClientItems 結(jié)構(gòu)體定義
struct ClientItems
{
public string IpAddress; public string UdpPort; public string UpdateTime; public string TypeName; public TcpClient TCPClient;
ι;
1. 2、registerDict 字典定義 Dictionary<string, Clientltems> registeredDict;
1.3、賦值后的 registerDict
registerDict =
{ “0001” [ “192. 169. 110. 4”,“10001”,“2011-4-20:01:00 ”,
"CmdTool", Clientl] “0002” [ “192. 169. 110. 3”,“10002”,“2011-4-20:03:00 ”, “LogTool”,Client2]
}
2、中心控制模塊注冊(cè)類IMOS_Server_TestFrame_Register
中心控制模塊注冊(cè)類實(shí)現(xiàn)了中心控制模塊在注冊(cè)過(guò)程設(shè)計(jì)中的需要完成的三項(xiàng)任務(wù)。注冊(cè)啟動(dòng)時(shí),開(kāi)啟兩個(gè)線程,分別為接收注冊(cè)響應(yīng)報(bào)文線程和檢測(cè)注冊(cè)登記表線程。2. 1、接受注冊(cè)響應(yīng)報(bào)文函數(shù) ReceiveRegisterPacketsThreacL在該線程中,首先調(diào)用加入組播組函數(shù)MartMulticast,然后開(kāi)始循環(huán)接收注冊(cè)報(bào)文。每接收到一個(gè)注冊(cè)報(bào)文就啟動(dòng)分析和更新注冊(cè)登記表線程AnalyzeAndUp dateRegi steredLi stHiread。在分析和更新注冊(cè)登記表線程中,首先根據(jù)XML格式分析出注冊(cè)報(bào)文中的各項(xiàng)數(shù)據(jù),接著更新注冊(cè)登記表,最后調(diào)用發(fā)送注冊(cè)響應(yīng)報(bào)文函數(shù) SendRegisterAckPacket0至此中心控制模塊就完成了一輪接收注冊(cè)報(bào)文和發(fā)送注冊(cè)響應(yīng)報(bào)文的操作。2. 2、檢測(cè)注冊(cè)登記表函數(shù) CheckRegisterDictThread0在此線程中,每隔15s,就循環(huán)遍歷registerDict字典,對(duì)registerDict字典中的每一項(xiàng),判斷當(dāng)前時(shí)間與該項(xiàng)的UpdateTime時(shí)間之差是否小于15s,如果小于則檢查下一項(xiàng),否則就將該項(xiàng)ID記錄到unusedIDList中,遍歷完registerDict后,再將出現(xiàn)在 unusedIDList中測(cè)試工具ID從registerDict字典中移除。2)中心控制模塊的TCP通信實(shí)現(xiàn)
將TCP通信過(guò)程設(shè)計(jì)為三層結(jié)構(gòu)底層,TCP偵聽(tīng)層主要負(fù)責(zé)發(fā)和接收原始XML數(shù)據(jù); 中間層,XML操作層主要負(fù)責(zé)解析和封裝XML數(shù)據(jù);上層,工具通信層,主要負(fù)責(zé)發(fā)送用戶界面下發(fā)的命令和接收測(cè)試工具的執(zhí)行結(jié)果。TCP通信實(shí)現(xiàn)也分為三個(gè)類,分別是TCP偵聽(tīng)類、XML操作類和工具通類。其中TCP 偵聽(tīng)類繼承于注冊(cè)類,XML操作類繼承于TCP偵聽(tīng)類,而上層工具通信類則繼承于XML操作類。1、TCP 偵聽(tīng)類 IMOS_Server_TestFrame_TCPConnect
TCP偵聽(tīng)類負(fù)責(zé)接收各個(gè)測(cè)試工具的TCP連接、接收測(cè)試工具的Notify報(bào)文、發(fā)送XML 命令包和接收XML執(zhí)行結(jié)果包。TCP通信啟動(dòng)時(shí),調(diào)用開(kāi)啟TCP偵聽(tīng)連接函數(shù)MartTCPCormect,該函數(shù)中不斷接收測(cè)試工具發(fā)來(lái)的TCP連接,一旦接收到一個(gè)TCP連接,就馬上啟動(dòng)處理測(cè)試工具TCP連接函數(shù)線程krviceClientMethodThread。此線程首先接收從該TCP連接傳來(lái)的Notify報(bào)文,從報(bào)文中解析出建立該TCP連接的測(cè)試工具ID號(hào)CientID,然后訂閱事件toolOnline 通知用戶界面類測(cè)試工具CientID上線,接著開(kāi)始循環(huán)接收從該測(cè)試工具端發(fā)送的執(zhí)行結(jié)果或上報(bào)信息報(bào)文。2、XML 操作類 IM0S_Server_TestFrame_XML0peration
XML操作類負(fù)責(zé)解析從TCP偵聽(tīng)類傳來(lái)的XML數(shù)據(jù)包和封裝從工具通信類傳來(lái)的用戶命令。XML類圖中的解析XML函數(shù)AnalyzeXML在發(fā)送數(shù)據(jù)時(shí)被上層工具通信類調(diào)用,封裝XML函數(shù)GenerateAndSendXML在接收數(shù)據(jù)時(shí)被下層TCP偵聽(tīng)類回調(diào)。3、工具通信類 IMOS_Server_TestFrame_ToolsCommunication
工具通信類是TCP通信和用戶界面的橋梁。工具通信類中獲取⑶I命令函數(shù) GetGUICommand從用戶界面獲得用戶發(fā)出的第一手命令,然后向下層發(fā)送;獲取測(cè)試工具結(jié)果GetToolResult從下層接收?qǐng)?zhí)行結(jié)果,再傳遞給用戶界面顯示。4、TCP通信三大類的關(guān)系
TCP通信三大類之間關(guān)系密切,在發(fā)送數(shù)據(jù)的過(guò)程中,由上至下調(diào)用各層函數(shù),直至將 XML數(shù)據(jù)發(fā)送至測(cè)試工具端;而在接收數(shù)據(jù)的過(guò)程中,則是從下向上回調(diào)各層函數(shù),直至上層將執(zhí)行結(jié)果傳遞給用戶界面。4. 1、發(fā)送數(shù)據(jù)過(guò)程中,三大類之間的調(diào)用關(guān)系。上層工具通信類接收到用戶界面發(fā)來(lái)的命令,就調(diào)用中間層X(jué)ML操作類進(jìn)行命令封裝,中間層封裝完命令后,緊接著調(diào)用下層TCP偵聽(tīng)類中的發(fā)送XML命令數(shù)據(jù)包函數(shù) kndXMLMessage,將XML命令數(shù)據(jù)包發(fā)送至指定測(cè)試工具端。4. 2、接收數(shù)據(jù)過(guò)程中,三大類之間的回調(diào)關(guān)系
下層TCP偵聽(tīng)類循環(huán)接收測(cè)試工具發(fā)送來(lái)的XML執(zhí)行結(jié)果數(shù)據(jù)包,一旦接收到數(shù)據(jù)包,就觸發(fā)事件messageReceived,于是回調(diào)執(zhí)行中間層函數(shù)AnalyzeXML,解析完XML數(shù)據(jù)包后,再觸發(fā)事件XMLAnalyzed,回調(diào)執(zhí)行上層函數(shù)GetToolResult,上層回再次觸發(fā)事件 ResultToSend,待用戶界面將結(jié)果顯示到測(cè)試工具窗口。4. 3、中心控制模塊的用戶⑶I界面實(shí)現(xiàn)
中心控制模塊的用戶界面實(shí)現(xiàn)了對(duì)用戶命令的主動(dòng)輸入和對(duì)測(cè)試工具執(zhí)行結(jié)果的顯
7J\ ο
用戶界面類中可定義上層工具通信類的一個(gè)對(duì)象m_toolS,對(duì)于用戶命令的發(fā)送和測(cè)試工具執(zhí)行結(jié)果的接收都由此對(duì)象負(fù)責(zé)操作。用戶界面類本身主要包括一個(gè)IistView控件、一個(gè)tabControl控件。IistView 控件用來(lái)顯示上、下線的測(cè)試工具,當(dāng)下層接收到測(cè)試工具的TCP連接后,觸發(fā)toolOnline 事件,回調(diào)執(zhí)行類圖中增加測(cè)試工具項(xiàng)AddToolItem函數(shù),將測(cè)試工具添加到IistView中, 用戶便可選擇此測(cè)試工具。當(dāng)下層檢測(cè)到測(cè)試工具的ID已不存在時(shí),觸發(fā)toolOfline事件,回調(diào)執(zhí)行類圖中使測(cè)試工具無(wú)效的UnvalidToolItem函數(shù),將已下線的測(cè)試工具變灰, 用戶就不能再對(duì)此測(cè)試工具進(jìn)行操作。tabControl控件中的每一頁(yè)就表示一種測(cè)試工具。目前tabControl控件中有三頁(yè),分別是MartPage、CmdTool和LogTool,其中CmdTool頁(yè)中列出了執(zhí)行命令行測(cè)試工具的命令選項(xiàng)和結(jié)果顯示框,LogTool頁(yè)中簡(jiǎn)化了日志搜集工具,以設(shè)備為搜集和檢測(cè)對(duì)象, 將收集日志信息、收集系統(tǒng)信息和檢測(cè)日志信息合為一行,在用戶界面類內(nèi)部處理日志命令。當(dāng)工具通信層接收到了測(cè)試工具發(fā)來(lái)的執(zhí)行結(jié)果,就觸發(fā)ResultToknd事件,回調(diào)執(zhí)行類圖中的顯示測(cè)試工具結(jié)果SiowToolResult函數(shù),將結(jié)果顯示到對(duì)應(yīng)測(cè)試工具頁(yè)的結(jié)果顯示框中。在用戶界面類接收到用戶輸入的命令,將命令拼裝后就調(diào)用工具通信類的 GetGUICommand函數(shù)進(jìn)行發(fā)送。
(二)、測(cè)試工具的通信規(guī)范實(shí)現(xiàn)
測(cè)試工具的通信規(guī)范實(shí)現(xiàn)包括所有測(cè)試工具的通用注冊(cè)實(shí)現(xiàn)、所有測(cè)試工具的TCP通信實(shí)現(xiàn)和具體測(cè)試工具實(shí)現(xiàn)三部分。1)所有測(cè)試工具的通用注冊(cè)實(shí)現(xiàn)
測(cè)試工具在通用注冊(cè)過(guò)程設(shè)計(jì)中負(fù)責(zé)三項(xiàng)任務(wù)發(fā)送注冊(cè)報(bào)文、接收注冊(cè)響應(yīng)報(bào)文和檢測(cè)中心控制模塊是否存在。測(cè)試工具注冊(cè)類IMOS_Client_TestFrame_Register實(shí)現(xiàn)了測(cè)試工具在通用注冊(cè)過(guò)程設(shè)計(jì)中的需要完成的三項(xiàng)任務(wù)。注冊(cè)啟動(dòng)時(shí),測(cè)試工具首先加入組播組JoinMulticastGroup,然后開(kāi)啟兩個(gè)線程, 分別為發(fā)送注冊(cè)報(bào)文線程和接收注冊(cè)響應(yīng)報(bào)文和檢測(cè)中心控制模塊是否存在線程。1. 1、發(fā)送注冊(cè)報(bào)文函數(shù) kndRegisterPacketThread。該線程只負(fù)責(zé)每隔k發(fā)送注冊(cè)報(bào)文到中心控制模塊。1. 2、接收注冊(cè)響應(yīng)報(bào)文和檢測(cè)中心控制模塊是否存在函數(shù) ReceiveRegisterACKThread0在此線程中,首先開(kāi)啟接收注冊(cè)響應(yīng)報(bào)文線程ReceiveFromThread,該線程專門(mén)負(fù)責(zé)在UDP端口接收注冊(cè)響應(yīng)報(bào)文。ReceiveRegisterACKThread線程在開(kāi)啟 ReceiveFromThread線程后,緊接著就每隔1 檢查一次注冊(cè)響應(yīng)報(bào)文的數(shù)量,如果注冊(cè)響應(yīng)報(bào)文數(shù)量在增加,不做任何操作,否則將m_ACtiveMatuS變量置為false。m_ ActiveStatus在測(cè)試工具接收到第一個(gè)注冊(cè)響應(yīng)報(bào)文后,被賦為true,表示中心控制模塊處于活動(dòng)狀態(tài)。2)所有測(cè)試工具的TCP通信實(shí)現(xiàn)
將測(cè)試工具的TCP通信過(guò)程設(shè)計(jì)為三層結(jié)構(gòu)底層,TCP連接層主要負(fù)責(zé)發(fā)送和接收原始XML數(shù)據(jù);中間層,XML操作層主要負(fù)責(zé)解析和封裝XML數(shù)據(jù);上層,工具處理層,該層中包含各種測(cè)試工具的處理過(guò)程。測(cè)試工具的TCP通信實(shí)現(xiàn)對(duì)應(yīng)設(shè)計(jì)部分也分為三大類,分別是TCP連接類、XML操作類和工具處理類。TCP連接類繼承于注冊(cè)類,XML操作類繼承于TCP連接類,而工具處理類(命令行執(zhí)行工具類,搜集日志類)則繼承于XML操作類。1、TCP 連接類 IMOSjnientJestFrameJCPConnect
測(cè)試工具的TCP連接類主要負(fù)責(zé)與中心控制模塊建立TCP連接,連接建立成功后,接收 XML命令包和發(fā)送XML執(zhí)行結(jié)果包。測(cè)試工具啟動(dòng)后,就啟動(dòng)了開(kāi)始TCP連接的線程MartTCPCormectThread,該線程等待接收中心控制模塊的第一個(gè)注冊(cè)響應(yīng)報(bào)文,一旦接收到第一個(gè)注冊(cè)響應(yīng)報(bào)文,該線程就開(kāi)始與中心控制模塊建立TCP連接,連接成功,觸發(fā)SuccessCormected事件,回調(diào)執(zhí)行中間層的發(fā)送Notify報(bào)文函數(shù)。接著就循環(huán)接收數(shù)據(jù)包,直至測(cè)試工具自身退出或中心控制模塊退出。2、XML 操作類 IM0S_Client_TestFrame_XML0peration
測(cè)試工具的XML操作類同樣是上層工具處理類和下層TCP連接類之間的橋梁。測(cè)試工具的XML操作類功能前兩項(xiàng)同中心控制模塊的XML操作類功能類似。在接收數(shù)據(jù)的過(guò)程中,下層觸發(fā)事件,回調(diào)中間層的解析XML數(shù)據(jù)包AnalyzeXMlInfo函數(shù); 在發(fā)送數(shù)據(jù)的過(guò)程中,上層調(diào)用生成并發(fā)送XML數(shù)據(jù)包GenerateAndSendXMLResu 11函數(shù)。另外測(cè)試工具的XML操作類還負(fù)責(zé)在TCP成功建立連接后執(zhí)行發(fā)送NotifyXML數(shù)據(jù)包 SendNotifyXML 函數(shù)。3、工具處理類
工具處理類實(shí)際上是每種測(cè)試工具的處理類的統(tǒng)稱,目前暫時(shí)有命令行執(zhí)行工具類和日志搜集處理類。工具處理類與測(cè)試工具的用戶界面類密切相關(guān),具體測(cè)試工具的功能都體現(xiàn)在用戶界面類中。3. 1、命令行執(zhí)行工具類 IMOS_Client_TestFrame_CmdTool
命令行執(zhí)行工具類暫時(shí)只支持抓包命令、Ping命令和Python腳本執(zhí)行命令三種。它從中心控制模塊接收到命令后,首先解析命令字段,判斷是何種命令,然后再執(zhí)行。例如中心控制模塊端發(fā)送的命令為"WireSiark卜a duration: 2 -f src host 192. 169. 100. 2 and ip proto/udp”,命令行執(zhí)行工具類首先解析命令字段為 "WireShark,,,然后執(zhí)行〃C:\\Program Files\\Ethereal\\tethereal. exe -a duration:2
-f src host 192. 169. 100. 2 and ip proto/udp,,命令。執(zhí)行完命令后,命令行執(zhí)行工具類調(diào)用XML操作類的 GenerateAndSendXMLResult (output)函數(shù)將結(jié)果發(fā)送到中心控制模塊。
14
設(shè)置解析命令函數(shù)AnalyzeCmd專門(mén)負(fù)責(zé)解析命令類型,然后調(diào)用執(zhí)行命令函數(shù) ExecOSCommand負(fù)責(zé)執(zhí)行具體命令,將執(zhí)行后的結(jié)果返回到AnalyzeCmd中。3. 2、日志搜集處理類 IMOSjnient^TestFrameJ^ogTool
日志搜集處理類與日志搜集工具類不同,日志搜集工具類是一個(gè)完整的》1編寫(xiě)的日志搜集工具類,它負(fù)責(zé)收集日志信息、收集系統(tǒng)信息和檢測(cè)日志信息,它有自己的工具界面。而日志搜集處理類則是負(fù)責(zé)將中心控制模塊的發(fā)送來(lái)的日志搜集命令轉(zhuǎn)化為日志搜集工具類可用的命令。日志搜集處理類IMOS_Client_TestFrame_LogTool類圖設(shè)置從中心控制模塊接收日志命令函數(shù)ReceiveLogCommandFron^erver負(fù)責(zé)轉(zhuǎn)化中心控制塊發(fā)來(lái)的命令,然后將轉(zhuǎn)化過(guò)后的命令發(fā)送到日志搜集工具類。類圖中發(fā)送日志運(yùn)行結(jié)果函數(shù) kndLogResultToServer,負(fù)責(zé)將日志搜集工具的運(yùn)行結(jié)果發(fā)送至中心控制模塊。3)日志搜集工具實(shí)現(xiàn)
日志搜集工具本身就是一個(gè)完整的測(cè)試工具,它包括內(nèi)部處理和界面處理。日志搜集工具類實(shí)現(xiàn)是在原來(lái)日志搜集工具類的基礎(chǔ)上結(jié)合日志搜集處理類,同時(shí)實(shí)現(xiàn)自身界面命令和中心控制模塊命令的類。日志搜集工具類新添加功能的類圖設(shè)置類圖中m_l0gT00l為日志搜集類的對(duì)象,它是日志搜集工具類與測(cè)試工具的TCP通信中間層的橋梁。TransferItems函數(shù)把從日志搜集處理類中傳來(lái)的命令添加到日志搜集工具的數(shù)據(jù)集datMet中。然后執(zhí)行收集日志信息、收集系統(tǒng)信息和檢測(cè)日志信息的腳本。StopScripts函數(shù)停止執(zhí)行上述三個(gè)腳本。上述實(shí)施例只是為了說(shuō)明本發(fā)明的技術(shù)構(gòu)思及特點(diǎn),其目的是在于讓本領(lǐng)域內(nèi)的普通技術(shù)人員能夠了解本發(fā)明的內(nèi)容并據(jù)以實(shí)施,并不能以此限制本發(fā)明的保護(hù)范圍。凡是根據(jù)本發(fā)明內(nèi)容的實(shí)質(zhì)所作出的等效的變化或修飾,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范,其特征在于,測(cè)試工具與中心控制模塊進(jìn)行通信,首先經(jīng)過(guò)注冊(cè),然后與中心控制模塊建立TCP通信,最后進(jìn)行用戶界面具體命令的交互,1)中心控制模塊和測(cè)試工具的注冊(cè)流程中心控制模塊的注冊(cè)過(guò)程分為接收注冊(cè)報(bào)文、發(fā)送注冊(cè)響應(yīng)報(bào)文、循環(huán)檢查注冊(cè)登記表這三個(gè)部分;測(cè)試工具在注冊(cè)過(guò)程中負(fù)責(zé)發(fā)送注冊(cè)報(bào)文、接收注冊(cè)響應(yīng)報(bào)文和檢測(cè)中心控制模塊的存在性這三個(gè)任務(wù);2)中心控制模塊和測(cè)試工具的TCP通信流程,將TCP通信流程分成三層處理TCP偵聽(tīng)層,作為底層,負(fù)責(zé)接收TCP連接,并對(duì)接收到的連接進(jìn)行讀和寫(xiě)的原始操作;工具通信層,作為上層,負(fù)責(zé)下發(fā)具體命令和上傳執(zhí)行結(jié)果;XML操作層,作為中間層,發(fā)送數(shù)據(jù)時(shí),接收上層的具體命令,將其封裝為XML數(shù)據(jù),然后傳遞給底層發(fā)送,接收數(shù)據(jù)時(shí),它接收底層的原始XML數(shù)據(jù),解析該原始XML數(shù)據(jù),得到具體結(jié)果后,再傳遞給上層處理;層與層之間通過(guò)回調(diào)和調(diào)用實(shí)現(xiàn)跨層操作;3)中心控制模塊的用戶界面中心控制模塊根據(jù)具體測(cè)試工具下發(fā)對(duì)應(yīng)命令,在中心控制模塊端設(shè)計(jì)一個(gè)用戶界面,由用戶選擇在線的測(cè)試工具,然后給該測(cè)試工具發(fā)送命令。
2.根據(jù)權(quán)利要求1所述的用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范,其特征在于,所述測(cè)試工具括包括業(yè)務(wù)產(chǎn)生類型的腳本運(yùn)行工具,實(shí)況檢測(cè)類型的視頻圖像收集工具、音頻收集工具或串口云臺(tái)控制命令工具,信息采集類型的日志搜集工具、Log服務(wù)器工具或 Report 工具。
3.根據(jù)權(quán)利要求1所述的用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范,其特征在于,所述測(cè)試工具每隔^向中心控制模塊發(fā)送一次注冊(cè)報(bào)文,每隔1 檢查注冊(cè)響應(yīng)報(bào)文的數(shù)量是否有增加;中心控制模塊每隔1 檢查一次注冊(cè)登記表情況,及時(shí)更新注冊(cè)登記表中測(cè)試工具狀況。
4.根據(jù)權(quán)利要求1所述的用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范,其特征在于,所述中心控制模塊接收到測(cè)試工具發(fā)送的注冊(cè)報(bào)文后,分析注冊(cè)報(bào)文,將注冊(cè)報(bào)文中攜帶的測(cè)試工具編號(hào)、測(cè)試工具類型名、測(cè)試工具所在PC機(jī)的IP地址、UDP端口號(hào)、最新注冊(cè)時(shí)間、 TCP客戶端Socket這六項(xiàng)信息項(xiàng)存儲(chǔ)到注冊(cè)登記表中。
5.根據(jù)權(quán)利要求1所述的用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范,其特征在于,所述中心控制模塊在發(fā)送注冊(cè)響應(yīng)報(bào)文之前,先要生成XML注冊(cè)響應(yīng)報(bào)文,報(bào)文中攜帶中心控制模塊的相關(guān)信息和發(fā)送時(shí)間。
6.根據(jù)權(quán)利要求1所述的用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范,其特征在于,所述測(cè)試工具接收到注冊(cè)響應(yīng)報(bào)文后,將報(bào)文中的中心控制模塊編號(hào)、日志服務(wù)器編號(hào)、中心控制模塊TCP端口號(hào)這三項(xiàng)中心控制模塊信息記錄到信息表中。
7.根據(jù)權(quán)利要求1所述的用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范,其特征在于,所述測(cè)試工具在發(fā)送注冊(cè)報(bào)文前,先要生成XML注冊(cè)報(bào)文,攜帶自己的ID編號(hào)、測(cè)試工具類型名、測(cè)試工具所在PC機(jī)的IP地址、UDP端口號(hào)和發(fā)送時(shí)間信息,然后再進(jìn)行發(fā)送。
8.根據(jù)權(quán)利要求1所述的用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范,其特征在于,所述中心控制模塊的用戶界面中包含了命令行執(zhí)行工具的頁(yè)面,設(shè)有抓包功能、Ping功能和 Python腳本運(yùn)行功能。
9.根據(jù)權(quán)利要求1所述的用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范,其特征在于,所述中心控制模塊的用戶界面中還包含了日志搜集工具的頁(yè)面,設(shè)有收集日志信息、收集系統(tǒng)信息和檢測(cè)日志信息這三部分腳本運(yùn)行功能。
全文摘要
本發(fā)明公開(kāi)了一種用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范,測(cè)試工具與中心控制模塊進(jìn)行通信,首先經(jīng)過(guò)注冊(cè),然后與中心控制模塊建立TCP通信,最后進(jìn)行用戶界面具體命令的交互。中心控制模塊和測(cè)試工具的TCP通信流程,將TCP通信流程分成三層處理XML操作層,發(fā)送數(shù)據(jù)時(shí),接收工具通信層的具體命令,將其封裝為XML數(shù)據(jù),然后傳遞給TCP偵聽(tīng)層發(fā)送;接收數(shù)據(jù)時(shí),XML操作層接收TCP偵聽(tīng)層的原始XML數(shù)據(jù),解析該原始XML數(shù)據(jù),得到具體結(jié)果后,再傳遞給工具通信層處理;層與層之間通過(guò)回調(diào)和調(diào)用實(shí)現(xiàn)跨層操作。本發(fā)明的用于監(jiān)控系統(tǒng)的自動(dòng)化測(cè)試的通信規(guī)范,用于集中控制多個(gè)測(cè)試工具并行工作,加快了測(cè)試速度、提高測(cè)試質(zhì)量,實(shí)現(xiàn)更快、更好地開(kāi)發(fā)軟件產(chǎn)品的目標(biāo)。
文檔編號(hào)H04L12/26GK102355384SQ20111030985
公開(kāi)日2012年2月15日 申請(qǐng)日期2011年10月13日 優(yōu)先權(quán)日2011年10月13日
發(fā)明者方寧生 申請(qǐng)人:納龍(蘇州)信息技術(shù)有限公司