一種協(xié)議一致性測試的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及通信技術(shù)領(lǐng)域,特別是涉及一種協(xié)議一致性測試的方法和一種協(xié)議一致性測試的裝置。
【背景技術(shù)】
[0002]協(xié)議是各設(shè)備之間進行通信時應(yīng)遵守的規(guī)則,協(xié)議一致性測試用來檢測所實現(xiàn)的協(xié)議實體與協(xié)議規(guī)范的符合程度。在實際網(wǎng)絡(luò)中,實體不符合協(xié)議不僅影響本身的通信功能,有時還會破壞整個網(wǎng)絡(luò)的通信行為,從而間接影響其他通信實體的通信,所以通信實體在進入實際網(wǎng)絡(luò)中必須經(jīng)過協(xié)議一致性認證測試。
[0003]協(xié)議一致性測試系統(tǒng)(Protocol Conformance Test,PCT)廣泛運用于通信協(xié)議測試和互聯(lián)網(wǎng)協(xié)議測試,通過自動或手動方式運行預(yù)先指定的測試用例實現(xiàn)對被測系統(tǒng)(System Under Test,SUT)的覆蓋測試。協(xié)議一致性測試系統(tǒng)的應(yīng)用貫穿于產(chǎn)品研發(fā)前期的集成測試、產(chǎn)品趨于穩(wěn)定的回歸測試以及量產(chǎn)階段的認證測試。協(xié)議一致性測試系統(tǒng)的測試用例一般數(shù)量較多,不管是手動執(zhí)行還是自動執(zhí)行用例,難免有些用例無法測試通過,影響用例測試不通過的因素各式各樣,有被測實體本身原因,有環(huán)境原因,甚至測試系統(tǒng)本身也可能有問題,這就導(dǎo)致同一用例在不同測試環(huán)境下失敗原因表現(xiàn)不同,也給問題分析、定位增加了難度。因此,如何快速、精確定位問題就顯得尤為重要。
[0004]現(xiàn)有的協(xié)議一致性測試系統(tǒng)進行測試用例問題定位一般采用手動模式,即在測試用例執(zhí)行結(jié)束后人為參與查看、分析測試Log,首先確認當前已正常執(zhí)行的流程,然后再確認后續(xù)期望的流程及響應(yīng)消息,最終確定測試用例失敗的具體流程及詳細信息。協(xié)議一致性測試系統(tǒng)測試用例問題定位常規(guī)流程如圖1所示?,F(xiàn)有的測試用例問題定位的方案主要存在以下幾點不足:
[0005](I)手動方式,用例執(zhí)行結(jié)束后需要人為參與分析、定位Log,問題定位效率低;
[0006](2)準確性不足,人為方式分析測試Log受限于人員技術(shù)、Log完備等各種因素,有時候難于分析出問題的具體原因,甚至得到錯誤的結(jié)論;
[0007](3)測試效率低,測試的最終目的就是發(fā)現(xiàn)問題并協(xié)助解決問題,測試問題分析效率慢或錯誤,直接影響問題解決速度,最終導(dǎo)致測試效率低;
[0008](4)測試成本高,人力是研發(fā)過程中最大的成本,尤其是專業(yè)性較強的人才,人力增加、人員專業(yè)性強直接導(dǎo)致成本增加;另外,協(xié)議一致性測試系統(tǒng)一般造價較為昂貴,測試效率低間接增加測試資源占用時間,實際上也是增加了測試成本。
[0009]因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個技術(shù)問題就是:提供一種協(xié)議一致性測試的機制,解決現(xiàn)有的測試用例問題定位的方案中問題定位效率低、準確性不足、專業(yè)性要求高的技術(shù)問題。
【發(fā)明內(nèi)容】
[0010]本申請實施例所要解決的技術(shù)問題是提供一種協(xié)議一致性測試方法,用以解決現(xiàn)有的測試用例問題定位的方案中問題定位效率低、準確性不足、專業(yè)性要求高的技術(shù)問題。
[0011]相應(yīng)的,本申請實施例還提供了一種協(xié)議一致性測試裝置,用以保證上述方法的實現(xiàn)及應(yīng)用。
[0012]為了解決上述問題,本申請公開了一種協(xié)議一致性測試的方法,包括:
[0013]執(zhí)行測試用例,所述測試用例中包括接收消息的步驟;
[0014]當執(zhí)行到所述接收消息的步驟時,將所接收到的消息與預(yù)置的目標消息進行匹配;
[0015]若所接收到的消息與預(yù)置的目標消息不匹配,則針對所接收到的消息進行標記,以及,終止所述測試用例。
[0016]優(yōu)選的,所述的方法,還包括:
[0017]若所接收到的消息與預(yù)置的目標消息匹配,則繼續(xù)執(zhí)行所述測試用例。
[0018]優(yōu)選的,所接收到的消息包括第一消息體結(jié)構(gòu)和第一字段值,所述目標消息包括第二消息體結(jié)構(gòu)和第二字段值;所述當執(zhí)行到所述接收消息的步驟時,將所接收到的消息與預(yù)置的目標消息進行匹配的步驟包括:
[0019]當執(zhí)行到所述接收消息的步驟時,將所述第一消息體結(jié)構(gòu)與第二消息體結(jié)構(gòu)進行匹配;
[0020]若所述第一消息體結(jié)構(gòu)與第二消息體結(jié)構(gòu)匹配,則將所述第一字段值與第二字段值進行匹配;
[0021]若所述第一字段值與第二字段值匹配,則判定所述接收到的消息與預(yù)置的目標消息匹配;
[0022]若所述第一消息體結(jié)構(gòu)與第二消息體結(jié)構(gòu)不匹配,或者,所述第一字段值與第二字段值不匹配,則判定所接收到的消息與預(yù)置的目標消息不匹配。
[0023]優(yōu)選的,所述將所述第一消息體結(jié)構(gòu)與第二消息體結(jié)構(gòu)進行匹配的子步驟進一步包括:
[0024]從所述第一消息體結(jié)構(gòu)中提取第一類型模板,以及,從所述第二消息體結(jié)構(gòu)中提取第二類型模板;
[0025]若所述第一類型模板與第二類型模板一致,則判定所述第一消息體結(jié)構(gòu)與第二消息體結(jié)構(gòu)匹配;
[0026]若所述第一類型模板與第二類型模板不一致,則判定所述第一消息體結(jié)構(gòu)與第二消息體結(jié)構(gòu)不匹配。
[0027]優(yōu)選的,所述若所接收到的消息與預(yù)置的目標消息不匹配,則針對所接收到的消息進行標記,以及,終止所述測試用例的步驟包括:
[0028]若所述第一消息體結(jié)構(gòu)與第二消息體結(jié)構(gòu)不匹配,則針對所接收到的消息進行整條突出顯示,以及,終止所述測試用例;
[0029]若所述第一消息體結(jié)構(gòu)與第二消息體結(jié)構(gòu)匹配,但所述第一字段值與第二字段值不匹配,則針對所接收到的消息進行不匹配字段值的突出顯示,并顯示所述第二消息體結(jié)構(gòu)和第二字段值,以及,終止所述測試用例。
[0030]優(yōu)選的,所述的方法,還包括:
[0031]當執(zhí)行到所述接收消息的步驟時,突出顯示當前接收消息的步驟。
[0032]優(yōu)選的,所述測試用例中還包括發(fā)送消息的步驟;所述的方法還包括:
[0033]當執(zhí)行到所述發(fā)送消息的步驟時,突出顯示當前發(fā)送消息的步驟。
[0034]為了解決上述問題,本申請還公開了一種協(xié)議一致性測試的裝置,包括:
[0035]測試用例執(zhí)行模塊,用于執(zhí)行測試用例,所述測試用例中包括接收消息的步驟;
[0036]消息匹配模塊,用于當執(zhí)行到所述接收消息的步驟時,將所接收到的消息與預(yù)置的目標消息進行匹配;
[0037]消息標記模塊,用于若所接收到的消息與預(yù)置的目標消息不匹配,則針對所接收到的消息進行標記,以及,終止所述測試用例。
[0038]優(yōu)選的,所述的裝置,還包括:
[0039]執(zhí)行控制模塊,若所接收到的消息與預(yù)置的目標消息匹配,則繼續(xù)執(zhí)行所述測試用例。
[0040]優(yōu)選的,所接收到的消息包括第一消息體結(jié)構(gòu)和第一字段值,所述目標消息包括第二消息體結(jié)構(gòu)和第二字段值;所述消息匹配模塊包括:
[0041]消息體結(jié)構(gòu)匹配子模塊,用于當執(zhí)行到所述接收消息的步驟時,將所述第一消息體結(jié)構(gòu)與第二消息體結(jié)構(gòu)進行匹配;若所述第一消息體結(jié)構(gòu)與第二消息體結(jié)構(gòu)匹配,則調(diào)用字段值匹配子模塊;
[0042]字段值匹配子模塊,用于將所述第一字段值與第二字段值進行匹配;
[0043]第一判定子模塊,用于若所述第一字段值與第二字段值匹配,則判定所述接收到的消息與預(yù)置的目標消息匹配;
[0044]第二判定子模塊,用于若所述第一消息體結(jié)構(gòu)與第二消息體結(jié)構(gòu)不匹配,或者,所述第一字段值與第二字段值不匹配,則判定所接收到的消息與預(yù)置的目標消息不匹配。
[0045]優(yōu)選的,所述消息體結(jié)構(gòu)匹配子模塊進一步包括:
[0046]類型模板提取單元,用于從所述第一消息體結(jié)構(gòu)中提取第一類型模板,以及,從所述第二消息體結(jié)構(gòu)中提取第二類型模板;
[0047]第一類型模板判定單元,用于若所述第一類型模板與第二類型模板一致,則判定所述第一消息體結(jié)構(gòu)與第二消息體結(jié)構(gòu)匹配;
[0048]第二類型模板判定單元,用于若所述第一類型模板與第二類型模板不一致,則判定所述第一消息體結(jié)構(gòu)與第二消息體結(jié)構(gòu)不匹配。
[0049]優(yōu)選的,所述消息標記模塊包括:
[0050]第一消息標記子模塊,用于若所述第一消息體結(jié)構(gòu)與第二消息體結(jié)構(gòu)不匹配,則針對所接收到的消息進行整條突出顯示,以及,終止所述測試用例;
[0051]第二消息標記子模塊,