亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        MS自動(dòng)化測(cè)試工具的設(shè)計(jì)與實(shí)現(xiàn)*

        2015-07-03 09:43:04蘇堅(jiān)李煒
        關(guān)鍵詞:測(cè)試工具測(cè)試用例用例

        蘇堅(jiān),李煒

        (1 北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100876; 2 杭州東信北郵信息技術(shù)有限公司,北京 100191)

        東信北郵媒體服務(wù)器(EBMSE)作為面向NGN、3G和IMS并兼容現(xiàn)有通信網(wǎng)絡(luò)的電信級(jí)設(shè)備,基于模塊化的設(shè)計(jì),采用松散藕合的體系結(jié)構(gòu),提供在通信網(wǎng)絡(luò)上實(shí)現(xiàn)各種業(yè)務(wù)所需的媒體資源功能,包括基于用戶交互功能(播放音頻和視頻、收號(hào)、錄音、混音等)、高級(jí)用戶交互功能(交互式語(yǔ)音應(yīng)答、消息)、同網(wǎng)絡(luò)橋接、跨網(wǎng)絡(luò)橋接、多方音/視頻會(huì)議功能和數(shù)據(jù)功能,為電信業(yè)務(wù)提供強(qiáng)大的媒體資源功能。

        測(cè)試MS媒體能力的方式可以有多種,例如Kapanga Softphone、CM-IMS等軟終端。此外還有開(kāi)源軟件SIP,但是他們都有一定的局限性,只能一次測(cè)試一個(gè)用例,當(dāng)測(cè)試項(xiàng)不同時(shí)還需要修改MSML(Media Server Markup Language)等腳本,因此它們只適合作為功能性驗(yàn)證對(duì)MS進(jìn)行測(cè)試。測(cè)試MS媒體能力的完備性需要一種自動(dòng)化的測(cè)試工具,它能夠根據(jù)用例模板一次生成包括放音、收號(hào)、錄音、放音收號(hào)、放音錄音等數(shù)百個(gè)測(cè)試用例,并按照一定的規(guī)則對(duì)測(cè)試用例進(jìn)行測(cè)試,最終生成一份針對(duì)所有用例的測(cè)試報(bào)告。本次設(shè)計(jì)的自動(dòng)化測(cè)試工具就是一款這樣的工具。

        Python是一種面向?qū)ο蟮慕忉屝偷挠?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,功能強(qiáng)大,成熟穩(wěn)定,具有腳本語(yǔ)言中最豐富和強(qiáng)大的類(lèi)庫(kù),非常適合本次自動(dòng)化測(cè)試工具的實(shí)現(xiàn)。

        1 自動(dòng)化測(cè)試工具的設(shè)計(jì)

        1.1 自動(dòng)化測(cè)試工具總體架構(gòu)

        圖1展示了自動(dòng)化測(cè)試工具的內(nèi)部結(jié)構(gòu)圖。其中包含5個(gè)模塊,用例生成模塊、控制消息收發(fā)模塊、媒體數(shù)據(jù)收發(fā)模塊、日志模塊、測(cè)試結(jié)果統(tǒng)計(jì)模塊。

        圖1 自動(dòng)化測(cè)試工具內(nèi)部結(jié)構(gòu)圖

        (1)用例生成模塊主要用于生成測(cè)試用例,其中的測(cè)試用例包括放音、收號(hào)、錄音、放音收號(hào)、放音錄音的測(cè)試用例。

        (2)控制消息收發(fā)模塊主要用于收發(fā)SIP信令消息,同時(shí)指示媒體收發(fā)模塊與媒體服務(wù)器進(jìn)行媒體數(shù)據(jù)的收發(fā)。

        (3)媒體數(shù)據(jù)收發(fā)模塊主要用于與媒體服務(wù)器建立數(shù)據(jù)傳輸通道,并基于RTP協(xié)議進(jìn)行媒體數(shù)據(jù)的收發(fā)。

        (4)日志模塊主要是將控制消息收發(fā)模塊與MS之間交互的SIP消息記錄到SIP日志文件,將媒體數(shù)據(jù)收發(fā)模塊與MS之間交互的媒體數(shù)據(jù)記錄到媒體日志文件。

        (5)測(cè)試結(jié)果統(tǒng)計(jì)模塊主要是對(duì)SIP日志文件和媒體日志文件進(jìn)行分析,統(tǒng)計(jì)既定測(cè)試項(xiàng)(媒體時(shí)長(zhǎng)、媒體編解碼類(lèi)型、會(huì)話時(shí)長(zhǎng)等)是否符合預(yù)期結(jié)果,判定該測(cè)試用例是否通過(guò),并將該測(cè)試用例及測(cè)試結(jié)果添加到自動(dòng)化測(cè)試報(bào)告。

        1.2 用例生成模塊

        圖2 用例生成模塊內(nèi)部結(jié)構(gòu)圖

        如圖2所示,用例生成模塊主要分成兩部分,第一部分以用例模板為輸入,輸出標(biāo)準(zhǔn)的測(cè)試用例,根據(jù)收號(hào)(dtmf)用例模板生成所有收號(hào)的測(cè)試用例,根據(jù)純放音(aupa)的用例模板生成所有放音的測(cè)試用例,根據(jù)錄音(record)的用例模板生成所有的錄音的測(cè)試用例。第二部分主要用于生成不同組合的測(cè)試用例,可以根據(jù)放音和收號(hào)的測(cè)試用例生成所有放音收號(hào)的用例,可以根據(jù)放音和錄音的測(cè)試用例生成所有放音錄音的測(cè)試用例。

        該模塊涉及到的放音、收號(hào)、錄音的用例模板都是從MSML標(biāo)準(zhǔn)文檔中提取相關(guān)屬性值并以XML樹(shù)形結(jié)構(gòu)設(shè)計(jì)的,測(cè)試用例生成時(shí)會(huì)遍歷每種屬性的各種取值,生成各種不同屬性組合的測(cè)試用例。

        1.3 控制消息收發(fā)模塊

        圖3 控制消息收發(fā)模塊的內(nèi)部結(jié)構(gòu)圖

        如圖3所示,控制消息收發(fā)模塊分為兩部分,一部分負(fù)責(zé)與媒體服務(wù)器按照SIP通信協(xié)議進(jìn)行通信;另一部分的工作是負(fù)責(zé)將SIP消息和模塊內(nèi)部消息相互進(jìn)行轉(zhuǎn)譯。

        消息收發(fā)模塊作為發(fā)端時(shí),向MS發(fā)起申請(qǐng)資源請(qǐng)求和RTP鏈接請(qǐng)求等消息;作為接收端時(shí),接收來(lái)自MS對(duì)資源申請(qǐng)的分配結(jié)果及RTP鏈接請(qǐng)求處理結(jié)果等消息。此外,該模塊還會(huì)將收發(fā)到的SIP消息統(tǒng)一上報(bào)到日志模塊。

        由于MS與自動(dòng)化測(cè)試工具之間使用的SIP協(xié)議不適用于內(nèi)部模塊,消息收發(fā)模塊的另外一個(gè)功能就是將SIP消息轉(zhuǎn)化為簡(jiǎn)單的內(nèi)部控制命令。

        圖4 自動(dòng)化測(cè)試工具與MS之間SIP信令交互圖

        自動(dòng)化測(cè)試工具與MS之間的SIP信令交互如圖4所示。控制消息收發(fā)模塊與MS之間SIP消息的收發(fā)是基于UDP(User Datagrame Protocol)的Socket實(shí) 現(xiàn) 的,自動(dòng)化測(cè)試工具綁定一個(gè)端口專門(mén)用于收發(fā)SIP消息,此外,它還會(huì)申請(qǐng)一個(gè)端口,用于媒體數(shù)據(jù)收發(fā)模塊收發(fā)與MS之間的媒體數(shù)據(jù)的收發(fā)。

        1.4 媒體數(shù)據(jù)收發(fā)模塊

        圖5 媒體數(shù)據(jù)收發(fā)模塊的內(nèi)部結(jié)構(gòu)圖

        如圖5所示,媒體數(shù)據(jù)收發(fā)模塊主要負(fù)責(zé)RTP數(shù)據(jù)流的收發(fā)。當(dāng)作為收端時(shí),接收來(lái)自MS的RTP數(shù)據(jù)流,解碼RTP數(shù)據(jù)從中提取媒體裸數(shù)據(jù),并將媒體裸數(shù)據(jù)發(fā)送到日志模塊;當(dāng)作為發(fā)端時(shí),將媒體數(shù)據(jù)按照RTP協(xié)議封裝成RTP數(shù)據(jù)分組發(fā)送給MS。

        1.5 日志模塊

        如圖6所示,日志模塊主要包含兩部分:對(duì)自動(dòng)化測(cè)試工具和MS之間交互的SIP消息進(jìn)行記錄并生產(chǎn)SIP日志文件;對(duì)媒體收發(fā)模塊發(fā)來(lái)的媒體裸數(shù)據(jù)進(jìn)行記錄并生成媒體日志文件,以備后續(xù)操作驗(yàn)證測(cè)試用例是否通過(guò)做準(zhǔn)備。

        圖7 系統(tǒng)狀態(tài)數(shù)據(jù)統(tǒng)計(jì)模塊的內(nèi)部結(jié)構(gòu)圖

        圖6 日志模塊的內(nèi)部結(jié)構(gòu)圖

        1.6 測(cè)試結(jié)果統(tǒng)計(jì)模塊

        如圖7所示,測(cè)試結(jié)果統(tǒng)計(jì)模塊主要對(duì)SIP日志和媒體數(shù)據(jù)日志進(jìn)行分析。首先從SIP日志中獲取自動(dòng)化測(cè)試工具下發(fā)給MS的INFO并根據(jù)RFC規(guī)范對(duì)其進(jìn)行解析,依據(jù)標(biāo)準(zhǔn)生成一組統(tǒng)計(jì)項(xiàng):會(huì)話時(shí)長(zhǎng)、媒體時(shí)長(zhǎng),并從SIP日志中Invite-200消息獲取MS發(fā)送媒體數(shù)據(jù)的編解碼類(lèi)型。與此同時(shí)對(duì)媒體數(shù)據(jù)日志進(jìn)行分析,判斷媒體數(shù)據(jù)的編解碼類(lèi)型,根據(jù)RTP數(shù)據(jù)分組的個(gè)數(shù)計(jì)算出媒體時(shí)長(zhǎng),具體計(jì)算方法是:

        媒體時(shí)長(zhǎng)=RTP媒體包的數(shù)量/50 (每20 ms發(fā)送一個(gè)RTP數(shù)據(jù)分組)。

        然后對(duì)從SIP日志中獲取到的標(biāo)準(zhǔn)統(tǒng)計(jì)項(xiàng)與從媒體數(shù)據(jù)日志獲取到媒體編解碼類(lèi)型和媒體時(shí)長(zhǎng)進(jìn)行對(duì)比,如果媒體時(shí)長(zhǎng)及會(huì)話時(shí)長(zhǎng)在誤差范圍內(nèi),則測(cè)試用例通過(guò),否則測(cè)試用例不通過(guò),并將其記錄到自動(dòng)化測(cè)試報(bào)告。

        2 自動(dòng)化測(cè)試工具基于Python的實(shí)現(xiàn)

        按照自動(dòng)化測(cè)試工具整體的設(shè)計(jì)思路及各模塊內(nèi)部詳細(xì)的結(jié)構(gòu)設(shè)計(jì),使用Python語(yǔ)言對(duì)測(cè)試工具進(jìn)行編碼實(shí)現(xiàn),其中最重要的兩個(gè)模塊就是控制消息收發(fā)模塊與媒體數(shù)據(jù)傳輸模塊,兩個(gè)模塊都是基于UDP Socket與MS進(jìn)行信令或媒體數(shù)據(jù)的收發(fā),而Python語(yǔ)言提供了Socket模塊及豐富的方法可供使用。媒體數(shù)據(jù)收發(fā)模塊主要功能之一就是進(jìn)行RTP數(shù)據(jù)編碼或解碼,而Python語(yǔ)言提供了struct模塊,其中的pack、unpack等方法極大提高了對(duì)RTP數(shù)據(jù)編碼、解碼的開(kāi)發(fā)效率。

        3 結(jié)論

        本文以節(jié)約手工測(cè)試當(dāng)中的人力資源和時(shí)間成本為目標(biāo),設(shè)計(jì)并實(shí)現(xiàn)了對(duì)媒體服務(wù)器進(jìn)行回歸測(cè)試的自動(dòng)化測(cè)試工具。設(shè)計(jì)內(nèi)容包括自動(dòng)化測(cè)試工具整體結(jié)構(gòu)、內(nèi)部各模塊的詳細(xì)結(jié)構(gòu)。該測(cè)試工具可以對(duì)媒體服務(wù)器的媒體能力進(jìn)行完備的測(cè)試,測(cè)試功能主要包括放音、收號(hào)、錄音、放音收號(hào)、放音錄音等。此外,自動(dòng)化測(cè)試在每項(xiàng)功能測(cè)試結(jié)束后都會(huì)自動(dòng)生成一份測(cè)試報(bào)告。

        本文中各模塊的設(shè)計(jì)均使用Python語(yǔ)言編碼實(shí)現(xiàn),Python語(yǔ)言提供了豐富的功能模塊,極大提高了開(kāi)發(fā)的效率。此外,實(shí)現(xiàn)過(guò)程中還使用Python多進(jìn)程對(duì)其進(jìn)行了優(yōu)化,極大縮短了測(cè)試周期,提高了測(cè)試效率,節(jié)約了時(shí)間成本。

        [1]中國(guó)移動(dòng)通信集團(tuán).中國(guó)移動(dòng)CM-IMS MRF設(shè)備規(guī)范[S].2011.

        [2]中國(guó)移動(dòng)通信集團(tuán).中國(guó)移動(dòng)MRFCMRFP設(shè)備規(guī)范[S].2010.

        [3]Rosenberg J, Schulzrinne H, Camarillo G, et al.SIP: Session Initiation Protocol[S].IETF RFC 3261, 2002.

        [4]Schulzrinne H, Frederick R, Jacobson V.RTP: A Transport Protocol for Real-Time Applications[S].IETF RFC3550, 2003.

        [5]Knightson K, Morita N, Towle T.NGN Architecture: Generic Principles, Functional Architecture, and Implementation[J].IEEE Communications Magazine, 2005(10).

        [6]Saleem A, Xin Y, Sharratt G, et al.Media Server Markup Language(MSML)[S].IETF RFC 5707, 2010.

        [7]Handley M, Jacobson V, Perkins C.SDP: Session Description Protocol[S].IETF RFC 4566, 2006.

        猜你喜歡
        測(cè)試工具測(cè)試用例用例
        邊緣智力兒童及其智力測(cè)試工具的研究進(jìn)展
        UML用例模型中依賴關(guān)系的比較與分析
        基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
        聯(lián)鎖軟件詳細(xì)設(shè)計(jì)的測(cè)試需求分析和用例編寫(xiě)
        Http并發(fā)連接測(cè)試工具
        從出土文獻(xiàn)用例看王氏父子校讀古書(shū)的得失
        基于混合遺傳算法的回歸測(cè)試用例集最小化研究
        福祿克推出先進(jìn)的連接式測(cè)試工具系統(tǒng)
        基于依賴結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
        《修辭學(xué)發(fā)凡》用例的當(dāng)代學(xué)術(shù)價(jià)值
        日韩乱码视频| 亚洲精品一区二区国产精华液| 国产色在线 | 亚洲| 日韩精品无码区免费专区| 亚洲色无码中文字幕| 中文字幕亚洲五月综合婷久狠狠| 日韩一区二区三区无码影院| 日本无遮挡吸乳呻吟视频| 91亚洲欧洲日产国码精品| 亚洲熟女天堂av一区二区三区| 脱了老师内裤猛烈进入| 国产成人av免费观看| 天堂69亚洲精品中文字幕| 男人天堂亚洲一区二区| 精品伊人久久大线蕉色首页| 无码精品黑人一区二区三区| 色偷偷亚洲第一综合网| 国产三级精品三级在线专区| 女女女女女裸体处开bbb| 综合网自拍| 亚洲精品一区二区视频| 蜜桃av在线免费网站| 久久久久久好爽爽久久 | 国模少妇无码一区二区三区| 一区二区三区乱码专区| 国产熟女内射oooo| 九九视频免费| 国产成人久久精品二区三区| 人妻熟妇乱又伦精品hd| 亚洲欧美日韩国产精品专区| 蜜芽尤物原创AV在线播放| 亚洲精品中文字幕导航| 鸭子tv国产在线永久播放| 亚洲精品一二区| 亚洲天堂一区二区三区| 国产精久久一区二区三区| 东北无码熟妇人妻AV在线| 中文字幕久久熟女人妻av免费| 国产在线无码精品无码| 亚洲xxxx做受欧美| 亚洲国产一区二区三区,|