王迎超
摘要:針對(duì)軟交換系統(tǒng)在工程化應(yīng)用測(cè)試過(guò)程中大批量回歸測(cè)試費(fèi)時(shí)耗力的問(wèn)題,從工作需要出發(fā)構(gòu)建了一個(gè)自動(dòng)化測(cè)試平臺(tái)。該平臺(tái)主要采用Doubango框架與SIPp工具等技術(shù),涵蓋了軟交換系統(tǒng)的功能測(cè)試、穩(wěn)定性測(cè)試及性能測(cè)試等多方面的功能,可重復(fù)進(jìn)行大批量回歸測(cè)試。通過(guò)與人工手動(dòng)執(zhí)行測(cè)試用例進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果表明該平臺(tái)可以提高測(cè)試人員的測(cè)試效率,幫助研發(fā)進(jìn)行缺陷預(yù)防,減少系統(tǒng)開發(fā)成本,提高系統(tǒng)質(zhì)量及縮短系統(tǒng)開發(fā)周期。
關(guān)鍵詞:軟交換系統(tǒng);自動(dòng)化測(cè)試;回歸測(cè)試;Doubango;SIPp
中圖分類號(hào):TN915文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-1739(2019)23-65-3
0引言
為了更加快速、有效、可靠地對(duì)軟件進(jìn)行測(cè)試,提高被測(cè)系統(tǒng)的質(zhì)量,測(cè)試工具和工具思維就必然會(huì)被引入到測(cè)試工作中,自動(dòng)化測(cè)試也被提上日程[1]。常用的自動(dòng)化測(cè)試工具種類繁多,其中主流的有UFT,Selenium,LoadRunner等,但是針對(duì)于軟交換系統(tǒng)的特點(diǎn),商業(yè)的自動(dòng)化測(cè)試工具都存在著一定的不足,例如無(wú)法支持專用協(xié)議和傾向于單一類型測(cè)試,為此專門設(shè)計(jì)開發(fā)了一套用于軟交換系統(tǒng)的自動(dòng)化測(cè)試平臺(tái)。
1軟交換自動(dòng)化測(cè)試平臺(tái)設(shè)計(jì)
軟交換自動(dòng)化測(cè)試平臺(tái)采用黑盒測(cè)試的方法,功能測(cè)試模塊和穩(wěn)定性測(cè)試模塊底層均采用基于Doubango框架的SIP/IMS(VoIP)客戶端組件模擬人工測(cè)試的執(zhí)行過(guò)程,上層封裝為關(guān)鍵字驅(qū)動(dòng)的設(shè)計(jì)方案,便于業(yè)務(wù)嵌套和組合。另外借助于SIPp工具對(duì)軟交換系統(tǒng)的性能進(jìn)行測(cè)試驗(yàn)證。測(cè)試平臺(tái)網(wǎng)絡(luò)架構(gòu)如圖1所示,由被測(cè)對(duì)象、性能測(cè)試服務(wù)器、測(cè)試客戶端及性能監(jiān)控客戶端等組成,測(cè)試平臺(tái)采用Visual Stutio 2017開發(fā)。
1.1被測(cè)對(duì)象軟交換系統(tǒng)
軟交換是一種功能實(shí)體,為下一代網(wǎng)絡(luò)NGN提供具有實(shí)時(shí)性要求的業(yè)務(wù)的呼叫控制和連接控制功能,是固定電話向NGN平滑過(guò)渡的核心系統(tǒng)[2]。會(huì)話初始協(xié)議(Session Initiation Protocol,SIP)是一個(gè)基于文本的應(yīng)用層控制協(xié)議,用于創(chuàng)建、修改和釋放一個(gè)或多個(gè)參與者的會(huì)話。SIP還是一種源于互聯(lián)網(wǎng)的IP語(yǔ)音會(huì)話控制協(xié)議,具有靈活、易于實(shí)現(xiàn)和便于擴(kuò)展等特點(diǎn)[3]。本設(shè)計(jì)只針對(duì)軟交換系統(tǒng)開發(fā)了SIP協(xié)議相關(guān)的自動(dòng)化測(cè)試。
1.2測(cè)試客戶端
測(cè)試客戶端具有進(jìn)行功能測(cè)試穩(wěn)定性測(cè)試、性能測(cè)試、生成測(cè)試記錄日志及生成測(cè)試結(jié)果報(bào)告的功能,系統(tǒng)界面如圖2所示。
設(shè)計(jì)思路是采用關(guān)鍵字驅(qū)動(dòng)的方式。關(guān)鍵字驅(qū)動(dòng)框架的基本工作是將測(cè)試用例分成4個(gè)不同的部分。①測(cè)試步驟:仿照人工測(cè)試的執(zhí)行步驟;②測(cè)試步驟中的對(duì)象:基于Doubango框架的SIP協(xié)議部分封裝生成一定數(shù)量的軟IP話機(jī)終端;③測(cè)試對(duì)象執(zhí)行的動(dòng)作:包括注冊(cè)、呼叫、發(fā)送DTMF、呼叫保持釋放、掛機(jī)等一系列操作;④測(cè)試對(duì)象需要的數(shù)據(jù):比如話機(jī)號(hào)碼、注冊(cè)地址、端口號(hào)及音視頻編碼格式等。由測(cè)試人員選擇需要執(zhí)行的功能模塊和用例,后臺(tái)根據(jù)測(cè)試步驟獲取相應(yīng)的測(cè)試數(shù)據(jù)執(zhí)行一系列注冊(cè)、呼叫等操作,在用例執(zhí)行過(guò)程中監(jiān)控此對(duì)話機(jī)在每一個(gè)操作前后的注冊(cè)狀態(tài)、呼叫狀態(tài)、來(lái)電號(hào)碼等是否與預(yù)期的一致來(lái)判斷測(cè)試結(jié)果,并且支持單條用例和部分用例靈活執(zhí)行。測(cè)試執(zhí)行過(guò)程通過(guò)Log4net日志工具將每一步執(zhí)行的操作和話機(jī)狀態(tài)的實(shí)時(shí)變化都輸出到日志文件保存,便于后期定位bug的發(fā)生場(chǎng)景及分析原因。
1.3性能測(cè)試服務(wù)器
性能測(cè)試服務(wù)器的主要功能是對(duì)軟交換系統(tǒng)進(jìn)行壓力測(cè)試、負(fù)載測(cè)試、強(qiáng)度測(cè)試和容量測(cè)試。最關(guān)鍵的是驗(yàn)證行業(yè)中要求滿足以下性能指標(biāo)。①系統(tǒng)容量指標(biāo):包括可接入的用戶數(shù)和可同時(shí)進(jìn)行的并發(fā)呼叫量;②系統(tǒng)處理能力是通過(guò)BHCA或者CAPS來(lái)衡量;③軟交換延時(shí)是指軟交換對(duì)消息的轉(zhuǎn)發(fā)時(shí)間。
性能測(cè)試采用的是SIPp工具技術(shù),SIPp是一個(gè)測(cè)試SIP協(xié)議性能的工具軟件,它包含了一些基本的SipStone用戶代理工作流程(UAC, UAS),并可使用INVITE, BYE建立和釋放多個(gè)呼叫。也可以讀XML的場(chǎng)景文件,即描述任何性能測(cè)試的配置文件,它能動(dòng)態(tài)顯示測(cè)試運(yùn)行的統(tǒng)計(jì)數(shù)據(jù)。
1.4性能監(jiān)控客戶端
性能監(jiān)控客戶端的作用是在測(cè)試過(guò)程中監(jiān)控軟交換系統(tǒng)的性能指標(biāo)。性能測(cè)試指標(biāo)一般可劃分為業(yè)務(wù)指標(biāo)和系統(tǒng)資源指標(biāo)兩大部分,對(duì)于一般用戶而言,關(guān)注的主要是業(yè)務(wù)指標(biāo),而系統(tǒng)資源指標(biāo)是系統(tǒng)性能的一個(gè)反應(yīng),它可以幫助分析系統(tǒng)性能瓶頸、優(yōu)化系統(tǒng)或者發(fā)現(xiàn)一些隱形問(wèn)題[4]。性能監(jiān)控客戶端主要監(jiān)控系統(tǒng)資源的指標(biāo),業(yè)務(wù)指標(biāo)在具體的性能測(cè)試用例中進(jìn)行驗(yàn)證。通常系統(tǒng)資源指標(biāo)包括CPU、內(nèi)存、硬盤、外置存儲(chǔ)及網(wǎng)絡(luò)帶寬的使用率等,一般的原則是超過(guò)80%的使用率則需要進(jìn)行資源調(diào)整和優(yōu)化。
性能監(jiān)控使用nmon工具可以實(shí)時(shí)監(jiān)視和記錄所有性能參數(shù),使用啞屏幕在屏幕上對(duì)數(shù)據(jù)進(jìn)行顯示,并且每隔數(shù)秒對(duì)其進(jìn)行更新。nmon工具還可以將性能數(shù)據(jù)捕獲到一個(gè)文本文件,然后通過(guò)nmon_analyse分析工具分析文件和繪制圖形直觀地顯示各個(gè)性能參數(shù)的趨勢(shì)浮動(dòng)變化。
2軟交換自動(dòng)化測(cè)試平臺(tái)應(yīng)用
2.1業(yè)務(wù)功能測(cè)試應(yīng)用
自動(dòng)化測(cè)試平臺(tái)目前可以覆蓋軟交換所有常用的功能業(yè)務(wù),包括無(wú)條件前轉(zhuǎn)、無(wú)應(yīng)答前轉(zhuǎn)、遇忙前轉(zhuǎn)、不在線前轉(zhuǎn)、簡(jiǎn)單通話、會(huì)議功能、遇忙強(qiáng)插、遇忙回叫、呼叫等待、多方通話、縮位撥號(hào)、呼叫保持、呼叫轉(zhuǎn)移、呼叫組、免打擾和指定代答等共計(jì)16個(gè)模塊,執(zhí)行用例數(shù)量200多個(gè)。一位經(jīng)驗(yàn)豐富的測(cè)試工程師經(jīng)過(guò)數(shù)據(jù)配置、用例執(zhí)行和結(jié)果統(tǒng)計(jì)3個(gè)過(guò)程完成這200多個(gè)用例,大概需要24個(gè)工時(shí),而采用該工具后只需要不到4個(gè)工時(shí),僅占人工測(cè)試用時(shí)的1/6。
根據(jù)用戶現(xiàn)場(chǎng)實(shí)際使用場(chǎng)景組合各種常用業(yè)務(wù)進(jìn)行場(chǎng)景模擬,采用80/20原則(80%的業(yè)務(wù)在20%的時(shí)間內(nèi)發(fā)生)計(jì)算出穩(wěn)定性測(cè)試的基準(zhǔn)模型,充分利用晚間和周末的非工作時(shí)間對(duì)系統(tǒng)進(jìn)行大量多次的功能驗(yàn)證,充分保證了系統(tǒng)的穩(wěn)定性。
2.2性能測(cè)試應(yīng)用
性能測(cè)試自動(dòng)化程度達(dá)到100%覆蓋相關(guān)的測(cè)試用例??煽啃詼y(cè)試是各個(gè)常用功能的長(zhǎng)時(shí)間測(cè)試的可靠性。其他性能測(cè)試有BHCA或CPS[5]、最大注冊(cè)在線用戶數(shù)、同時(shí)最大呼叫數(shù)、過(guò)載保護(hù)測(cè)試和多方會(huì)議性能測(cè)試。
在沒有引入自動(dòng)化測(cè)試之前,以上測(cè)試項(xiàng)靠人工幾乎是很難實(shí)現(xiàn)的,但引入了自動(dòng)化工具以后則是一件簡(jiǎn)單的事情。性能測(cè)試執(zhí)行界面如圖3所示。性能測(cè)試模塊不僅關(guān)注業(yè)務(wù)指標(biāo)是否滿足了行業(yè)需要,通過(guò)性能參數(shù)監(jiān)控還可以確保系統(tǒng)的各項(xiàng)內(nèi)在指標(biāo)正常,基本上排除內(nèi)存泄漏、性能瓶頸和一些隱形的問(wèn)題[6],性能監(jiān)控如圖4所示。
3結(jié)束語(yǔ)
經(jīng)實(shí)際運(yùn)用后,軟交換自動(dòng)化測(cè)試平臺(tái)的意義在于:①大大提高測(cè)試效率,自動(dòng)化測(cè)試可以避免大量繁瑣耗時(shí)的手工測(cè)試;②彌補(bǔ)手工測(cè)試的短板,有些非功能性的測(cè)試單用人來(lái)測(cè)試是不可能達(dá)到的,但是引入了自動(dòng)化測(cè)試以后變得很簡(jiǎn)單;③具有一致性和可重復(fù)性,很容易發(fā)現(xiàn)被測(cè)系統(tǒng)的改變;④更好地利用資源,工具完全可以在非工作時(shí)間的夜間和周末執(zhí)行測(cè)試,充分地利用公司資源,縮短開發(fā)和測(cè)試的整個(gè)周期。然而,自動(dòng)化也有其本身固有的局限,如果功能產(chǎn)生變更,就需要人工重新編寫測(cè)試用例和測(cè)試腳本,維護(hù)成本比人工測(cè)試較高,要想實(shí)現(xiàn)更多軟交換支持的其他協(xié)議的自動(dòng)化測(cè)試,仍需要針對(duì)該平臺(tái)進(jìn)行持續(xù)集成。
參考文獻(xiàn)
[1]京東研發(fā)—虛擬平臺(tái).京東質(zhì)量團(tuán)隊(duì)轉(zhuǎn)型實(shí)踐———從測(cè)試到測(cè)試開發(fā)的蛻變[M].北京:人民郵電出版社,2018.
[2]蔡穎,生旭彬.電話網(wǎng)絡(luò)通信系統(tǒng)的軟交換技術(shù)研究[J].信息與電腦(理論版),2017(12):160-162.
[3]張庚,蘇斕,丁慧霞,等.軟交換設(shè)備SIP測(cè)試方法研究[C]//中國(guó)通信學(xué)會(huì)普及與教育工作委員會(huì).2012年電力通信管理暨智能電網(wǎng)通信技術(shù)論壇論文集,北京,2013:441-445.
[4]符強(qiáng),陳能技,潘紹強(qiáng).深入淺出性能測(cè)試于LoadRunner實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2016.
[5]唐君.軟交換性能測(cè)試技術(shù)[J].電信網(wǎng)技術(shù),2009(8):63-67.
[6]謝輝.軟交換系統(tǒng)的自動(dòng)化測(cè)試平臺(tái)ATS的研究和實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2005.