?

軟交換系統自動化測試的設計與實現

2019-09-10 00:51王迎超
計算機與網絡 2019年23期
關鍵詞:自動化測試

王迎超

摘要:針對軟交換系統在工程化應用測試過程中大批量回歸測試費時耗力的問題,從工作需要出發構建了一個自動化測試平臺。該平臺主要采用Doubango框架與SIPp工具等技術,涵蓋了軟交換系統的功能測試、穩定性測試及性能測試等多方面的功能,可重復進行大批量回歸測試。通過與人工手動執行測試用例進行對比實驗,結果表明該平臺可以提高測試人員的測試效率,幫助研發進行缺陷預防,減少系統開發成本,提高系統質量及縮短系統開發周期。

關鍵詞:軟交換系統;自動化測試;回歸測試;Doubango;SIPp

中圖分類號:TN915文獻標志碼:A文章編號:1008-1739(2019)23-65-3

0引言

為了更加快速、有效、可靠地對軟件進行測試,提高被測系統的質量,測試工具和工具思維就必然會被引入到測試工作中,自動化測試也被提上日程[1]。常用的自動化測試工具種類繁多,其中主流的有UFT,Selenium,LoadRunner等,但是針對于軟交換系統的特點,商業的自動化測試工具都存在著一定的不足,例如無法支持專用協議和傾向于單一類型測試,為此專門設計開發了一套用于軟交換系統的自動化測試平臺。

1軟交換自動化測試平臺設計

軟交換自動化測試平臺采用黑盒測試的方法,功能測試模塊和穩定性測試模塊底層均采用基于Doubango框架的SIP/IMS(VoIP)客戶端組件模擬人工測試的執行過程,上層封裝為關鍵字驅動的設計方案,便于業務嵌套和組合。另外借助于SIPp工具對軟交換系統的性能進行測試驗證。測試平臺網絡架構如圖1所示,由被測對象、性能測試服務器、測試客戶端及性能監控客戶端等組成,測試平臺采用Visual Stutio 2017開發。

1.1被測對象軟交換系統

軟交換是一種功能實體,為下一代網絡NGN提供具有實時性要求的業務的呼叫控制和連接控制功能,是固定電話向NGN平滑過渡的核心系統[2]。會話初始協議(Session Initiation Protocol,SIP)是一個基于文本的應用層控制協議,用于創建、修改和釋放一個或多個參與者的會話。SIP還是一種源于互聯網的IP語音會話控制協議,具有靈活、易于實現和便于擴展等特點[3]。本設計只針對軟交換系統開發了SIP協議相關的自動化測試。

1.2測試客戶端

測試客戶端具有進行功能測試穩定性測試、性能測試、生成測試記錄日志及生成測試結果報告的功能,系統界面如圖2所示。

設計思路是采用關鍵字驅動的方式。關鍵字驅動框架的基本工作是將測試用例分成4個不同的部分。①測試步驟:仿照人工測試的執行步驟;②測試步驟中的對象:基于Doubango框架的SIP協議部分封裝生成一定數量的軟IP話機終端;③測試對象執行的動作:包括注冊、呼叫、發送DTMF、呼叫保持釋放、掛機等一系列操作;④測試對象需要的數據:比如話機號碼、注冊地址、端口號及音視頻編碼格式等。由測試人員選擇需要執行的功能模塊和用例,后臺根據測試步驟獲取相應的測試數據執行一系列注冊、呼叫等操作,在用例執行過程中監控此對話機在每一個操作前后的注冊狀態、呼叫狀態、來電號碼等是否與預期的一致來判斷測試結果,并且支持單條用例和部分用例靈活執行。測試執行過程通過Log4net日志工具將每一步執行的操作和話機狀態的實時變化都輸出到日志文件保存,便于后期定位bug的發生場景及分析原因。

1.3性能測試服務器

性能測試服務器的主要功能是對軟交換系統進行壓力測試、負載測試、強度測試和容量測試。最關鍵的是驗證行業中要求滿足以下性能指標。①系統容量指標:包括可接入的用戶數和可同時進行的并發呼叫量;②系統處理能力是通過BHCA或者CAPS來衡量;③軟交換延時是指軟交換對消息的轉發時間。

性能測試采用的是SIPp工具技術,SIPp是一個測試SIP協議性能的工具軟件,它包含了一些基本的SipStone用戶代理工作流程(UAC, UAS),并可使用INVITE, BYE建立和釋放多個呼叫。也可以讀XML的場景文件,即描述任何性能測試的配置文件,它能動態顯示測試運行的統計數據。

1.4性能監控客戶端

性能監控客戶端的作用是在測試過程中監控軟交換系統的性能指標。性能測試指標一般可劃分為業務指標和系統資源指標兩大部分,對于一般用戶而言,關注的主要是業務指標,而系統資源指標是系統性能的一個反應,它可以幫助分析系統性能瓶頸、優化系統或者發現一些隱形問題[4]。性能監控客戶端主要監控系統資源的指標,業務指標在具體的性能測試用例中進行驗證。通常系統資源指標包括CPU、內存、硬盤、外置存儲及網絡帶寬的使用率等,一般的原則是超過80%的使用率則需要進行資源調整和優化。

性能監控使用nmon工具可以實時監視和記錄所有性能參數,使用啞屏幕在屏幕上對數據進行顯示,并且每隔數秒對其進行更新。nmon工具還可以將性能數據捕獲到一個文本文件,然后通過nmon_analyse分析工具分析文件和繪制圖形直觀地顯示各個性能參數的趨勢浮動變化。

2軟交換自動化測試平臺應用

2.1業務功能測試應用

自動化測試平臺目前可以覆蓋軟交換所有常用的功能業務,包括無條件前轉、無應答前轉、遇忙前轉、不在線前轉、簡單通話、會議功能、遇忙強插、遇忙回叫、呼叫等待、多方通話、縮位撥號、呼叫保持、呼叫轉移、呼叫組、免打擾和指定代答等共計16個模塊,執行用例數量200多個。一位經驗豐富的測試工程師經過數據配置、用例執行和結果統計3個過程完成這200多個用例,大概需要24個工時,而采用該工具后只需要不到4個工時,僅占人工測試用時的1/6。

根據用戶現場實際使用場景組合各種常用業務進行場景模擬,采用80/20原則(80%的業務在20%的時間內發生)計算出穩定性測試的基準模型,充分利用晚間和周末的非工作時間對系統進行大量多次的功能驗證,充分保證了系統的穩定性。

2.2性能測試應用

性能測試自動化程度達到100%覆蓋相關的測試用例??煽啃詼y試是各個常用功能的長時間測試的可靠性。其他性能測試有BHCA或CPS[5]、最大注冊在線用戶數、同時最大呼叫數、過載保護測試和多方會議性能測試。

在沒有引入自動化測試之前,以上測試項靠人工幾乎是很難實現的,但引入了自動化工具以后則是一件簡單的事情。性能測試執行界面如圖3所示。性能測試模塊不僅關注業務指標是否滿足了行業需要,通過性能參數監控還可以確保系統的各項內在指標正常,基本上排除內存泄漏、性能瓶頸和一些隱形的問題[6],性能監控如圖4所示。

3結束語

經實際運用后,軟交換自動化測試平臺的意義在于:①大大提高測試效率,自動化測試可以避免大量繁瑣耗時的手工測試;②彌補手工測試的短板,有些非功能性的測試單用人來測試是不可能達到的,但是引入了自動化測試以后變得很簡單;③具有一致性和可重復性,很容易發現被測系統的改變;④更好地利用資源,工具完全可以在非工作時間的夜間和周末執行測試,充分地利用公司資源,縮短開發和測試的整個周期。然而,自動化也有其本身固有的局限,如果功能產生變更,就需要人工重新編寫測試用例和測試腳本,維護成本比人工測試較高,要想實現更多軟交換支持的其他協議的自動化測試,仍需要針對該平臺進行持續集成。

參考文獻

[1]京東研發—虛擬平臺.京東質量團隊轉型實踐———從測試到測試開發的蛻變[M].北京:人民郵電出版社,2018.

[2]蔡穎,生旭彬.電話網絡通信系統的軟交換技術研究[J].信息與電腦(理論版),2017(12):160-162.

[3]張庚,蘇斕,丁慧霞,等.軟交換設備SIP測試方法研究[C]//中國通信學會普及與教育工作委員會.2012年電力通信管理暨智能電網通信技術論壇論文集,北京,2013:441-445.

[4]符強,陳能技,潘紹強.深入淺出性能測試于LoadRunner實戰[M].北京:電子工業出版社,2016.

[5]唐君.軟交換性能測試技術[J].電信網技術,2009(8):63-67.

[6]謝輝.軟交換系統的自動化測試平臺ATS的研究和實現[D].武漢:華中科技大學,2005.

猜你喜歡
自動化測試
基于Java反射的APP自動化混合測試框架的研究與實現
Hadoop性能測試自動化研究
數據驅動和關鍵字驅動的研究與應用
淺談空調控制器自動化測試
基于多總線結構的電路板測試系統設計研究
航空航天與國防電子新形勢下自動化測試系統的應用
基于CTI—TET和SeleniumWebdriver的Web應用自動化測試框架的設計與實現
自動化測試實現研究
一種航空交換機中CAN總線的自動化測試方法
基于Selenium進行Web應用測試研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合