?

網絡設備自動化測試設計與實現

2018-09-26 11:34辜彬何舒陳顏
數字技術與應用 2018年5期
關鍵詞:自動化測試測試環境測試工具

辜彬 何舒 陳顏

摘要:本文對網絡設備測試需求進行分析,提出一種自動化測試框架,并對具體實現進行闡述。

關鍵詞:網絡設備;自動化測試;測試框架;測試設計;測試工具;測試環境

中圖分類號:TP393 文獻標識碼:A 文章編號:1007-9416(2018)05-0174-03

網絡設備是當今網絡社會的重要組成部分,其功能、性能、穩定性直接關系到網絡是否能正常運轉。針對網絡設備的測試技術、儀器已經非常成熟,通過自動化測試技術來整合這些方法和資源,可以大大提升網絡設備測試效率和質量。

1 網絡設備測試需求分析

網絡設備的發展史是一個集設計、制造、測試、失敗、修改、再設計、再制造、再測試的迭代過程,是一個不斷摸索和反復完善的過程。實踐表明,要研制出高性能高可靠性的網絡設備,沒有大量的測試工作是不可能實現的。勿庸置疑,測試在網絡設備研制過程中起著舉足輕重的作用,它直接關系到研制的成功與否。

網絡設備功能明確而單一,即根據通信策略完成業務數據的通信處理。與之對應的測試需求也相對固定,利于開展自動化測試。

1.1 網絡設備工作原理分析

網絡設備基本工作原理如圖1所示。

網絡設備一般由接口單元、業務單元和管理單元組成。

接口單元實現不同網絡、設備間的物理互聯功能,依據需求的不同接口形態呈現多樣性,如承載用戶數據接收和發送的業務數據接口;完成安裝調試和維護接入功能的維護測試接口;提供人機交互界面的狀態顯示接口等。

業務單元主要包括網絡處理模塊、協議處理模塊和策略庫,實現按策略庫提供的規則對業務數據進行處理功能。業務單元與通信速率匹配,性能和可靠性要求最高。

管理單元主要包括策略管理、狀態管理、系統日志、權限管理等模塊,根據管理方式不同還需提供本地管理和遠程管理功能。

1.2 測試需求分析

網絡設備測試需求分析需從網絡設備的工作原理和實現機制兩個方面進行分析,分別側重于實際業務處理和設備內部設計實現,綜合形成完善的網絡設備測試需求。

從工作原理方面來分析,網絡設備的核心測試內容為業務數據處理單元測試和管理單元測試。業務數據處理測試包含各類協議的處理功能,性能和業務處理穩定性等方面;管理單元測試涉及到人機界面功能和易用性,管理配置功能準確性和穩定性等。

從實現機制方面來分析,網絡設備的實現包含了硬件平臺設計實現、基礎軟件設計實現和業務軟件設計實現等環境,測試需求遵從信息系統的一般規律。

某網絡設備測試需求如表1所示。

2 自動化測試框架

從網絡設備的測試需求分析可以看出網絡設備測試涉及到了硬件、軟件、協議、代碼、整機等不同維度的測試技術,相應的測試方法和工具也不同,自動化測試并不能適應所有的測試類型,對于網絡設備而言,我們選取回歸測試內容多、工作量大,測試方法和工具成熟的部分開展自動化測試設計和實現。

形成的自動化測試框架如圖2所示。

自動化測試框架分為控制臺、自動化測試平臺和被測對象三個部分。

控制臺是測試人員的日常操作環境。通過對被測對象的分析和研究,形成測試設計的輸入,并對測試結果進行分析;控制臺還提供測試環境配置操作和測試工具分析調試功能。

自動化測試平臺是框架的核心部分,包含了測試輔助設計、測試結果收集、輸入輸出腳本化、執行引擎和測試工具集等部分。實現從測試設計、測試用例輸入、測試執行和測試結果收集整個測試執行過程的自動化。網絡設備測試需要靈活的測試環境部署能力,所以自動化測試平臺還提供測試環境配置能力,便于模擬各類通信場景。

實際被測對象在測試人員進行產品配置過后,可以接入自動化測試平臺,開展測試實施。

該自動化測試框架具備可擴展性,在測試需求不斷增加和完善的過程中,特別是在新的測試方法和工具逐步成熟、固化過后,對其輸入輸出和運行方式按測試平臺規范進行優化,可以很方便地加入到自動化測試工具集中,實現自動化測試框架可擴展。

3 自動化測試系統實現

網絡設備自動化測試系統的建設涉及面廣,是逐步積累和完善的過程,實現自動化測試框架規劃的內容可按以下幾個部分進行實施。

3.1 基礎設施建設

基礎設施是指支撐自動化測試系統運行和部署的網絡和計算平臺,主要為各類服務器和網絡路由交換設備。

自動化測試系統中的服務器和網絡設備的配置和管理不能成為測試實施時的負擔和瓶頸,要有集中統一的配置管理方法來支撐。使用虛擬化技術對網絡、服務器、存儲進行虛擬化和統一集中管理是一種有效的方式,同時也能合理利用系統資源,便于資源的擴展。

網絡設備測試會涉及到諸如串口、USB等難以進行虛擬化的低速物理接口,這類接口需提供便于接入虛擬化基礎設施的方式,比如通過以太網進行管理和使用的串口服務器、USB服務器等。

3.2 接口規范建立

接口規范是指自動化測試平臺中輸入輸出腳本化和執行引擎所遵循的格式及要求,是確保測試設計的結果能順利驅動測試執行并返回可分析結果的前提。

3.2.1 輸入輸出腳本化

輸入輸出腳本化接口規范定義了測試設計輸出的測試用例和測試結果返回的形式。

圖3所示為采用execl表格作為輸入輸出接口規范的示例,execl表格訪問方便,便于擴展,對execl表格的讀寫和分析可以固化為統一的軟件模塊,減少重復工作。輸入輸出腳本化模板分為測試用例、測試結果、測試項三個域。

域①為測試用例域,包括完整的測試用例輸入和預期結果,可通過增加列來增加測試輸入,每一行代表一條完整的測試用例,測試工具的輸入參數名與測試用例表頭描述一致。

域②為測試結果域,測試結果列反應測試通過或不通過,不通過則本行標紅,返回信息摘要存儲測試返回的精簡摘要信息,其它可按具體測試內容進行填充,原則是便于后期問題定位。

域③為測試項域,通過增加exexl工作表來增加測試項。

3.2.2 執行引擎

執行引擎既是自動化測試執行模塊,也是測試工具集成接口。網絡設備測試既需要使用軟件測試工具進行的測試,也有開發的測試腳本,還有專用的測試儀器,要實現測試的自動化,就需要將這些分散的測試方法和工具集成到一個統一的執行平臺上,執行引擎就界定了這些調用和返回的格式和方法。

執行引擎應具備如圖4所示的功能模塊。

執行引擎采用輕量級控制端模式,即控制端只對測試運行的基本場景進行設置,詳細測試腳本、參數、程序等都在執行端實現和存儲。執行端可以有多個,以適應不同運行環境。

在控制端選擇的啟動腳本為執行端測試運行的命令行指令。因此要求所有測試工具集中的測試程序、腳本等都能以簡單的命令行方式啟動,并帶有運行時間和輸入輸出腳本化文件存儲位置參數。

3.3 測試設計輔助工具

測試設計包括測試需求分析和測試用例設計,從項目需求分析出測試需求,再按測試需求設計出測試用例,整個過程主要依靠人來進行,同時也受制于人的能力水平、經驗甚至是情緒等不可控因素。

測試設計輔助工具將測試需求分析和測試用例設計領域中成熟、可靠的分析設計方法模型化并用軟件實現,用來幫助測試設計人員更可靠、更高效地完成測試設計工作,對輸出的測試用例按輸入輸出腳本化接口規范進行保存,與測試工具對接。

測試需求分析主要包含繼承分析、逐級細分分析、質量模型分析、功能交互分析、用戶場景分析等測試需求分析方法,輸出為測試項。

測試用例設計方法主要包括逐級細分、域測試、輸出域分析、正交試驗、業務流程分析、狀態遷移法、因果圖、判定表、錯誤猜測等方法,輸出為可用的測試用例。

3.4 自動化測試工具集

自動化測試離不開有效的測試工具,網絡設備測試工具多樣,主要分為三大類,既測試儀器類、通用測試軟件和定制化的測試軟件,不同測試工具推薦的自動化測試框架也不盡相同,因此要達到工具間的集成和協作,需按3.2章節接口規范的要求進行改造,減少工具之間耦合,做到工具即能單獨開展測試也能方便地集成到自動化測試框架當中。

3.4.1 測試儀器

測試儀器主要使用在網絡設備性能和協議模擬測試等方面,具備完善的測試設置和自動化運行能力,與自動化測試框架集成,需使用其提供的二次開發接口進行二次開發,滿足接入框架的要求。

3.4.2 通用測試軟件

在功能測試,設備API接口測試、白盒測試等測試內容中采用了通用測試軟件,通用測試軟件都有自身的一套自動化測試框架,要與網絡設備自動化測試框架相結合,需在深入研究通用測試工具使用和配置的基礎之上,將其運行腳本化,避開工具操作界面對自動化運行的影響,通過命令行方式啟動測試軟件的運行。同時在測試環境中配置通用測試軟件運行的條件,比如版本控制、數據庫系統等,支撐測試軟件的運行。

3.4.3 定制化測試軟件

定制化測試軟件是網絡設備測試中業務功能測試應用最多的測試工具,以腳本語言編程為主,使用靈活,按接口規范進行設計開發,與自動化框架集成。

3.5 測試環境配置

測試環境配置在網絡設備測試中尤為重要,不可信的測試環境往往導致測試結果不可信甚至錯誤,環境配置以滿足測試需求、統一管理為原則,對于不影響測試結果的公共測試環境可以加入基礎設施建設的虛擬化系統中,便于集中管理,比如版本管理、公用數據庫等。

4 結語

自動化測試系統只是解決測試效率和重復測試的質量問題,目的是將人從重復的勞動中釋放出來從事更具創新性、更需要人腦分析和研究的工作,在自動化測試開展越成熟的地方,人的價值體現就會越高,人在測試活動中的價值不會因為自動化程度越高而降低。

方法和工具的成熟度也是影響自動化測試開展的重要因素,自動化測試中往往選擇那些測試方法和工具穩定,人在測試過程中重復操作頻繁的部分進行自動化,典型的就是回歸測試。

所以,自動化測試并不是解救測試人員的靈丹妙藥,在開展自動化測試的過程中,需要不斷地摸索和嘗試才能最終形成一套有效的,適合組織需要的自動化測試系統。

猜你喜歡
自動化測試測試環境測試工具
Http并發連接測試工具
手車式真空斷路器回路電阻測試電流線接頭研究
淺談空調控制器自動化測試
福祿克推出先進的連接式測試工具系統
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合