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