一種模塊間接口的測試方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種模塊間接口的測試方法,包括:獲取待測模塊輸出的數(shù)據(jù)包,利用存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測,得到檢測結(jié)果;所述接口信息為待測模塊的下游模塊的入接口信息,用于限制所述入接口接收的字段;本發(fā)明還提供一種模塊間接口的測試系統(tǒng)。根據(jù)本發(fā)明提供的技術(shù)方案,能夠降低模塊的修改成本,提高開發(fā)效率。
【專利說明】一種模塊間接口的測試方法及系統(tǒng)
【【技術(shù)領(lǐng)域】】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)的測試技術(shù),尤其涉及一種模塊間接口的測試方法及系統(tǒng)?!尽颈尘凹夹g(shù)】】
[0002]目前,模塊的開發(fā)過程中,模塊測試主要包括模塊功能測試和模塊間接口測試,其中,對系統(tǒng)中模塊間接口測試通常是在模塊功能測試之后,進行模塊間聯(lián)調(diào)時進行的,此時如果發(fā)現(xiàn)接口問題,由于系統(tǒng)中模塊已經(jīng)定型,因此,發(fā)現(xiàn)問題不及時,導(dǎo)致修改時需要耗費很多的人力物力,修改成本非常高,導(dǎo)致整個開發(fā)周期的延遲。
[0003]現(xiàn)有技術(shù)中,通過定期地監(jiān)測系統(tǒng)中各個模塊間接口傳遞的數(shù)據(jù),對模塊間接口進行測試,該測試過程中,需要根據(jù)經(jīng)過長時間的學(xué)習(xí)得到的接口中數(shù)據(jù)的可信區(qū)間對數(shù)據(jù)進行監(jiān)測,如果數(shù)據(jù)超出可信區(qū)間,則發(fā)出報警給開發(fā)人員。如果開發(fā)人員對接口進行升級處理,利用上述方案,將會導(dǎo)致出現(xiàn)誤報情況。
[0004]另外,目前系統(tǒng)中模塊的開發(fā)過程中,不同模塊的開發(fā)人員之間需要進行長時間的溝通,來確認下游模塊是否能夠接受上游模塊的接口的改動,然后才能確定開發(fā)方案,因此消耗過多的時間進行溝通,導(dǎo)致開發(fā)效率較低。
【
【發(fā)明內(nèi)容】
】
[0005]本發(fā)明提供了一種模塊間接口的測試方法及系統(tǒng),能夠降低模塊的修改成本,提高開發(fā)效率。
[0006]本發(fā)明的具體技術(shù)方案如下:
[0007]根據(jù)本發(fā)明一優(yōu)選實施例,一種模塊間接口的測試方法,包括:`[0008]獲取待測模塊輸出的數(shù)據(jù)包,利用存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測,得到檢測結(jié)果;所述接口信息為待測模塊的下游模塊的入接口信息,用于限制所述入接口接收的字段。
[0009]上述方法中,所述利用存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測為:
[0010]判斷數(shù)據(jù)包中的字段是否完全符合所述接口信息對字段的規(guī)定,如果是,則確定所述待測模塊與所述下游模塊之間的接口通過測試,否則確定所述待測模塊與所述下游模塊之間的接口未通過測試。
[0011]上述方法中,所述利用存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測為:
[0012]判斷數(shù)據(jù)包中的字段是否完全符合所述接口信息中第一優(yōu)先級的接口信息對字段的規(guī)定;如果是,判斷所述數(shù)據(jù)包中的字段是否完全符合所述接口信息中第二優(yōu)先級的接口信息對字段的規(guī)定;否則確定所述待測模塊與所述下游模塊之間的接口未通過測試;
[0013]當(dāng)所述數(shù)據(jù)包中的字段完全符合第二優(yōu)先級的接口信息對字段的規(guī)定時,確定所述待測模塊與所述下游模塊之間的接口通過測試;否則確定所述待測模塊與所述下游模塊之間的接口未通過測試。
[0014]上述方法中,[0015]所述第一優(yōu)先級的接口信息為用戶通過圖形用戶界面CTI提供的接口信息;
[0016]所述第二優(yōu)先級的接口信息是對系統(tǒng)中模塊間傳遞的字段的字段類型、字段中數(shù)據(jù)的最大值和字段中數(shù)據(jù)的最小值,進行學(xué)習(xí)后得到的接口信息。
[0017]上述方法中,該方法還包括:
[0018]通過GUI對存儲的第一優(yōu)先級的接口信息進行增加、刪除、修改或查詢操作,并當(dāng)對所述第一優(yōu)先級的接口信息進行修改操作時,進行修改沖突檢測;或,
[0019]批量導(dǎo)入或批量導(dǎo)出所述第一優(yōu)先級的接口信息。
[0020]上述方法中,所述獲取待測模塊輸出的數(shù)據(jù)包為:
[0021]從待測模塊的出接口抓取所述待測模塊輸出的數(shù)據(jù)包,或接收用戶導(dǎo)入的數(shù)據(jù)包;
[0022]對獲取到的數(shù)據(jù)包進行解析,得到數(shù)據(jù)包中包含的字段。
[0023]上述方法中,所述利用存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測之前,該方法還包括:在解析后得到的身份標(biāo)識字段中提取所述數(shù)據(jù)包發(fā)往的下游模塊的身份標(biāo)識,根據(jù)所述身份標(biāo)識獲取對應(yīng)的接口信息。
[0024]上述方法中,該方法還包括:
[0025]當(dāng)確定所述待測模塊與所述下游模塊之間的接口未通過測試時,將報警信息發(fā)送給用戶,并獲取用戶依據(jù)所述報警信息對接口信息是否錯誤的判斷結(jié)果。
[0026]上述方法中,所述獲取用戶依據(jù)所述報警信息對接口信息是否錯誤的判斷結(jié)果為:
[0027]如果用戶觸發(fā)結(jié)束按鈕,則獲取所述判斷結(jié)果為存儲的接口信息沒有錯誤,是數(shù)據(jù)包中字段錯誤;
[0028]如果用戶觸發(fā)修改按鈕,則獲取所述判斷結(jié)果為存儲的接口信息錯誤。
[0029]上述方法中,該方法還包括:
[0030]當(dāng)接口信息存在錯誤時,對模塊間傳遞的字段的字段類型、字段中數(shù)據(jù)的最大值和字段中數(shù)據(jù)的最小值進行重新學(xué)習(xí),得到新的接口信息,并利用新的接口信息替換錯誤的接口信息。
[0031]一種模塊間接口的測試系統(tǒng),包括:接口管理平臺和接口檢測平臺;所述接口管理平臺包括數(shù)據(jù)庫,所述接口檢測平臺包括檢測模塊;其中,
[0032]數(shù)據(jù)庫,用于存儲接口信息;所述接口信息為待測模塊的下游模塊的入接口信息,用于限制所述入接口接收的字段;
[0033]檢測模塊,用于獲取待測模塊輸出的數(shù)據(jù)包,利用所述數(shù)據(jù)庫存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測,得到檢測結(jié)果。
[0034]上述系統(tǒng)中,所述檢測模塊在利用所述數(shù)據(jù)庫存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測時,具體為:
[0035]判斷數(shù)據(jù)包中的字段是否完全符合所述接口信息對字段的規(guī)定,如果是,則確定所述待測模塊與所述下游模塊之間的接口通過測試,否則確定所述待測模塊與所述下游模塊之間的接口未通過測試。
[0036]上述系統(tǒng)中,所述檢測模塊在利用所述數(shù)據(jù)庫存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測時,具體為:[0037]判斷數(shù)據(jù)包中的字段是否完全符合所述接口信息中第一優(yōu)先級的接口信息對字段的規(guī)定;如果是,判斷所述數(shù)據(jù)包中的字段是否完全符合所述接口信息中第二優(yōu)先級的接口信息對字段的規(guī)定;否則確定所述待測模塊與所述下游模塊之間的接口未通過測試;
[0038]當(dāng)所述數(shù)據(jù)包中的字段完全符合第二優(yōu)先級的接口信息對字段的規(guī)定時,確定所述待測模塊與所述下游模塊之間的接口通過測試;否則確定所述待測模塊與所述下游模塊之間的接口未通過測試。
[0039]上述系統(tǒng)中,所述接口管理平臺還包括⑶I和機器學(xué)習(xí)模塊;其中,
[0040]所述GUI,用于獲取用戶提供的接口信息并作為所述第一優(yōu)先級的接口信息;
[0041]所述機器學(xué)習(xí)模塊,用于對系統(tǒng)中模塊間傳遞的字段的字段類型、字段中數(shù)據(jù)的最大值和字段中數(shù)據(jù)的最小值進行學(xué)習(xí),得到所述第二優(yōu)先級的接口信息。
[0042]上述系統(tǒng)中,
[0043]所述CTI還用于,接收對存儲的第一優(yōu)先級的接口信息進行增加、刪除、修改或查詢操作,并當(dāng)對所述第一優(yōu)先級的接口信息進行修改操作時,觸發(fā)所述接口管理平臺中的沖突檢測模塊進行修改沖突檢測;或,
[0044]所述⑶I還用于,批量導(dǎo)入或批量導(dǎo)出所述第一優(yōu)先級的接口信息。
[0045]上述系統(tǒng)中,所述檢測模塊獲取待測模塊輸出的數(shù)據(jù)包時,具體為:
[0046]從待測模塊的出接口抓取所述待測模塊輸出的數(shù)據(jù)包,或接收用戶導(dǎo)入的數(shù)據(jù)包;對獲取到的數(shù)據(jù)包進行解析,得到數(shù)據(jù)包中包含的字段。
[0047]上述系統(tǒng)中,所述檢測模塊,還用于在解析后得到的身份標(biāo)識字段中提取所述數(shù)據(jù)包發(fā)往的下游模塊的身份標(biāo)識,根據(jù)所述身份標(biāo)識從所述數(shù)據(jù)庫獲取對應(yīng)的接口信息。
[0048]上述系統(tǒng)中,所述接口檢測平臺還包括:監(jiān)控界面;
[0049]當(dāng)確定所述待測模塊與所述下游模塊之間的接口未通過測試時,所述檢測模塊還用于將報警信息發(fā)送給用戶;
[0050]所述監(jiān)控界面,用于獲取用戶依據(jù)所述報警信息對接口信息是否錯誤的判斷結(jié)果O
[0051]上述系統(tǒng)中,所述監(jiān)控界面在獲取用戶依據(jù)所述報警信息對接口信息是否錯誤的判斷結(jié)果時,具體為:
[0052]如果用戶觸發(fā)結(jié)束按鈕,則獲取所述判斷結(jié)果為存儲的接口信息沒有錯誤,是數(shù)據(jù)包中字段錯誤;
[0053]如果用戶觸發(fā)修改按鈕,則獲取所述判斷結(jié)果為存儲的接口信息錯誤。
[0054]上述系統(tǒng)中,所述機器學(xué)習(xí)模塊,還用于當(dāng)接口信息存在錯誤時,對模塊間傳遞的字段的字段類型、字段中數(shù)據(jù)的最大值和字段中數(shù)據(jù)的最小值進行重新學(xué)習(xí),得到新的接口信息,并利用新的接口信息替換錯誤的接口信息。
[0055]由以上技術(shù)方案可以看出,本發(fā)明提供的具有以下有益效果:
[0056]可以利用待測模塊的下游模塊的入接口信息,對待測模塊的輸出進行測試,從而能夠檢測出模塊的接口問題,實現(xiàn)在模塊功能測試的過程進行模塊間接口測試,解決目前只有在模塊功能測試完成后,才能進行的模塊間接口測試的問題,能夠盡快發(fā)現(xiàn)問題,進而在模塊未定型之前對模塊進行修改,從而降低修改成本,提高開發(fā)效率?!尽緦@綀D】
【附圖說明】】
[0057]圖1是本發(fā)明實現(xiàn)模塊間接口的測試系統(tǒng)的優(yōu)選實施例的結(jié)構(gòu)示意圖;
[0058]圖2是本發(fā)明實現(xiàn)模塊間接口的測試方法的優(yōu)選實施例的流程示意圖。
【【具體實施方式】】
[0059]本發(fā)明的基本思想是:獲取待測模塊輸出的數(shù)據(jù)包,利用存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測,得到檢測結(jié)果;所述接口信息為待測模塊的下游模塊的入接口信息,用于限制所述入接口接收的字段。
[0060]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。
[0061]本發(fā)明提供一種模塊間接口的測試系統(tǒng),圖1是本發(fā)明實現(xiàn)模塊間接口的測試系統(tǒng)的優(yōu)選實施例的結(jié)構(gòu)示意圖,如圖1所示,該系統(tǒng)包括:接口管理平臺10和接口檢測平臺20 ;其中,接口管理平臺10進一步包括:圖形用戶界面(⑶I, Graphical User Interface)101、沖突檢測模塊102、數(shù)據(jù)庫103 ;接口檢測平臺20進一步包括:監(jiān)控界面201、機器學(xué)習(xí)模塊202、檢測模塊203。
[0062]基于上述系統(tǒng),本發(fā)明還提供一種模塊間接口的測試方法,圖2是本發(fā)明實現(xiàn)模塊間接口的測試方法的優(yōu)選實施例的流程示意圖,如圖2所示,該優(yōu)選實施例包括以下步驟:
[0063]步驟201,存儲系統(tǒng)中模塊間接口的接口信息;所述接口信息為模塊的入接口信息,用于限制模塊的入接口 接收的字段。
[0064]具體的,接口管理平臺的數(shù)據(jù)庫中存儲系統(tǒng)中模塊間接口的接口信息,所述接口信息為模塊的入接口信息,所述接口信息用于限制模塊的入接口中接收的數(shù)據(jù)包中的字段;所述數(shù)據(jù)庫中保存兩個級別的接口信息,即第一優(yōu)先級的接口信息和第二優(yōu)先級的接口信息,其中,第一優(yōu)先級的接口信息的比對優(yōu)先級高于第二優(yōu)先級的接口信息。
[0065]其中,所述第一優(yōu)先級的接口信息由用戶通過接口管理平臺提供的⑶I配置在數(shù)據(jù)庫中,所述用戶為模塊的開發(fā)人員;所述第一優(yōu)先級的接口信息包含如下信息中的一種或至少兩種的任意組合:
[0066]IN:表示字段中數(shù)據(jù)的允許取值,例如,字段中的數(shù)據(jù)必須是某某數(shù)值IN(404,403,200);
[0067]Ν0Τ_ΙΝ:表示字段中數(shù)據(jù)的不允許取值,例如,數(shù)據(jù)必須不能是某某數(shù)值Ν0Τ_IN(404,403,200);
[0068]ALL_NUM:表示字段中的數(shù)據(jù)必須全是數(shù)字;
[0069]ALL_CHR:表示字段中的數(shù)據(jù)必須全是字符;
[0070]RANGE:表示字段中的數(shù)據(jù)的取值范圍,例如數(shù)據(jù)必須在某個范圍之內(nèi)RANGEdOO, 500);
[0071]N0T_IN_RANGE:表示字段中的數(shù)據(jù)不能位于的取值范圍;
[0072]CONTAIN:表示字段中的數(shù)據(jù)必須包含的信息;
[0073]N0T_C0NTAIN:表示字段中的數(shù)據(jù)必須不能包含的信息;
[0074]START_WITH:表示字段中的起始數(shù)據(jù);[0075]N0T_START_WITH:表示字段中不能存在的起始數(shù)據(jù);
[0076]LENGTH_IN:表示字段中的數(shù)據(jù)的長度范圍。
[0077]所述第二優(yōu)先級的接口信息包括字段中的數(shù)據(jù)的取值范圍和字段類型;第二優(yōu)先級的接口信息是接口校驗平臺的機器學(xué)習(xí)模塊,根據(jù)系統(tǒng)中模塊間傳遞的字段的字段類型、字段中數(shù)據(jù)的最大值和字段中數(shù)據(jù)的最小值進行學(xué)習(xí)后得到的接口信息,例如,數(shù)據(jù)包中某字段在模塊間接口中傳遞的字段類型均為int32,字段中數(shù)據(jù)的取值范圍是0-99 ;所述機器學(xué)習(xí)模塊通過接口管理平臺提供的交互接口,將學(xué)習(xí)到的接口信息發(fā)送給接口管理平臺的數(shù)據(jù)庫進行存儲。
[0078]此外,根據(jù)模塊間接口的升級情況,用戶可以通過⑶I對存儲在數(shù)據(jù)庫的第一優(yōu)先級的接口信息進行增加、刪除、修改或查詢等操作,可以向數(shù)據(jù)庫中批量導(dǎo)入第一優(yōu)先級的接口信息,也可以從數(shù)據(jù)庫中批量導(dǎo)出接口信息;其中,如果用戶對某模塊的接口信息進行修改時,接口管理平臺的沖突檢測模塊可以在收到用戶的修改信息時,進行修改沖突檢測,判斷修改的接口信息是否與其他模塊的接口信息發(fā)生沖突,例如,修改的接口信息中規(guī)定的字段類型是下游模塊的入接口信息中規(guī)定的不允許出現(xiàn)的字段類型的情況;如果不沖突,則允許進行修改,如果沖突,則拒絕進行修改,并向系統(tǒng)開發(fā)人員報告沖突信息。
[0079]步驟202,獲取待測模塊輸出的數(shù)據(jù)包,利用所述接口信息對獲取的數(shù)據(jù)包中字段進行檢測,得到檢測結(jié)果。
[0080]具體的,對系統(tǒng)的模塊進行功能測試的同時,接口檢測平臺的檢測模塊利用抓取工具從待測模塊的出接口抓取該待測模塊輸出的數(shù)據(jù)包,或接口檢測平臺的監(jiān)控界面接收用戶導(dǎo)入的數(shù)據(jù)包,并將該 數(shù)據(jù)包發(fā)送給檢測模塊;檢測模塊對獲取到的數(shù)據(jù)包進行解析,得到數(shù)據(jù)包中包含的字段,至少得到兩個字段,且其中一個字段為身份標(biāo)識字段,該身份標(biāo)識字段中包含該數(shù)據(jù)包發(fā)往的模塊的身份標(biāo)識,在解析后,從身份標(biāo)識字段中提取出數(shù)據(jù)包發(fā)往的下游模塊的身份標(biāo)識,根據(jù)該模塊的身份標(biāo)識通過接口管理平臺提供的交互接口,從數(shù)據(jù)庫中獲取對應(yīng)的接口信息,該接口信息為數(shù)據(jù)包發(fā)往的下游模塊的入接口信息,即需要利用待測模塊的下游模塊的入接口信息,對待測模塊的出接口發(fā)出的數(shù)據(jù)包進行檢測,以實現(xiàn)對待測模塊的接口的檢測。
[0081]檢測模塊獲取到接口信息后,利用哈希算法將解析得到的每個字段都與接口信息進行比對,判斷數(shù)據(jù)包中的字段是否完全符合所述接口信息對字段的規(guī)定,如果是,則確定所述待測模塊與所述下游模塊之間的接口通過測試,否則確定所述待測模塊與所述下游模塊之間的接口未通過測試;其中,可以先將字段與比對優(yōu)先級高的第一優(yōu)先級的接口信息進行比對,判斷解析得到的字段是否完全符合第一優(yōu)先級的接口信息對字段的規(guī)定,例如,字段中數(shù)據(jù)的值是否為第一優(yōu)先級的接口信息中規(guī)定的取值,字段中數(shù)據(jù)是否包含第一優(yōu)先級的接口信息中不允許包含的信息等;當(dāng)檢測結(jié)果是字段完全符合第一優(yōu)先級的接口信息對字段的規(guī)定時,判斷該數(shù)據(jù)包中的字段是否完全符合第二優(yōu)先級的接口信息對字段的規(guī)定;反之,如果檢測結(jié)果是解析得到的字段不是完全符合第一優(yōu)先級的接口信息對字段的規(guī)定,則確定所述待測模塊與所述下游模塊之間的接口未通過測試,執(zhí)行步驟203 ;也可以利用其他的比對算法,本優(yōu)選實施例中,利用哈希算法進行比對,可以提高比對效率,從而提高整個測試效率,但不僅限于利用哈希算法。
[0082]檢測模塊判斷數(shù)據(jù)包中的字段是否完全符合第二優(yōu)先級的接口信息對字段的規(guī)定,例如,字段中的數(shù)值是否屬于第二優(yōu)先級的接口信息中規(guī)定的取值范圍,字段類型是否符合第二優(yōu)先級的接口信息中規(guī)定的字段類型;當(dāng)檢測結(jié)果是字段完全符合第二優(yōu)先級的接口信息對字段的規(guī)定時,確定所述待測模塊與所述下游模塊之間的接口通過測試,繼續(xù)對數(shù)據(jù)包中其他字段進行檢測,如果該數(shù)據(jù)包中所有字段都通過檢測,則繼續(xù)獲取下一個數(shù)據(jù)包進行檢測;反之,如果檢測結(jié)果是該字段不是完全符合第二優(yōu)先級的接口信息對字段的規(guī)定,則確定所述待測模塊與所述下游模塊之間的接口未通過測試,執(zhí)行步驟203。
[0083]步驟203,當(dāng)檢測結(jié)果為待測模塊與下游模塊之間的接口未通過測試時,將報警信息發(fā)送給用戶,并獲取用戶依據(jù)所述報警信息對接口信息是否錯誤的判斷結(jié)果。
[0084]具體的,當(dāng)檢測結(jié)果為待測模塊與下游模塊之間的接口未通過測試時,表示待測模塊發(fā)出的數(shù)據(jù)包不能夠被下游模塊所接受,則檢測模塊將報警信息發(fā)送給用戶;其中,所述報警信息包括檢測出的與接口信息不相符的字段以及具體的不相符內(nèi)容,如字段當(dāng)前的取值與接口信息中規(guī)定的取值范圍;檢測模塊向用戶發(fā)送報警信息可以是通過接口檢測平臺提供的監(jiān)控界面實時顯示報警信息,也可以是周期通過郵件或短信息的方式,將URL信息發(fā)送給用戶,用戶點擊URL信息中的鏈接查看報警信息。
[0085]用戶收到報警信息后,根據(jù)該報警信息判斷是數(shù)據(jù)包中字段錯誤,還是數(shù)據(jù)庫中存儲的接口信息錯誤;用戶依據(jù)數(shù)據(jù)包中字段錯誤判斷流程,判斷數(shù)據(jù)包中字段是否錯誤,例如,一般的數(shù)據(jù)包中字段錯誤是由于兩個模塊的用戶對中間接口的理解不一致,導(dǎo)致上游模塊的出接口輸出的數(shù)據(jù)包不能夠被下游模塊接受,因此需要判斷模塊開發(fā)時定義的需求文檔、接口描述文檔、接口使用場景是否有誤,如果確定是模塊開發(fā)時定義的模塊相關(guān)內(nèi)容存在錯誤,則表示數(shù)據(jù)包中字段錯誤,用戶在監(jiān)控界面上觸發(fā)結(jié)束按鈕,則監(jiān)控界面獲取的判斷結(jié)果為數(shù)據(jù)包中字段錯誤,存儲的接口信息沒有錯誤,則觸發(fā)檢測模塊結(jié)束當(dāng)前檢測流程,結(jié)束后用戶可以對原始定義的模塊相關(guān)內(nèi)容進行修改;反之,如果確定模塊開發(fā)時定義的模塊相關(guān)內(nèi)容沒有錯誤,用戶在監(jiān)控界面上觸發(fā)修改按鈕,則監(jiān)控界面獲取的判斷結(jié)果為數(shù)據(jù)包中字段沒有錯誤,而是數(shù)據(jù)庫中存儲的接口信息存在錯誤,然后執(zhí)行步驟204。
[0086]例如,接口已經(jīng)升級,但是接口信息沒有在數(shù)據(jù)庫中進行相應(yīng)的升級,將會發(fā)生報警,但是該報警不是由于數(shù)據(jù)包中字段錯誤引發(fā)的,因此該報警為誤報,這里才需要根據(jù)報警信息進行進一步的判斷。
[0087]步驟204,當(dāng)接口信息存在錯誤時,對接口管理平臺中存儲的錯誤的接口信息進行修改;
[0088]具體的,監(jiān)控界面觸發(fā)機器學(xué)習(xí)模塊,收到觸發(fā)后,機器學(xué)習(xí)模塊對模塊間傳遞的字段的字段類型、字段中數(shù)據(jù)的最大值和字段中數(shù)據(jù)的最小值進行重新學(xué)習(xí),得到新的接口信息,將學(xué)習(xí)到的新的接口信息發(fā)送給接口管理平臺的數(shù)據(jù)庫;數(shù)據(jù)庫收到新的接口信息后,利用新的接口信息替換錯誤的接口信息,保證數(shù)據(jù)庫中的接口信息的正確性。
[0089]利用上述優(yōu)選實施例提供的技術(shù)方案,可以利用待測模塊的下游模塊的入接口信息,對待測模塊的輸出進行測試,能夠檢測出模塊的接口問題,實現(xiàn)在模塊功能測試的過程進行模塊間接口測試,解決目前只有在模塊功能測試完成后,才能進行的模塊間接口測試的問題,在模塊功能測試時進行模塊間接口測試,能夠盡快發(fā)現(xiàn)問題,進而在模塊未定型之前對模塊進行修改,從而降低修改成本,提高開發(fā)效率。同時,報警后需要進一步確認是否是數(shù)據(jù)庫中存儲的接口信息的錯誤,如此,可以實現(xiàn)在數(shù)據(jù)庫中接口信息出現(xiàn)錯誤的情況下,對數(shù)據(jù)庫中接口信息進行修改,保證數(shù)據(jù)庫中的接口信息的正確性,避免出現(xiàn)誤報。由于數(shù)據(jù)庫中接口信息具有較高的正確性,在進行后續(xù)模塊開發(fā)時,可以直接利用數(shù)據(jù)庫中其他模塊的接口信息進行模塊開發(fā),減少開發(fā)人員的溝通,提高開發(fā)效率。
[0090]為實現(xiàn)上述方法,如圖3所示,本發(fā)明提供的模塊間接口的測試系統(tǒng)中:
[0091]數(shù)據(jù)庫103,用于存儲接口信息;所述接口信息為待測模塊的下游模塊的入接口信息,用于限制所述入接口接收的字段;
[0092]檢測模塊203,用于獲取待測模塊輸出的數(shù)據(jù)包,利用所述數(shù)據(jù)庫103存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測,得到檢測結(jié)果。
[0093]其中,所述檢測模塊203利用所述數(shù)據(jù)庫存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測具體為:
[0094]判斷數(shù)據(jù)包中的字段是否完全符合所述接口信息對字段的規(guī)定,如果是,則確定所述待測模塊與所述下游模塊之間的接口通過測試,否則確定所述待測模塊與所述下游模塊之間的接口未通過測試。
[0095]其中,所述檢測模塊203利用所述數(shù)據(jù)庫存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測具體為:判斷數(shù)據(jù)包中的字段是否完全符合所述接口信息中第一優(yōu)先級的接口信息對字段的規(guī)定;如果是,判斷所述數(shù)據(jù)包中的字段是否完全符合所述接口信息中第二優(yōu)先級的接口信息對字段的規(guī)定;否則確定所述待測模塊與所述下游模塊之間的接口未通過測試;當(dāng)所述數(shù)據(jù)包中的字段完全符合第二優(yōu)先級的接口信息對字段的規(guī)定時,確定所述待測模塊與所述下游模塊之間的接口通過測試;否則確定所述待測模塊與所述下游模塊之間的接口未通過測試。
[0096]其中,所述⑶I 101,用于獲取用戶提供的接口信息并作為所述第一優(yōu)先級的接口
信息;
[0097]所述機器學(xué)習(xí)模塊202,用于對系統(tǒng)中模塊間傳遞的字段的字段類型、字段中數(shù)據(jù)的最大值和字段中數(shù)據(jù)的最小值進行學(xué)習(xí),得到所述第二優(yōu)先級的接口信息。
[0098]其中,所述⑶I 101還用于,接收對存儲的第一優(yōu)先級的接口信息進行增加、刪除、修改或查詢操作,并當(dāng)對所述第一優(yōu)先級的接口信息進行修改操作時,觸發(fā)所述接口管理平臺10中的沖突檢測模塊102進行修改沖突檢測;或,
[0099]所述⑶I 101還用于,批量導(dǎo)入或批量導(dǎo)出所述第一優(yōu)先級的接口信息。
[0100]其中,所述檢測模塊203獲取待測模塊輸出的數(shù)據(jù)包具體為:從待測模塊的出接口抓取所述待測模塊輸出的數(shù)據(jù)包,或接收用戶導(dǎo)入的數(shù)據(jù)包;對獲取到的數(shù)據(jù)包進行解析,得到數(shù)據(jù)包中包含的字段。
[0101]其中,所述檢測模塊203,還用于在解析后得到的身份標(biāo)識字段中提取所述數(shù)據(jù)包發(fā)往的下游模塊的身份標(biāo)識,根據(jù)所述身份標(biāo)識從所述數(shù)據(jù)庫103獲取對應(yīng)的接口信息。
[0102]其中,當(dāng)確定所述待測模塊與所述下游模塊之間的接口未通過測試,所述檢測模塊203還用于將報警信息發(fā)送給用戶;
[0103]所述監(jiān)控界面201,用于獲取用戶依據(jù)所述報警信息對接口信息是否錯誤的判斷結(jié)果。
[0104]其中,所述監(jiān)控界面201獲取用戶依據(jù)所述報警信息對接口信息是否錯誤的判斷結(jié)果具體為:
[0105]如果用戶觸發(fā)結(jié)束按鈕,則獲取所述判斷結(jié)果為存儲的接口信息沒有錯誤,是數(shù)據(jù)包中字段錯誤;
[0106]如果用戶觸發(fā)修改按鈕,則獲取所述判斷結(jié)果為存儲的接口信息錯誤。
[0107]其中,機器學(xué)習(xí)模塊202,還用于當(dāng)接口信息存在錯誤時,對模塊間傳遞的字段的字段類型、字段中數(shù)據(jù)的最大值和字段中數(shù)據(jù)的最小值進行重新學(xué)習(xí),得到新的接口信息,并利用新的接口信息替換錯誤的接口信息。
[0108]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
【權(quán)利要求】
1.一種模塊間接口的測試方法,其特征在于,該方法包括: 獲取待測模塊輸出的數(shù)據(jù)包,利用存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測,得到檢測結(jié)果;所述接口信息為待測模塊的下游模塊的入接口信息,用于限制所述入接口接收的字段。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測為: 判斷數(shù)據(jù)包中的字段是否完全符合所述接口信息對字段的規(guī)定,如果是,則確定所述待測模塊與所述下游模塊之間的接口通過測試,否則確定所述待測模塊與所述下游模塊之間的接口未通過測試。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測為: 判斷數(shù)據(jù)包中的字段是否完全符合所述接口信息中第一優(yōu)先級的接口信息對字段的規(guī)定;如果是,判斷所述數(shù)據(jù)包中的字段是否完全符合所述接口信息中第二優(yōu)先級的接口信息對字段的規(guī)定;否則確定所述待測模塊與所述下游模塊之間的接口未通過測試; 當(dāng)所述數(shù)據(jù)包中的字段完全符合第二優(yōu)先級的接口信息對字段的規(guī)定時,確定所述待測模塊與所述下游模塊之間的接口通過測試;否則確定所述待測模塊與所述下游模塊之間的接口未通過測試。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述第一優(yōu)先級的接口信息為用戶通過圖形用戶界面GUI提供的接口信息; 所述第二優(yōu)先級的接口信息是對系統(tǒng)中模塊間傳遞的字段的字段類型、字段中數(shù)據(jù)的最大值和字段中數(shù)據(jù)的最小值,進行學(xué)習(xí)后得到的接口信息。`
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,該方法還包括: 通過CTI對存儲的第一優(yōu)先級的接口信息進行增加、刪除、修改或查詢操作,并當(dāng)對所述第一優(yōu)先級的接口信息進行修改操作時,進行修改沖突檢測;或, 批量導(dǎo)入或批量導(dǎo)出所述第一優(yōu)先級的接口信息。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取待測模塊輸出的數(shù)據(jù)包為: 從待測模塊的出接口抓取所述待測模塊輸出的數(shù)據(jù)包,或接收用戶導(dǎo)入的數(shù)據(jù)包; 對獲取到的數(shù)據(jù)包進行解析,得到數(shù)據(jù)包中包含的字段。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述利用存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測之前,該方法還包括:在解析后得到的身份標(biāo)識字段中提取所述數(shù)據(jù)包發(fā)往的下游模塊的身份標(biāo)識,根據(jù)所述身份標(biāo)識獲取對應(yīng)的接口信息。
8.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,該方法還包括: 當(dāng)確定所述待測模塊與所述下游模塊之間的接口未通過測試時,將報警信息發(fā)送給用戶,并獲取用戶依據(jù)所述報警信息對接口信息是否錯誤的判斷結(jié)果。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述獲取用戶依據(jù)所述報警信息對接口信息是否錯誤的判斷結(jié)果為: 如果用戶觸發(fā)結(jié)束按鈕,則獲取所述判斷結(jié)果為存儲的接口信息沒有錯誤,是數(shù)據(jù)包中字段錯誤; 如果用戶觸發(fā)修改按鈕,則獲取所述判斷結(jié)果為存儲的接口信息錯誤。
10.根據(jù)權(quán)利要求8或9所述的方法,其特征在于,該方法還包括: 當(dāng)接口信息存在錯誤時,對模塊間傳遞的字段的字段類型、字段中數(shù)據(jù)的最大值和字段中數(shù)據(jù)的最小值進行重新學(xué)習(xí),得到新的接口信息,并利用新的接口信息替換錯誤的接口信息。
11.一種模塊間接口的測試系統(tǒng),其特征在于,該系統(tǒng)包括:接口管理平臺和接口檢測平臺;所述接口管理平臺包括數(shù)據(jù)庫,所述接口檢測平臺包括檢測模塊;其中, 數(shù)據(jù)庫,用于存儲接口信息;所述接口信息為待測模塊的下游模塊的入接口信息,用于限制所述入接口接收的字段; 檢測模塊,用于獲取待測模塊輸出的數(shù)據(jù)包,利用所述數(shù)據(jù)庫存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測,得到檢測結(jié)果。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述檢測模塊在利用所述數(shù)據(jù)庫存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測時,具體為: 判斷數(shù)據(jù)包中的字段是否完全符合所述接口信息對字段的規(guī)定,如果是,則確定所述待測模塊與所述下游模塊之間的接口通過測試,否則確定所述待測模塊與所述下游模塊之間的接口未通過測試。
13.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述檢測模塊在利用所述數(shù)據(jù)庫存儲的接口信息對獲取的數(shù)據(jù)包中字段進行檢測時,具體為: 判斷數(shù)據(jù)包中的字段是否完全符合所述接口信息中第一優(yōu)先級的接口信息對字段的規(guī)定;如果是,判斷所述數(shù)據(jù)包中的字段是否完全符合所述接口信息中第二優(yōu)先級的接口信息對字段的規(guī)定;否則確定所述待測模塊與所述下游模塊之間的接口未通過測試; 當(dāng)所述數(shù)據(jù)包中的字段完全符合第二優(yōu)先級的接口信息對字段的規(guī)定時,確定所述待測模塊與所述下游模塊之間的接口通過測試;否則確定所述待測模塊與所述下游模塊之間的接口未通過測試。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述接口管理平臺還包括GUI和機器學(xué)習(xí)模塊;其中, 所述GUI,用于獲取用戶提供的接口信息并作為所述第一優(yōu)先級的接口信息; 所述機器學(xué)習(xí)模塊,用于對系統(tǒng)中模塊間傳遞的字段的字段類型、字段中數(shù)據(jù)的最大值和字段中數(shù)據(jù)的最小值進行學(xué)習(xí),得到所述第二優(yōu)先級的接口信息。
15.根據(jù)權(quán)利要求13或14所述的系統(tǒng),其特征在于, 所述GUI還用于,接收對存儲的第一優(yōu)先級的接口信息進行增加、刪除、修改或查詢操作,并當(dāng)對所述第一優(yōu)先級的接口信息進行修改操作時,觸發(fā)所述接口管理平臺中的沖突檢測模塊進行修改沖突檢測;或, 所述Gn還用于,批量導(dǎo)入或批量導(dǎo)出所述第一優(yōu)先級的接口信息。
16.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述檢測模塊獲取待測模塊輸出的數(shù)據(jù)包時,具體為: 從待測模塊的出接口抓取所述待測模塊輸出的數(shù)據(jù)包,或接收用戶導(dǎo)入的數(shù)據(jù)包;對獲取到的數(shù)據(jù)包進行解析,得到數(shù)據(jù)包中包含的字段。
17.根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,所述檢測模塊,還用于在解析后得到的身份標(biāo)識字段中提取所述數(shù)據(jù)包發(fā)往的下游模塊的身份標(biāo)識,根據(jù)所述身份標(biāo)識從所述數(shù)據(jù)庫獲取對應(yīng)的接口信息。
18.根據(jù)權(quán)利要求12或13所述的系統(tǒng),其特征在于,所述接口檢測平臺還包括:監(jiān)控界面; 當(dāng)確定所述待測模塊與所述下游模塊之間的接口未通過測試時,所述檢測模塊還用于將報警信息發(fā)送給用戶; 所述監(jiān)控界面,用于獲取用戶依據(jù)所述報警信息對接口信息是否錯誤的判斷結(jié)果。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其特征在于,所述監(jiān)控界面在獲取用戶依據(jù)所述報警信息對接口信息是否錯誤的判斷結(jié)果時,具體為: 如果用戶觸發(fā)結(jié)束按鈕,則獲取所述判斷結(jié)果為存儲的接口信息沒有錯誤,是數(shù)據(jù)包中字段錯誤; 如果用戶觸發(fā)修改按鈕,則獲取所述判斷結(jié)果為存儲的接口信息錯誤。
20.根據(jù)權(quán)利要求18或19所述的系統(tǒng),其特征在于,所述機器學(xué)習(xí)模塊,還用于當(dāng)接口信息存在錯誤時,對模塊間傳遞的字段的字段類型、字段中數(shù)據(jù)的最大值和字段中數(shù)據(jù)的最小值進行重新學(xué)習(xí),得到新的接口信息,并利用新的接口信息替換錯誤的接口信息。
【文檔編號】G06F11/267GK103678076SQ201210325447
【公開日】2014年3月26日 申請日期:2012年9月5日 優(yōu)先權(quán)日:2012年9月5日
【發(fā)明者】徐健, 劉哲文, 張靜 申請人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司