協(xié)議棧的測試方法、物理設(shè)備、終端和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了協(xié)議棧的測試方法、物理設(shè)備、終端和系統(tǒng),以解決現(xiàn)有協(xié)議棧測試中測試不準(zhǔn)確的問題。所述的方法包括:物理設(shè)備接收終端發(fā)送的第一測試數(shù)據(jù);所述物理設(shè)備對所述第一測試數(shù)據(jù)的數(shù)據(jù)頭進(jìn)行解析;所述物理設(shè)備按照解析的結(jié)果對所述第一測試數(shù)據(jù)進(jìn)行協(xié)議棧測試,并反饋測試過程中產(chǎn)生的交互數(shù)據(jù)給終端,以使終端通過所述交互數(shù)據(jù)確定協(xié)議棧測試狀態(tài)。在物理設(shè)備的實(shí)際硬件環(huán)境進(jìn)行協(xié)議棧的測試,能夠獲取準(zhǔn)確的測試結(jié)果,且通過物理設(shè)備與終端的交互可以控制協(xié)議棧的測試并確定測試狀態(tài),從而及時(shí)的了解測試過程,準(zhǔn)確的對測試進(jìn)行分析并調(diào)試。
【專利說明】協(xié)議棧的測試方法、物理設(shè)備、終端和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別是涉及一種協(xié)議棧的測試方法,一種物理設(shè)備、一種終端,以及一種協(xié)議棧的測試系統(tǒng)。
【背景技術(shù)】
[0002]協(xié)議棧(ProtocoI Stack)是指網(wǎng)絡(luò)中各層協(xié)議的總和,其形象的反映了 一個(gè)網(wǎng)絡(luò)中文件傳輸?shù)倪^程:由上層協(xié)議到底層協(xié)議,再由底層協(xié)議到上層協(xié)議。則協(xié)議棧的開發(fā)可以理解為用程序語言將協(xié)議棧中的各層協(xié)議表示為機(jī)器語言,從而使物理設(shè)備可以基于該協(xié)議棧實(shí)現(xiàn)數(shù)據(jù)的傳輸。
[0003]在協(xié)議棧的開發(fā)過程中,需要對協(xié)議棧進(jìn)行測試以確定協(xié)議的運(yùn)行狀況,進(jìn)而對協(xié)議棧進(jìn)行調(diào)試。通常是在個(gè)人計(jì)算機(jī)(Personal Computer, PC)上模擬硬件環(huán)境,從而在PC端上實(shí)現(xiàn)對協(xié)議棧的測試,但是,PC端中模擬的硬件環(huán)境通常是理想化的,而實(shí)際上物理設(shè)備中常常會(huì)出現(xiàn)各式各樣的問題,因此PC并不能模擬出真實(shí)的硬件環(huán)境,例如,PC系統(tǒng)不是實(shí)時(shí)、搶占式操作系統(tǒng),而真實(shí)的物理設(shè)備具有實(shí)時(shí),搶占式特點(diǎn),所以在線程的切換及執(zhí)行順序上,PC端模擬不出真實(shí)的物理環(huán)境。導(dǎo)致對協(xié)議棧的測試結(jié)果不準(zhǔn)確,無法對協(xié)議棧進(jìn)行準(zhǔn)確的調(diào)試。
[0004]為了解決上述問題,可以將協(xié)議棧放入真實(shí)的物理設(shè)備,利用實(shí)際使用中出現(xiàn)的各種場景,對設(shè)備進(jìn)行測試。但是,上述過程是由物理設(shè)備獨(dú)立且自行控制的,測試方法比較復(fù)雜且不靈活,無法及時(shí)的了解測試過程,以及測試過程中產(chǎn)生的數(shù)據(jù),導(dǎo)致無法準(zhǔn)確的對測試結(jié)果進(jìn)行分析,從而無法對協(xié)議棧進(jìn)行準(zhǔn)確的調(diào)試。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種協(xié)議棧的測試方法,以解決現(xiàn)有協(xié)議棧測試中測試不準(zhǔn)確的問題。
[0006]相應(yīng)的,本發(fā)明實(shí)施例還提供了一種物理設(shè)備、一種終端,以及一種協(xié)議棧的測試系統(tǒng)。
[0007]為了解決上述問題,本發(fā)明實(shí)施例公開了一種協(xié)議棧的測試方法,包括:
[0008]物理設(shè)備接收終端發(fā)送的第一測試數(shù)據(jù);
[0009]所述物理設(shè)備對所述第一測試數(shù)據(jù)的數(shù)據(jù)頭進(jìn)行解析;
[0010]所述物理設(shè)備按照解析的結(jié)果對所述第一測試數(shù)據(jù)進(jìn)行協(xié)議棧測試,并反饋測試過程中產(chǎn)生的交互數(shù)據(jù)給終端,以使終端通過所述交互數(shù)據(jù)確定協(xié)議棧測試狀態(tài)。
[0011]本發(fā)明實(shí)施例還公開了一種物理設(shè)備,包括:
[0012]設(shè)備接收模塊,用于接收終端發(fā)送的第一測試數(shù)據(jù);
[0013]設(shè)備解析模塊,用于對所述第一測試數(shù)據(jù)的數(shù)據(jù)頭進(jìn)行解析;
[0014]設(shè)備測試模塊,用于按照解析的結(jié)果對所述第一測試數(shù)據(jù)進(jìn)行協(xié)議棧測試;
[0015]設(shè)備發(fā)送模塊,用于反饋測試過程中產(chǎn)生的交互數(shù)據(jù)給終端,以使終端通過所述交互數(shù)據(jù)確定協(xié)議棧測試狀態(tài)。
[0016]本發(fā)明實(shí)施例還公開了一種終端,包括:
[0017]終端發(fā)送模塊,用于發(fā)送第一測試數(shù)據(jù)給物理設(shè)備;
[0018]終端接收模塊,用于接收所述物理設(shè)備反饋的交互數(shù)據(jù),其中所述交互數(shù)據(jù)是所述物理設(shè)備對所述第一測試數(shù)據(jù)執(zhí)行協(xié)議棧測試過程中產(chǎn)生的;
[0019]終端分析模塊,用于對接收的所述交互數(shù)據(jù)進(jìn)行分析,確定協(xié)議棧測試狀態(tài)。
[0020]本發(fā)明實(shí)施例還公開了一種協(xié)議棧的測試系統(tǒng),其特征在于,包括:上述物理設(shè)備,以及上述終端。
[0021]與現(xiàn)有技術(shù)相比,本發(fā)明包括以下優(yōu)點(diǎn):
[0022]采用物理設(shè)備接收終端發(fā)送的第一測試數(shù)據(jù)并對第一測試數(shù)據(jù)進(jìn)行解析,從而依據(jù)解析結(jié)果對第一測試數(shù)據(jù)進(jìn)行協(xié)議棧測試,并反饋測試過程中產(chǎn)生的交互數(shù)據(jù)給終端以使終端可以確定協(xié)議棧測試的狀態(tài)。在物理設(shè)備的實(shí)際硬件環(huán)境進(jìn)行協(xié)議棧的測試,能夠獲取準(zhǔn)確的測試結(jié)果,且通過物理設(shè)備與終端的交互可以控制協(xié)議棧的測試并確定測試狀態(tài),從而及時(shí)的了解測試過程,準(zhǔn)確的對測試進(jìn)行分析并調(diào)試。
【專利附圖】
【附圖說明】
[0023]圖1是本發(fā)明實(shí)施例一提供的物理設(shè)備側(cè)的協(xié)議棧測試方法流程圖;
[0024]圖2是本發(fā)明實(shí)施例一提供的物理設(shè)備側(cè)的協(xié)議棧測試方法可選流程圖;
[0025]圖3是本發(fā)明實(shí)施例二提供的終端側(cè)的協(xié)議棧測試方法流程圖;
[0026]圖4是本發(fā)明實(shí)施例二提供的終端側(cè)的協(xié)議棧測試方法可選流程圖;
[0027]圖5是本發(fā)明實(shí)施例提供的協(xié)議棧的測試方法中物理設(shè)備和終端交互示意圖;
[0028]圖6是本發(fā)明實(shí)施例三提供的物理設(shè)備結(jié)構(gòu)圖;
[0029]圖7是本發(fā)明實(shí)施例三提供的物理設(shè)備可選結(jié)構(gòu)圖;
[0030]圖8是本發(fā)明實(shí)施例三提供的終端結(jié)構(gòu)圖;
[0031]圖9是本發(fā)明實(shí)施例三提供的終端可選結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0032]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0033]本發(fā)明實(shí)施例提供一種協(xié)議棧的測試方法,采用物理設(shè)備接收終端發(fā)送的第一測試數(shù)據(jù)并對第一測試數(shù)據(jù)進(jìn)行解析,從而依據(jù)解析結(jié)果對第一測試數(shù)據(jù)進(jìn)行協(xié)議棧測試,并反饋測試過程中產(chǎn)生的交互數(shù)據(jù)給終端以使終端可以確定協(xié)議棧測試的狀態(tài)。在物理設(shè)備的實(shí)際硬件環(huán)境進(jìn)行協(xié)議棧的測試,能夠獲取準(zhǔn)確的測試結(jié)果,且通過物理設(shè)備與終端的交互可以控制協(xié)議棧的測試并確定測試狀態(tài),從而及時(shí)的了解測試過程,準(zhǔn)確的對測試進(jìn)行分析并調(diào)試。
[0034]實(shí)施例一
[0035]本實(shí)施例通過物理設(shè)備和終端的交互進(jìn)行協(xié)議棧的測試,其中物理設(shè)備側(cè)的操作步驟如下:
[0036]參照圖1,給出了本發(fā)明實(shí)施例一提供的物理設(shè)備側(cè)的協(xié)議棧測試方法流程圖。[0037]步驟101,物理設(shè)備接收終端發(fā)送的第一測試數(shù)據(jù)。
[0038]在物理設(shè)備和終端的交互進(jìn)行協(xié)議棧的測試時(shí),終端可以通過發(fā)送第一測試數(shù)據(jù)對協(xié)議棧測試進(jìn)行控制,確定進(jìn)行協(xié)議棧的哪部分測試,因此物理設(shè)備可以接收到終端發(fā)送的第一測試數(shù)據(jù)。
[0039]其中,物理設(shè)備指的是硬盤和系統(tǒng)所掛接的各種設(shè)備,物理設(shè)備是實(shí)際存在的,本發(fā)明實(shí)施例中在物理設(shè)備中運(yùn)行協(xié)議棧,如時(shí)分同步碼分多址(TimeDivision-Synchronous Code Division Multiple Access, TD-SCDMA)協(xié)議棧的 TD-SCDMA終端,又如分時(shí)長期演進(jìn)(Time Division Long Term Evolution,TD-LTE)協(xié)議棧的TD-LTE終端等。本發(fā)明實(shí)施例中,終端可以采用個(gè)人計(jì)算機(jī)等設(shè)備。
[0040]步驟102,物理設(shè)備對第一測試數(shù)據(jù)的數(shù)據(jù)頭進(jìn)行解析。
[0041 ] 第一測試數(shù)據(jù)的數(shù)據(jù)頭中包括本次測試的測試內(nèi)容等信息,從而物理設(shè)備可以對接收的第一測試數(shù)據(jù)的數(shù)據(jù)頭進(jìn)行解析,從數(shù)據(jù)頭中解析出測試的內(nèi)容,進(jìn)而確定本次測試涉及協(xié)議棧的哪些模塊等信息。
[0042]步驟103,物理設(shè)備按照解析的結(jié)果對第一測試數(shù)據(jù)進(jìn)行協(xié)議棧測試,并反饋測試過程中產(chǎn)生的交互數(shù)據(jù)給終端,以使終端通過交互數(shù)據(jù)確定協(xié)議棧測試狀態(tài)。
[0043]然后物理設(shè)備依據(jù)解析的結(jié)果,即本次測試的測試內(nèi)容,調(diào)用協(xié)議棧的相應(yīng)模塊(或協(xié)議層)對第一測試數(shù)據(jù)進(jìn)行協(xié)議棧測試,在協(xié)議棧測試的過程中,需要協(xié)議棧中各模塊協(xié)作處理,因此在各模塊通過接口進(jìn)行調(diào)用時(shí)會(huì)產(chǎn)生相應(yīng)的交互數(shù)據(jù),可以將該交互數(shù)據(jù)傳輸給終端,以使終端可以了解協(xié)議棧測試的各個(gè)環(huán)節(jié)以及測試的狀態(tài)等信息,便于后續(xù)對協(xié)議棧進(jìn)行調(diào)試。
[0044]綜上所述,采用物理設(shè)備接收終端發(fā)送的第一測試數(shù)據(jù)并對第一測試數(shù)據(jù)進(jìn)行解析,從而依據(jù)解析結(jié)果對第一測試數(shù)據(jù)進(jìn)行協(xié)議棧測試,并反饋測試過程中產(chǎn)生的交互數(shù)據(jù)給終端以使終端可以確定協(xié)議棧測試的狀態(tài)。在物理設(shè)備的實(shí)際硬件環(huán)境進(jìn)行協(xié)議棧的測試,能夠獲取準(zhǔn)確的測試結(jié)果,且通過物理設(shè)備與終端的交互可以控制協(xié)議棧的測試并確定測試狀態(tài),從而及時(shí)的了解測試過程,準(zhǔn)確的對測試進(jìn)行分析并調(diào)試。
[0045]在上述實(shí)施例的基礎(chǔ)上,進(jìn)一步詳細(xì)論述協(xié)議棧的測試中物理設(shè)備側(cè)的處理流程。
[0046]本發(fā)明實(shí)施例中,在物理設(shè)備中運(yùn)行協(xié)議棧的協(xié)議進(jìn)程中,創(chuàng)建一個(gè)基于傳輸控制協(xié)議(Transmission Control Protocol, TCP)通信的線程。這個(gè)線程可以用來接收、解析終端如測試PC端傳送的數(shù)據(jù),然后將數(shù)據(jù)轉(zhuǎn)發(fā)給協(xié)議棧的其他模塊進(jìn)行處理。模塊間的數(shù)據(jù)交互是通過協(xié)議中特有的通信接口,在這些接口調(diào)用時(shí)會(huì)將交互數(shù)據(jù)利用TCP通信抄送給測試PC端,通過PC端對交互數(shù)據(jù)的接收解析來查看協(xié)議的運(yùn)行情況。具體步驟如下:
[0047]參照圖2,給出了本發(fā)明實(shí)施例一提供的物理設(shè)備側(cè)的協(xié)議棧測試方法可選流程圖。
[0048]步驟201,物理設(shè)備接收終端發(fā)送的連接請求,并按照連接請求與終端建立連接。
[0049]在物理設(shè)備中建立一個(gè)基于TCP通信的線程,該線程運(yùn)行首先會(huì)初始化,建立TCP服務(wù)端,可以采用S0CK_STREAM協(xié)議(即TCP協(xié)議)創(chuàng)建的套接字(socket)有利于數(shù)據(jù)的交互的安全,數(shù)據(jù)傳輸不會(huì)丟失,綁定一個(gè)固定的端口號0x2525,綁定端口號有助于PC客戶端通過端口實(shí)現(xiàn)與服務(wù)端的連接,然后等待終端如PC端的連接。例如,采用如下方法創(chuàng)建TCP通信的線程,并初始化建立TCP服務(wù)端:
[0050]void test_target_socket_init(void)
[0051]{
[0052]sfp_test_target_tcp=socket (AF_INET, S0CK_STREAM, 0) ; // 創(chuàng)建 S0CK_STREAM
[0053]src_add_test_target.sin_family=AF_INET;
[0054]src_add_test_target.sin_addr.s_addr=htonl(INADDR_ANY);
[0055]src_add_test_target.sin_port=htons(port_test_target);
[0056]bzero(&(src_add_test_target.sin_zero), 8);
[0057]bind (sfp_test_target_tcp, (struct sockaddr*) (&src_add_test_target), sizeof (struct sockaddr) ;// 綁定的端 口,port_test_target=0x2525
[0058]listen(sfp_test_target_tcp, 20);
[0059]}
[0060]在初始化成功后,物理設(shè)備可以接收PC端發(fā)送的連接請求,物理設(shè)備根據(jù)該鏈接請求與PC端建立連接。
[0061]步驟202,物理設(shè)備循環(huán)接收終端發(fā)送的第一測試數(shù)據(jù)。
[0062]步驟203,物理設(shè)備從第一測試數(shù)據(jù)中獲取數(shù)據(jù)頭。
[0063]步驟204,物理設(shè)備對數(shù)據(jù)頭中攜帶的參數(shù)進(jìn)行解析,確定待執(zhí)行的功能函數(shù)。
[0064]步驟205,物理設(shè)備按照功能函數(shù)調(diào)用協(xié)議棧的各模塊對第一測試數(shù)據(jù)進(jìn)行協(xié)議棧測試。
[0065]連接成功后物理設(shè)備循環(huán)接收PC端發(fā)送的第一測試數(shù)據(jù),本發(fā)明實(shí)施例中數(shù)據(jù)的接收采用阻塞方式,即當(dāng)PC端沒有第一測試數(shù)據(jù)等消息發(fā)送到物理設(shè)備時(shí),recv函數(shù)將阻塞等待數(shù)據(jù);當(dāng)PC端斷開連接后,recv函數(shù)將不再阻塞等待,接收的消息長度length —直為0,這時(shí)需要重新跳轉(zhuǎn)到loop處等待PC端的再次連接。
[0066]物理設(shè)備在接收PC發(fā)送的第一測試數(shù)據(jù)時(shí),首先會(huì)接收三個(gè)字節(jié)的數(shù)據(jù)頭,通過對數(shù)據(jù)頭進(jìn)行解析可以判斷協(xié)議棧測試的測試內(nèi)容,即本次測試待執(zhí)行的功能函數(shù),如:
[0067]readbuf[0] =5, readbuf [I] =5, readbuf [2] =1,將執(zhí)行 CopySendReadfunO 函數(shù);
[0068]readbuf [0] =5, readbuf [I] =5, readbuf [2] =2,將執(zhí)行 ACHReadfunO 函數(shù);
[0069]readbuf [0] =5, readbuf [I] =5, readbuf [2] =4,將執(zhí)行 RexefunO 函數(shù);
[0070]readbuf [0] =5, readbuf [I] =5, readbuf [2]=8,將執(zhí)行 RegisterfunO 函數(shù);
[0071]不同的功能函數(shù)具備不同的功能,在協(xié)議棧測試時(shí)采用不同的功能函數(shù)會(huì)調(diào)用不同的模塊,下面舉例介紹其中幾種功能函數(shù)的功能:
[0072]CopySendReadfun O 功能函數(shù):CopySendReadfun 函數(shù)接收 PC 端使用 Copysend 函數(shù)發(fā)送的消息,CopySendReadfun接收完消息后將消息送到協(xié)議棧中模塊的消息隊(duì)列中,協(xié)議棧的模塊取自己的消息隊(duì)列內(nèi)容進(jìn)行處理;PC端調(diào)用Copysend函數(shù)發(fā)送的消息到物理設(shè)備端,發(fā)送的消息頭(三個(gè)字節(jié))內(nèi)容即是5、5、1。
[0073]ACHReadfun ()功能函數(shù)介紹:ACHReadfun函數(shù)接收PC端使用的ACHSend函數(shù)發(fā)送的消息,ACHReadfun接收完消息后將消息進(jìn)行處理后,該處理功能可以改變協(xié)議棧中某些狀態(tài)變量;PC端調(diào)用ACHSend函數(shù)發(fā)送的消息到物理設(shè)備端,發(fā)送的消息頭(三個(gè)字節(jié))內(nèi)容即是5、5、2。[0074]Rexefun O功能函數(shù)介紹:Rexefun()函數(shù)接收PC端使用的Rexe函數(shù)發(fā)送的消息,Rexefun接收完消息后將消息進(jìn)行處理,該處理功能是執(zhí)行接收到消息內(nèi)容中指定的函數(shù),因?yàn)镻C端使用Rexe發(fā)送的消息內(nèi)容即是協(xié)議棧中的一個(gè)函數(shù)名稱字符串,可以理解為PC端遠(yuǎn)程調(diào)用協(xié)議執(zhí)行函數(shù)的功能;PC端調(diào)用Rexe函數(shù)發(fā)送的消息到物理設(shè)備端,發(fā)送的消息頭(三個(gè)字節(jié))內(nèi)容即是5、5、4。
[0075]Registerfun()功能函數(shù)介紹:RegisterfunO函數(shù)接收PC端使用的Register函數(shù)發(fā)送的消息,Registerfun接收完消息后將消息進(jìn)行處理,該處理功能是屏蔽協(xié)議棧中某個(gè)模塊的啟動(dòng)功能,因?yàn)閰f(xié)議棧中會(huì)有多個(gè)模塊在運(yùn)行,比如無線資源控制協(xié)議(Radio Resource Control, RRC),介質(zhì)訪問控制(Media Access Controlmac, MAC)等模塊,PC端使用Register發(fā)送的消息內(nèi)容即是協(xié)議棧中某個(gè)模塊的標(biāo)識(Identity, ID)值,Registerfun根據(jù)模塊ID關(guān)閉相應(yīng)模塊的功能;PC端調(diào)用Register函數(shù)發(fā)送的消息到物理設(shè)備端,發(fā)送的消息頭(三個(gè)字節(jié))內(nèi)容即是5、5、8。
[0076]從而采用如下的阻塞方式進(jìn)行第一測試數(shù)據(jù)的接收,并在接收第一測試數(shù)據(jù)后進(jìn)行第一測試數(shù)據(jù)的解析等操作。
[0077]loop: (loop處,pc端斷開后,tcp通信線程將跳轉(zhuǎn)到該處等待PC端連接)
[0078]int sin_size = sizeoilfstruct sockaddr_in);sfp_test_target=accept(sfp_test_target_tcp,(structsockaddr*)(&dst_add_test_target),(socklen_t*)(&sin_size));//接收 PC 的連接while(l)//循環(huán)接收PC發(fā)送的第一測試數(shù)據(jù){
Iength=recv(sfp_test_target,(char*)readbuf,3,0); //接收 PC 發(fā)送的數(shù)據(jù)頭if(length==3)//解析PC發(fā)送的數(shù) 據(jù)頭,根據(jù)數(shù)據(jù)頭的內(nèi)容進(jìn)入不同的功能函數(shù)
{
if(readbuf[0]==5&&readbuf[ I]==
{
svvitch(readbuf[2])
{
case 1:
CopySendReadfun();//接收PC端發(fā)送的第一測試數(shù)據(jù)送入?yún)f(xié)議模塊的功能函數(shù)
break;
case 2:
ACHReadfunO;//接收PC發(fā)送的第一測試數(shù)據(jù)需要協(xié)議進(jìn)行特定處理的功能函數(shù)
break;
case 4:
RexefonO; //接收PC發(fā)送的第一測試數(shù)據(jù)可以控制協(xié)議函數(shù)執(zhí)行的功能函數(shù)
[0079]
【權(quán)利要求】
1.一種協(xié)議棧的測試方法,其特征在于,包括: 物理設(shè)備接收終端發(fā)送的第一測試數(shù)據(jù); 所述物理設(shè)備對所述第一測試數(shù)據(jù)的數(shù)據(jù)頭進(jìn)行解析; 所述物理設(shè)備按照解析的結(jié)果對所述第一測試數(shù)據(jù)進(jìn)行協(xié)議棧測試,并反饋測試過程中產(chǎn)生的交互數(shù)據(jù)給終端,以使終端通過所述交互數(shù)據(jù)確定協(xié)議棧測試狀態(tài)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述物理設(shè)備對所述第一測試數(shù)據(jù)的數(shù)據(jù)頭進(jìn)行解析,包括: 所述物理設(shè)備從所述第一測試數(shù)據(jù)中獲取數(shù)據(jù)頭; 對所述數(shù)據(jù)頭中攜帶的參數(shù)進(jìn)行解析,確定待執(zhí)行的功能函數(shù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述物理設(shè)備按照解析的結(jié)果對所述第一測試數(shù)據(jù)進(jìn)行協(xié)議棧測試,并反饋測試過程中產(chǎn)生的交互數(shù)據(jù)給終端,包括: 所述物理設(shè)備按照所述功能函數(shù)調(diào)用所述協(xié)議棧的各模塊對所述第一測試數(shù)據(jù)進(jìn)行協(xié)議棧測試; 協(xié)議棧測試時(shí),將所述協(xié)議棧中各模塊的接口調(diào)用過程中產(chǎn)生的交互數(shù)據(jù)反饋給所述終端。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述物理設(shè)備接收終端發(fā)送的第一測試數(shù)據(jù),包括: 所述物理設(shè)備接收所述終端`發(fā)送的連接請求,并按照所述連接請求與所述終端建立連接; 所述物理設(shè)備循環(huán)接收所述終端發(fā)送的第一測試數(shù)據(jù),其中,所述第一測試數(shù)據(jù)是所述終端執(zhí)行所述協(xié)議棧測試的測試用例獲取的第二測試數(shù)據(jù),并按照所述物理設(shè)備的格式要求對所述第二測試數(shù)據(jù)進(jìn)行轉(zhuǎn)換后獲得的。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述終端通過所述交互數(shù)據(jù)確定協(xié)議棧測試狀態(tài)包括: 所述終端按照所述終端的格式要求對所述交互數(shù)據(jù)進(jìn)行轉(zhuǎn)換,并將轉(zhuǎn)換后的交互數(shù)據(jù)存儲的數(shù)據(jù)隊(duì)列中; 所述終端從所述數(shù)據(jù)隊(duì)列中獲取所述轉(zhuǎn)換后的交互數(shù)據(jù); 所述終端對所述轉(zhuǎn)換后的交互數(shù)據(jù)進(jìn)行分析,確定所述協(xié)議棧中各模塊的接口調(diào)用過程中所述協(xié)議棧測試狀態(tài)。
6.一種物理設(shè)備,其特征在于,包括: 設(shè)備接收模塊,用于接收終端發(fā)送的第一測試數(shù)據(jù); 設(shè)備解析模塊,用于對所述第一測試數(shù)據(jù)的數(shù)據(jù)頭進(jìn)行解析; 設(shè)備測試模塊,用于按照解析的結(jié)果對所述第一測試數(shù)據(jù)進(jìn)行協(xié)議棧測試; 設(shè)備發(fā)送模塊,用于反饋測試過程中產(chǎn)生的交互數(shù)據(jù)給終端,以使終端通過所述交互數(shù)據(jù)確定協(xié)議棧測試狀態(tài)。
7.根據(jù)權(quán)利要求6所述的物理設(shè)備,其特征在于,所述設(shè)備解析模塊,包括: 數(shù)據(jù)頭獲取子模塊,用于從所述第一測試數(shù)據(jù)中獲取數(shù)據(jù)頭; 解析子模塊,用于對所述數(shù)據(jù)頭中攜帶的參數(shù)進(jìn)行解析,確定待執(zhí)行的功能函數(shù)。
8.根據(jù)權(quán)利要求7所述的物理設(shè)備,其特征在于:所述設(shè)備測試模塊,用于按照所述功能函數(shù)調(diào)用所述協(xié)議棧的各模塊對所述第一測試數(shù)據(jù)進(jìn)行協(xié)議棧測試; 所述設(shè)備發(fā)送模塊,用于在協(xié)議棧測試時(shí),將所述協(xié)議棧中各模塊的接口調(diào)用過程中產(chǎn)生的交互數(shù)據(jù)反饋給所述終端。
9.根據(jù)權(quán)利要求6所述的物理設(shè)備,其特征在于,所述設(shè)備接收模塊,包括: 連接建立子模塊,用于接收所述終端發(fā)送的連接請求,并按照所述連接請求與所述終端建立連接; 數(shù)據(jù)接收子模塊,用于循環(huán)接收所述終端發(fā)送的第一測試數(shù)據(jù),其中,所述第一測試數(shù)據(jù)是所述終端執(zhí)行所述協(xié)議棧測試的測試用例獲取的第二測試數(shù)據(jù),并按照所述物理設(shè)備的格式要求對所述第二測試數(shù)據(jù)進(jìn)行轉(zhuǎn)換后獲得的。
10.一種終端,其特征在于,包括: 終端發(fā)送模塊,用于發(fā)送第一測試數(shù)據(jù)給物理設(shè)備; 終端接收模塊,用于接收所述物理設(shè)備反饋的交互數(shù)據(jù),其中所述交互數(shù)據(jù)是所述物理設(shè)備對所述第一測試數(shù)據(jù)執(zhí)行協(xié)議棧測試過程中產(chǎn)生的; 終端分析模塊,用于對接收的所述交互數(shù)據(jù)進(jìn)行分析,確定協(xié)議棧測試狀態(tài)。
11.根據(jù)權(quán)利要求10所述的終端,其特征在于: 所述終端發(fā)送模塊,還用于發(fā)送連接請求給所述物理設(shè)備,以使所述物理設(shè)備按照所述連接請求建立連接; 所述的終端還包括: 用例執(zhí)行模塊,用于執(zhí)行所述協(xié)議棧測試的測試用例獲取第二測試數(shù)據(jù); 轉(zhuǎn)換模塊,用于按照所述物理設(shè)備的格式要求對所述第二測試數(shù)據(jù)進(jìn)行轉(zhuǎn)換生成所述第一測試數(shù)據(jù)。
12.根據(jù)權(quán)利要求11所述的終端,其特征在于: 所述轉(zhuǎn)換模塊,用于按照所述終端的格式要求對所述交互數(shù)據(jù)進(jìn)行轉(zhuǎn)換;并將轉(zhuǎn)換后的交互數(shù)據(jù)存儲的數(shù)據(jù)隊(duì)列中; 所述終端分析模塊,用于所述終端從所述數(shù)據(jù)隊(duì)列中獲取所述轉(zhuǎn)換后的交互數(shù)據(jù);對所述轉(zhuǎn)換后的交互數(shù)據(jù)進(jìn)行分析,確定所述協(xié)議棧中各模塊的接口調(diào)用過程中所述協(xié)議棧測試狀態(tài)。
13.—種協(xié)議棧的測試系統(tǒng),其特征在于,包括:如權(quán)利要求6至9任一所述的物理設(shè)備,以及如權(quán)利要求10至12任一所述的終端。
【文檔編號】H04L29/08GK103684913SQ201310661270
【公開日】2014年3月26日 申請日期:2013年12月9日 優(yōu)先權(quán)日:2013年12月9日
【發(fā)明者】石懷文 申請人:北京創(chuàng)毅視訊科技有限公司