<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > TCL嵌入式測試技術(shù)在數通領(lǐng)域的應用

TCL嵌入式測試技術(shù)在數通領(lǐng)域的應用

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏

(Tool Command Language)是一種解釋執行的腳本語(yǔ)言(Scripting Language),是業(yè)界主流自動(dòng)化語(yǔ)言,修改后不需重新編譯,解釋器直接執行。在傳統的黑盒中,也有大量應用,模型如圖1所示

本文引用地址:http://dyxdggzs.com/article/201609/303578.htm

11.jpg

原有自動(dòng)化測試模型,是在PC上運行自動(dòng)化測試腳本,通過(guò)TCL解析器,向設備發(fā)送命令行配置、控制儀器打入流量驗證等測試手段完成自動(dòng)化測試。

TCL測試是將TCL語(yǔ)言解釋器植入Comware V7系統中,并且通過(guò)TCL擴展命令調用cOmware V7系統模塊內部接口,以構成測試條件達到測試的目的。從測試類(lèi)型看,它屬于灰盒測試。從測試階段看,它類(lèi)似集成測試,介于單元測試和系統測試之間。從測試手段看,利用TCL語(yǔ)言編寫(xiě)測試腳本進(jìn)行更為細致的模塊接口功能、子模塊功能測試。測試腳本開(kāi)發(fā)出來(lái)后,可以用于自動(dòng)化測試。

V7系統的測試在繼承原有軟件系統的自動(dòng)化測試技術(shù)基礎上,通過(guò)TCL測試技術(shù),把TCL解析器植入到V7系統中,并根據測試需求封裝了一系列的模塊接口擴展函數。開(kāi)發(fā)的TCL測試腳本可以調用命令行配置命令和擴展函數進(jìn)行更為細致的功能測試,并自動(dòng)獲取運行結果,自動(dòng)解析功能是否正常,從而實(shí)現了很多模塊功能點(diǎn)的自動(dòng)化測試,提升了V7系統的自動(dòng)化測試比例。

TCL嵌入式測試技術(shù)作為一種灰盒測試技術(shù),在V7測試實(shí)踐過(guò)程中,有如下的幾個(gè)典型的測試模型及應用。

模型一:模塊接口測試

系統由各大組件組合而成,組件特性一般包括路由組件、MPLS組件、組播組件等(如圖2 所示),其中組件又是由各大模塊組成(比如路由組件一般包括OSPF模塊、BGP模塊等),每個(gè)模塊又是由一系列的函數組合實(shí)現其功能。

通用的業(yè)務(wù)模塊的測試,比如OSPF模塊、BGP模塊等,都有提供給用戶(hù)的命令行接口,黑盒測試通過(guò)這些命令行能夠去測試這些模塊的功能。系統中也有些模塊,比如路由管理模塊(RM模塊),這些模塊完全是廠(chǎng)商自己實(shí)現的內部的模塊,其對用戶(hù)來(lái)說(shuō),基本上是不可見(jiàn)的,但是他們又是連接OSPF模塊和其它模塊的橋梁。這些模塊之間通過(guò)模塊對外提供的接口函數進(jìn)行交互。也就是說(shuō),如果通過(guò)黑盒測試,將無(wú)法直接測試到RM模塊,只能通過(guò)BGP模塊這些有用戶(hù)接口的模塊間接的去測試RM模塊。這樣會(huì )導致有些功能無(wú)法覆蓋到,或者說(shuō)覆蓋到這些功能的條件很難構造。

22.jpg

而TCL嵌入式測試技術(shù),把RM模塊對外的接口函數通過(guò)TCL語(yǔ)言全部封裝出來(lái),使得測試人員可以通過(guò)TCL語(yǔ)言測試腳本調用這些接口函數,并利用內部集成的TCL解析器運行TCL測試腳本去完成這些模塊的功能測試。通過(guò)TCL嵌入式測試腳本,我們就很容易遍歷

模塊對外接口的各種參數情況(包括邊界值),特別是一些參數的異常值情況,這是黑盒測試的盲點(diǎn)。

一般來(lái)說(shuō)BGP模塊和路由管理模塊都是不同的開(kāi)發(fā)人員開(kāi)發(fā),他們之間有個(gè)契約,就是BGP模塊調用RM外部接口時(shí)候,不會(huì )傳入錯誤的參數。正常情況下,別的組件也的確不會(huì )傳入一些異常參數,但是特殊情況下,上層模塊也可能傳入了錯誤的參數,這樣情況RM模塊需要做容錯性處理,才能使整個(gè)系統更加的穩健。這種接口測試是黑盒測試的盲點(diǎn),TCL嵌入式測試技術(shù)可以保障V7系統的各個(gè)模塊提供的對外接口函數的健壯性和子模塊功能的正確性。如圖3所示。

33.jpg

模型二:測試各模塊之間的交互過(guò)程細節

V7系統的各大組件模塊在同一個(gè)系統下工作,他們之間不可避免的要傳遞一些數據和消息,這些消息和數據里面會(huì )攜帶一些模塊之間約定的參數,這些參數必須是按照事先約定的內容和數據,整個(gè)系統的功能才能正確。但是如果在開(kāi)發(fā)過(guò)程中,部分開(kāi)發(fā)人員的出錯,某些消息和數據沒(méi)有遵循事先設計約定的內容,這樣肯定會(huì )導致功能性錯誤。

但是并不是所有這些bug都立即能夠表現出功能性錯誤來(lái),就好像人中了某些毒,并不一定馬上能表現出癥狀來(lái)一樣,這些癥狀可能要有某些條件才能觸發(fā)。這也是黑盒測試的一個(gè)困境。而TCL嵌入式腳本能夠截獲模塊之間交互的消息和數據詳細信息,并能夠打印和解析出來(lái),就如同在模塊交互間打開(kāi)了一扇觀(guān)察的窗戶(hù),測試人員能夠很方便的觀(guān)察其參數是否攜帶正確;并及時(shí)發(fā)現這種bug。如圖4所示。

44.jpg



關(guān)鍵詞: TCL 嵌入式 測試

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>