999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

NP仿真器的自動化測試系統的研究與設計

2013-07-03 00:45:10李德明
計算機工程與設計 2013年4期
關鍵詞:指令系統

李德明,葉 進

(桂林電子科技大學 信息與通信學院,廣西 桂林 541004)

0 引 言

軟件測試工作是一個即復雜也需耗費大量人力和時間的過程,據相關統計,軟件測試的成本已超過整個軟件開發總成本的40%以上,因此,提高軟件測試工作的自動化水平將可有效地降低軟件開發的成本、提高軟件質量及其可靠性。

網絡設備的核心部件——網絡處理器(network processor,NP)是一種處理網絡傳輸的專用CPU,擁有復雜的內部結構及專用的指令系統。相對于通用的CPU,NP擁有更為復雜的處理過程和外部接口。因此,在開發設計網絡處理器時,往往需要利用仿真器進行功能模擬及性能驗證等工作,以加快系統開發的效率提高系統的可靠性。NP仿真器的正確實現將決定相關后繼工作能否正常展開。為此,不僅需要在其設計及實現階段進行全面的單元測試,更需要系統集成狀態下對各個模塊及整體性能進行全面的系統集成測試[1]。對于如此復雜的系統,僅使用傳統手工進行測試將難以實現。因此,本文針對NP 仿真器的測試工作設計了一款通用、高效的自動測試系統[2]以實現對NP仿真器的自動系統集成測試。

1 自動測試技術

隨著自動測試技術的發展,目前主要有以下幾種自動測試技術。

(1)錄制回放技術[3]

錄制回放技術是指通過特定的工具記錄下用戶所有操作,并生成可以重復執行的測試腳本。這種技術的優點是測試人員無需掌握豐富的編程經驗即可錄制腳本,但當被測對象發現變化時,所對應的腳本也需重新錄制,因此它的測試用例重用性差,難以維護。

(2)數據驅動技術[4]

為了改進錄制回放技術中數據和腳本完全綁定的缺點,數據驅動技術是通過運用同一個測試用例對應多組不同測試數據來完成測試的技術。它實現了測試邏輯和測試數據的分離,從而大幅提高了系統的復用性易及可維護性,但也對測試人員提出了更高的程序設計要求。

(3)關鍵字驅動技術[5]

在關鍵字驅動的測試技術中,它將整個測試邏輯按照功能關鍵字進行邏輯分解,并把關鍵字的功能實現所需要的測試數據也做了適當的處理,這樣用關鍵字的形式將測試邏輯封裝在數據文件中,測試工具只要能夠解析這些關鍵字即可對其應用自動化實現功能。

關鍵字驅動技術因引入了對象化的設計思想,將關鍵字及對應的數據封裝在對象中,使得測試腳本構造簡單、靈活,尤其適用于是一些靈活性要求較高的大型項目。

上述自動測試技術各有優缺點,故本文采用了優勢互補的形式,提出了一種融入數據的關鍵字驅動的自動化測試系統來完成NP的系統集成測試工作。

2 測試系統架構

該自動測試系統采用層次架構[6]的應用模型,依據系統功能劃分將系統邏輯分為:腳本處理層、測試層、服務層及適配層等4個功能應用層。系統的每個功能層完成相對獨立的功能,并設計成相應的系統構件,構件之間可以XML及SOAP[7]標準協議進行通信。其系統架構如圖1所示。

圖1 自動測試系統的系統架構

(1)腳本處理層是關鍵字處理的核心,其功能是管理測試人員所編寫含有關鍵字的測試用例集,根據測試用例中的關鍵字信息,將用例按測試層的需求自動生成系統可識別的測試腳本,此外,還可提供多種腳本測試模式,如:單腳本測試運行、多腳本(模塊)測試運行。

(2)測試層是系統提供測試功能的核心組件,其中包含VPP協議報文生成、輸出結果預期及結果驗證等三大核心模塊。報文成生模塊可根據測試腳本自動生成相應的VPP協議報文及其序列,作為被測NP和預期模塊的輸入數據;預期模塊則可根據系統的配置信息、輸入的VPP報文內容及其順序自動預期正確的輸出報文內容及序列;驗正模塊提供了輸出數據與預期數據比對驗證功能,如果輸出有誤,則可給出錯誤類型并將相關信息提供給服務層進行測試結果輸出。

(3)服務層提供了各種測試過程的善后處理工作,如:將各種測試結果按指定格式輸出以便后繼系統持續集成;備份原始測試數據,提供對復雜問題的定位支持;系統占用資源清理等。

(4)適配層提供了測試系統與被測NP 仿真器之間的數據交互接口,根據NP 仿真器測試的需求,分別提供了以文件和網絡進行數據交互的文件接口和SOCKET 接口及其相關協議,以滿足不同測試需求。

3 關鍵技術

3.1 關鍵字的提取及處理

(1)關鍵字的提取

根據NP 仿真器的特點,首先將被測系統按可配置的模塊及其配置類型劃分成模塊關鍵字及配置關鍵字;由于NP工作狀態處理的報文長度各異且總量巨大,但報文種類卻相對有限,因此可對報文類型進行歸納,定義出相應的報文類型關鍵字。最后,根據NP 常用處理邏輯過程定義出處理流程關鍵字等。至此,測試人員即可使用若干個關鍵字及附加數據來定義測試用例中的系統配置、測試數據及處理流程等關鍵測試環節。

(2)腳本的生成及處理

如圖2所示,測試人員使用融入數據的關鍵字技術設計的用例中定義了測試邏輯及步驟,但此時測試用例基本只是有一定規則的文本文件,它需在腳本生成模塊中進行關鍵字及數據解析并生成測試模塊所需的實際測試腳本后再進入后繼自動測試各階段。這樣處理過程的設計主要基于以下因素:①可簡化測試用例的設計;②保留針對特殊測試用例(如異常測試等)自定義腳本的編寫;③適應尚處于變化完善中的NP 仿真器的測試,實現測試腳本、測試邏輯和測試數據的三分離。腳本數據及關鍵字的處理及生成過程如圖3所示。其處理基本思路是將測試人員編寫的文本格式的用例中的內容進行逐行解析,將含有關鍵字及數據的行,通過查找該關鍵字的信息,調用相應的處理方法,將其自動轉換成相應合法的腳本語言代碼,最后將轉換完成的腳本按用戶指定的測試方式分別加入到相應的系統測試腳本集中,即可實現自動進行測試加載運行。

圖2 用例的格式及內容

3.2 多隊列輸出逆向驗證算法

測試層可自動按照測試腳本生成輸入測試VPP協議報文,并通過結果預期及驗證模塊進行對被測NP 仿真器的處理結果進行驗證。驗證內容包括指令的處理結果的驗證、報文的數量驗證(分片,多播及組播)、報文的內容驗證、輸出通道及端口驗證和報文輸出順序以及相關寄存器的驗證等眾多檢測項目。

圖3 腳本生成模塊處理過程

在系統的眾多驗證項目中,對報文輸出順序的驗證,是測試層的基礎驗證操作和處理關鍵。這是因為真實的NP內部采用是多通道(隊列)并行處理報文機制,以實現更高效的報文處理能力,為了確保對實時報文(如RTP 報文)的正確發送順序,NP內部集成了一個專門用于確保報文正確處理順序的協處理器,此外,對其它VPP報文內容驗證等比對操作時也需找到與之對應的輸入報文方可進行。因此,對所有用例的測試驗證中都需首先進行輸出報文順序的驗證操作,也是實現其它驗證操作的前提。對于多隊列報文輸出的預期,從輸入端將難以實現,這是因為多隊列報文輸出時可擁有眾多的合理組合,如圖4、圖5中所示僅含有兩個處理隊列的輸入輸出結果示例:圖4為兩個隊列并行處理時的隊列初始狀態,圖5(a)列舉了由圖4中的隊列輸出的兩種合理的報文輸出序列,圖5(b)則為兩種錯誤的報文輸出序列,由此可見,當隊列及報文的數目較大時,對每種合理組合都進行驗證將難以實現。

圖4 兩條處理報文的隊列示例

圖5 正確與錯誤報文輸出示例

為此,在驗證模塊中通過對NP 仿真器內部處理隊列組的模擬(InputQueues)以及通過使用實際測試報文的輸出序列構造出被測對象的報文實際輸出隊列(OutputQueue)的方法實現了一種多隊列輸出序列的逆向驗證算法,其基本思路是將實際輸出隊列中的報文通過報文ID查找其是否處在處理隊列組中的隊列的隊頭位置,如果是,則此報文輸出正確,否則,此報文輸出有錯誤。算法過程如圖6所示。

圖6 多隊列報文輸出逆向驗證算法

3.3 虛擬報文協議(VPP)

虛擬報文協議(virtual packet protocol,VPP)是通過外部輸入數據(VPP 報文)實現控制NP 仿真器的內部指令下達,是NP各協處理器功能測試的關鍵。它主要定義了NP虛擬指令格式與封裝、VPP 協議報文的結構及其處理規則等。

虛擬指令(virtual instruction,VI)按NP的實際指令系統進行簡化后定義的偽指令格式,其結構如圖7(a)所示,一條VI指令由指令碼(instruction code)、指令參數(instruction parameter)及指令響應(instruction response)組成。指令碼指示NP 仿真器需執行的內部指令,指令參數提供內部指令所需的處理數據(如地址等),指令響應則可保存NP執行該指令后的處理結果,以便驗證內部指令處理的正確性。

圖7 VI指令及VPP報文格式

VPP 報文結構如圖7(b)所示,由三部分構成,Header即報文頭,可根據不同的報文類型配置成不同協議格式的報文頭,其中包含該報文的相關信息,如:報文ID、類型、長度、輸入/出參數等信息;VI指令集部分,可包含多條需對此報文執行處理的VI指令;Padding域是長度可按測試需求調整的填充數據,以滿足對不同長度的報文測試需求。

NP仿真器通過輸入的VPP協議報文,即可將封裝在報文中的VI一并讀入、通過內部微碼解析,并轉換成實際指令下發給NP的各個協處理器進行相應的處理,這樣即可方便地實現對各個功能模塊在集成環境下構造各種測試用例。

4 實際應用及結果分析

目前,嵌入數據的關鍵字驅動自動測試系統已在華為公司的某型NP仿真器的測試項目中得到了應用,系統的執行測試狀態界面如圖8所示,與先前使用的傳統腳本自動測試系統對比測試結果見表1。

圖8 測試平臺運行GUI界面

表1 系統測試對比結果

從對比結果可以看出,采用融入數據的關鍵字驅動的自動測試技術的腳本平均長度及其設計耗時都大為縮短,這主要得益于這種兼有關鍵字驅動及數據驅動技術優點的測試技術對測試要素的高度抽象和概括,極大簡化了測試腳本設計,使測試人員可專注于測試邏輯的設計,而非腳本的編寫,從而大幅提高了測試效率及進度。

5 結束語

本文根據網絡處理器仿真器的測試中的需求及難點,設計了一種融入數據的關鍵字驅動自動測試系統,通過此系統,測試人員可使用若干標注有數據的關鍵字即可清晰描述測試用例的配置、數據及測試過程,大大簡化了測試用例的設計,從而大幅提高測試效率和測試質量。

此外,文中還針對NP 內部的多隊列處理特點,提出了多隊列輸出逆向驗證算法,并在實際測試應用中充分地驗證了這種測試技術針對NP 仿真器系統集成自動測試的有效性及適用性,對其它復雜軟硬件系統的自動測試平臺的設計有著一定的參考價值。

[1]LU Lu,WANG Baiyong.Technology of software automated test[M].Beijing:Northern Jiaotong University Press,2006:33(in Chinese).[陸璐,王柏勇.軟件自動化測試技術[M].北京:北方交通大學出版社,2006:33.]

[2]FAN Yong,LAN Jingying,LI Huizhuo.Technology of software testing[M].Xi’an:Xidian University Press,2009(in Chinese).[范勇,蘭景英,李繪卓.軟件測試技術[M].西安:西安電子科技大學出版社,2009.]

[3]SHAN Jinhui,JIANG Ying,SUN Ping.Research progress in software testing[J].Acta Scientiarum Naturalium Universitatis Pekinensis,2005,41(1):134-145(in Chinese).[單錦輝,姜瑛,孫萍.軟件測試研究進展[J].北京大學學報(自然科學版),2005,41(1):134-145.]

[4]ZHU Ju,WANG Zhijian,YANG Xue.A software automation test frameworks based on data-driven automation methodology[J].Computer Technology and Development,2006,16(5):68-70(in Chinese).[朱菊,王志堅,楊雪.基于數據驅動的軟件自動化測試框架[J].計算機技術與發展,2006,16(5):68-70.]

[5]WANG Jun,ZHU Meizheng,LI Xin.Research and implementation of keyword-driven test framework[J].Computer Engineering and Design,2010,31(10):2246-2248(in Chinese).[王君,朱美正,李欣.關鍵字驅動測試框架的研究與實現[J].計算機工程與設計,2010,31(10):2246-2248.]

[6]Shaw M,Clement S P.The golden age of software architecture[J].IEEE Software,2005,23(2):312-319.

[7]SOAP Version 1.2 specification[EB/OL].http://www.w3.org/TR/soap/,2010.

[8]LU Deng.Application and research of automated test in large scale software system[D].Hangzhou:Zhejiang University,2010(in Chinese).[陸登.自動化測試在大型軟件系統的應用與研究[D].杭州:浙江大學,2010.]

[9]JIE Hui,LAN Yuqing,LUO Pei.Keyword driven automated testing framework[J].Application Research of Computer,2009,26(3):927-929(in Chinese).[接卉,蘭雨晴,駱沛.一種關鍵字驅動的自動化測試框架[J].計算機應用研究,2009,26(3):927-929.]

[10]Malik Q A,Lilius J,Laibinis L.Model based testing using scenarios and event-B refinements[C]//Lecture Notes in Computer Science 5454:Methods,Models and Tools for Fault Tolerance,2009:177-195.

猜你喜歡
指令系統
聽我指令:大催眠術
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
主站蜘蛛池模板: 久久精品只有这里有| 第九色区aⅴ天堂久久香| 国产成人亚洲欧美激情| 欧美日韩va| 在线观看亚洲精品福利片 | 国产乱论视频| 亚洲AV无码不卡无码| 午夜丁香婷婷| 69av免费视频| 国产在线日本| 99这里只有精品在线| 日韩天堂视频| 日韩精品免费在线视频| a亚洲视频| 中文字幕久久波多野结衣 | 91无码人妻精品一区| 女人爽到高潮免费视频大全| 亚洲日韩国产精品综合在线观看| 国产精品55夜色66夜色| 国产人人乐人人爱| 精品无码一区二区在线观看| 亚洲免费人成影院| 91精品国产综合久久香蕉922| 黄色网址免费在线| 欧洲亚洲欧美国产日本高清| 国产杨幂丝袜av在线播放| 99热国产这里只有精品9九| 亚洲精品无码人妻无码| 91福利在线观看视频| 重口调教一区二区视频| 国产成人1024精品下载| 欧美第九页| 97一区二区在线播放| 日本亚洲欧美在线| 国产日韩欧美黄色片免费观看| 制服丝袜一区二区三区在线| 99一级毛片| 熟妇丰满人妻| 91成人在线免费视频| 婷婷色狠狠干| 亚洲综合狠狠| 国产va欧美va在线观看| 无码一区二区三区视频在线播放| 久一在线视频| www.精品视频| 亚洲日韩精品伊甸| 亚洲欧洲日本在线| 亚洲国产91人成在线| 中文字幕 91| 国产成人91精品| 嫩草国产在线| 亚洲福利片无码最新在线播放 | 亚洲系列无码专区偷窥无码| 无码中字出轨中文人妻中文中| 色有码无码视频| 久久久受www免费人成| 国内精自视频品线一二区| 欧洲日本亚洲中文字幕| 亚洲国产综合精品中文第一| 成人一区在线| 99热6这里只有精品| 国产欧美自拍视频| 日韩欧美中文| 亚洲国产成人久久精品软件| 在线日韩日本国产亚洲| 露脸一二三区国语对白| 亚洲人成网站色7777| 久久这里只有精品66| 国产美女自慰在线观看| 欧美激情视频二区三区| 老色鬼欧美精品| 在线a网站| 久久久国产精品无码专区| 国产经典在线观看一区| 色窝窝免费一区二区三区| 色婷婷亚洲综合五月| 精品国产中文一级毛片在线看| 久久伊人操| 久久男人视频| 国产在线日本| 国产最新无码专区在线| 国产成人综合亚洲欧美在|