隨著在電信行業(yè)工作的逐漸深入,人們對網(wǎng)管技術(shù)的理解已經(jīng)由以前的只對網(wǎng)絡(luò)管理協(xié)議的專注發(fā)展為對包括理論、實(shí)現(xiàn)技術(shù)和工程在內(nèi)的成套網(wǎng)絡(luò)管理相關(guān)技術(shù)的研究。提高網(wǎng)絡(luò)管理建設(shè)的質(zhì)量不再是簡單地在網(wǎng)管協(xié)議之上發(fā)生爭論,而是要解決如何在網(wǎng)絡(luò)管理建設(shè)中應(yīng)用成套的網(wǎng)絡(luò)管理技術(shù)的問題。在這一系列網(wǎng)管技術(shù)中,網(wǎng)絡(luò)管理接口測試即是其中的一個(gè)重要環(huán)節(jié)。
在電信網(wǎng)本身的建設(shè)教程中,為了保證網(wǎng)絡(luò)本身的互聯(lián)互通,我們有一套比較好的方法論,即電信設(shè)備的生產(chǎn)需要標(biāo)準(zhǔn),電信設(shè)備的入網(wǎng)需要依據(jù)標(biāo)準(zhǔn)進(jìn)行測試,全網(wǎng)設(shè)備版本需要統(tǒng)一管理。但是,在以往的網(wǎng)管建設(shè)過程中,人們卻忽略了這一點(diǎn),這主要體現(xiàn)在網(wǎng)管系統(tǒng)的引進(jìn)過程中沒有經(jīng)過嚴(yán)格的測試,網(wǎng)管系統(tǒng)運(yùn)行的質(zhì)量無法保證,對全網(wǎng)網(wǎng)管系統(tǒng)的現(xiàn)狀沒有統(tǒng)一的概念,為網(wǎng)管系統(tǒng)的后續(xù)建設(shè)帶來了困難。為了保證網(wǎng)管系統(tǒng)和設(shè)備之間的正常交互,就有必要對通過接口交互的雙方進(jìn)行某種以接口標(biāo)準(zhǔn)為依據(jù)的檢驗(yàn)以判斷雙方對接口的符合程度,只有經(jīng)過檢驗(yàn)并通過認(rèn)證的網(wǎng)絡(luò)管理系統(tǒng)和被管設(shè)備,才能入網(wǎng)使用。在網(wǎng)絡(luò)管理領(lǐng)域,這種檢驗(yàn)被稱作網(wǎng)管接口的測試。
一、網(wǎng)絡(luò)管理接口測試的基本方法
1.網(wǎng)管接口測試是一致性測試
所謂一致性測試,就是執(zhí)行一系列操作,驅(qū)動(dòng)被測實(shí)現(xiàn),并觀察被測實(shí)現(xiàn)對確定行為的響應(yīng),根據(jù)某一被測實(shí)現(xiàn)與其實(shí)現(xiàn)規(guī)范的符合程度,得出一致性結(jié)論。
概括而言,一致性測試的目標(biāo)就是要檢測被測實(shí)現(xiàn)是否滿足一致性聲明中所闡述的靜態(tài)和動(dòng)態(tài)一致性要求。其中,對靜態(tài)一致性要求的測試通過靜態(tài)一致性分析(Static Conformance Review)實(shí)現(xiàn),對動(dòng)態(tài)一致性要求的測試通過測試行為(Test Campaign)來進(jìn)行。上述兩方面的測試過程是一致性測試過程的核心。在測試行為中,應(yīng)在被測系統(tǒng)之上運(yùn)行測試集,收集測試結(jié)果并生成測試記錄。
2.網(wǎng)管接口測試是黑盒測試
在軟件工程學(xué)中,一致性測試被分為結(jié)構(gòu)性測試和功能性測試。結(jié)構(gòu)性測試主要是在了解軟件代碼的基礎(chǔ)上,有目的地設(shè)計(jì)測試用例,用于測試軟件在各種輸入測試數(shù)據(jù)的環(huán)境下是否運(yùn)行正常,通常也被稱為“白盒測試”。功能性測試通常稱為“黑盒測試”,它不關(guān)心被測實(shí)現(xiàn)對某項(xiàng)操作的具體實(shí)現(xiàn)方法,只關(guān)心被測系統(tǒng)從軟件接口上是否滿足了該操作的功能要求。
網(wǎng)管接口一致性測試的方法基本上屬于黑盒測試。從測試條件來說,網(wǎng)絡(luò)管理接口的測試不屬于軟件產(chǎn)品內(nèi)部的測試,而是第三方對產(chǎn)品進(jìn)行的驗(yàn)證,因此不可能了解軟件的具體實(shí)現(xiàn)。從測試目標(biāo)來說,網(wǎng)絡(luò)管理接口測試通過測試驗(yàn)證被測網(wǎng)管系統(tǒng)的接口,實(shí)現(xiàn)同網(wǎng)管接口規(guī)范之間的一致性,無需限制具體的實(shí)現(xiàn)。從測試手段分析,在一定的模擬或者實(shí)際網(wǎng)絡(luò)環(huán)境下,對被測的網(wǎng)管系統(tǒng)輸入必要的測試激勵(lì),通過比較被測系統(tǒng)的響應(yīng)與接口規(guī)范所預(yù)期的測試結(jié)果的異同,判定被測系統(tǒng)在多大程度上與系統(tǒng)實(shí)現(xiàn)者所作的實(shí)現(xiàn)一致性聲明相一致。這種測試只是根據(jù)網(wǎng)管接口規(guī)范描述,測試出用戶陳述的一致性行為和被測系統(tǒng)的實(shí)際行為的差異,不能具體指出成熟出自源程序的哪一部分,也無法對錯(cuò)誤進(jìn)行修正。
3.網(wǎng)管接口測試基本參考模型
在被測系統(tǒng)一側(cè)的網(wǎng)管接口是被測系統(tǒng)本身已經(jīng)實(shí)現(xiàn)的實(shí)際接口,而在測試系統(tǒng)一側(cè)的接口是測試系統(tǒng)自備的網(wǎng)管接口。
測試接口是由測試系統(tǒng)定義,由被測系統(tǒng)提供支持的接口。測試接口是一種基于某種互聯(lián)方式(TCP/IP、X.25、V.24、Netbios等)、經(jīng)過雙方協(xié)調(diào)并共同認(rèn)可的接口,接口語義的格式可以是基于消息的數(shù)據(jù)流的方式,也可以采用MML作為自定義接口的語義格式。接口語義的內(nèi)容是根據(jù)TMN管理信息模型一致性聲明導(dǎo)出的,能夠被測試系統(tǒng)執(zhí)行的SCRIPT語句,或者經(jīng)過解釋測試用例產(chǎn)生的測試原語。
4.基本測試方法
在進(jìn)行網(wǎng)管接口測試時(shí),測試方法的選擇十分重要,它決定了網(wǎng)管接口測試的質(zhì)量。在選擇測試方法時(shí),需要考慮以下幾方面的問題:
*要能夠滿足測試覆蓋度的要求,應(yīng)當(dāng)盡可能測試接口一致性聲明描述中的所有可測試特性;
*要滿足自動(dòng)測試系統(tǒng)實(shí)現(xiàn)的可能性;
*要保證測試方法的可實(shí)現(xiàn)性,減少其實(shí)現(xiàn)的復(fù)雜度。
抽象測試方法是根據(jù)對被測實(shí)現(xiàn)(IUT)輸入的控制和輸出的觀察來描述的。在一致性測試中,測試者可以從本地或遠(yuǎn)端的不同參考點(diǎn)(PCO)來觀察和控制抽象測試原語(ASP:Abstract Service Primitive)的交互。但是,從系統(tǒng)模型角度而言,網(wǎng)管接口的被測實(shí)現(xiàn)本身不能像協(xié)議實(shí)體那樣提供上測試界面,無法在被測系統(tǒng)的高層位置設(shè)置PCO,其上測試器功能只能由sut(System Under Test)或人工操作實(shí)現(xiàn)。因此,在實(shí)現(xiàn)時(shí)我們選擇了較為簡單的遠(yuǎn)程測試法作為網(wǎng)管接口的基本測試方法。
遠(yuǎn)程測試主要的特點(diǎn)就是在測試用例中沒有子系統(tǒng)(Test System)和被測實(shí)現(xiàn)(Implementation Under Test)之間的協(xié)調(diào)過程,測試協(xié)調(diào)與測試調(diào)度由測試人員手工完成,測試者在進(jìn)行測試時(shí),從被測系統(tǒng)外部對被測實(shí)現(xiàn)的實(shí)時(shí)狀態(tài)進(jìn)行觀察和控制,
根據(jù)被測系統(tǒng)執(zhí)行測試命令的返回結(jié)果,決定測試用例的執(zhí)行順序。
5 基本測試環(huán)境
網(wǎng)管接口測試實(shí)際操作時(shí)運(yùn)行的基本環(huán)境包括兩個(gè)基本組成部分,即委托測試方所在的測試系統(tǒng)部分和被測廠家所在的被測系統(tǒng)部分。
委托測試所在的測試系統(tǒng)部分的測試環(huán)境主要有測試系統(tǒng)和網(wǎng)管接口通信協(xié)議棧組成,測試系統(tǒng)在網(wǎng)管接口測試起著極為重要的作用,它在網(wǎng)管接口測試過程中起著主導(dǎo)者的地位,所有的測試均將由測試系統(tǒng)發(fā)起和控制。一個(gè)測試系統(tǒng)的好壞決定著網(wǎng)管接口測試的質(zhì)量高低。經(jīng)過多年的努力,網(wǎng)管測試系統(tǒng)研制過程中的理論問題已經(jīng)解決。隨著新技術(shù)的不斷出現(xiàn)和應(yīng)用,相應(yīng)的測試系統(tǒng)也在不斷豐富和完善。但是測試系統(tǒng)的專用性較強(qiáng),很難形成市場規(guī)模,其投入較高。目前市場上存在的測試系統(tǒng)不能滿足測試評估的全過程,只能解決其中的一個(gè)階段的問題,而且其有效性一般都沒有得到實(shí)際的驗(yàn)證,尤其是針對不同類型的網(wǎng)管接口(如CORBA、Q3、SNMP等)必須要有專門的測試系統(tǒng),因此,開發(fā)網(wǎng)管接口的測試系統(tǒng)具有其現(xiàn)實(shí)的必要性。
被測廠家所在的被測系統(tǒng)部分由廠家的網(wǎng)管接口實(shí)現(xiàn)系統(tǒng)和所管理的(仿真或物理)設(shè)備組成,根據(jù)不同的測試階段的需求,被測廠家可以使用仿真設(shè)備和物理設(shè)備來構(gòu)建測試環(huán)境,但廠家搭建的測試環(huán)境必須保證可以滿足測試的需求,即可以保證測試規(guī)范中定義的所有測試項(xiàng)在測試環(huán)境中可以運(yùn)行。
二、網(wǎng)絡(luò)管理接口測試的基本流程
網(wǎng)管接口的一致性測試包括三個(gè)方面的內(nèi)容,即協(xié)議一致性測試、信息模型一致性測試和管理功能一致性測試。在網(wǎng)管系統(tǒng)實(shí)現(xiàn)中,管理功能被映射為對一組管理對象的操作,而管理對象在完成具體操作時(shí)需要底層網(wǎng)管協(xié)議和通信協(xié)議原語的支持。協(xié)議的一致性是所有一致性基礎(chǔ),只有底層協(xié)議保持一致性,才能實(shí)現(xiàn)系統(tǒng)間“互聯(lián)”;在通信協(xié)議保持一致性的前提下,才能進(jìn)行信息模型的一致性測試;管理信息模型的實(shí)現(xiàn)與管理信息模型規(guī)模保持一致性,才能實(shí)現(xiàn)“互通”;并且,在信息模型保持一致性的前提下,方可進(jìn)行管理功能的一致性測試;只有當(dāng)管理功能滿足一致性,網(wǎng)管系統(tǒng)間的“互操作”才會(huì)實(shí)現(xiàn)。
1.協(xié)議一致性測試
協(xié)議的一致性測試是保證網(wǎng)管系統(tǒng)和被管設(shè)備互通的基礎(chǔ),它包括對底層通信協(xié)議和高層網(wǎng)管協(xié)議的測試。目前國內(nèi)外對協(xié)議的測試技術(shù)的研究起步較早,相關(guān)技術(shù)已經(jīng)較為成熟,如果要進(jìn)行通信協(xié)議的測試,只需購買相應(yīng)的儀表就可以實(shí)現(xiàn)對通信實(shí)體間協(xié)議軟件的一致性測試,例如對基于SNMP的網(wǎng)管接口進(jìn)行測試,協(xié)議測試中的主要關(guān)注內(nèi)容SNMP和UDP均可以通過協(xié)議測試進(jìn)行。同時(shí)后續(xù)的網(wǎng)管接口信息模型一致性測試和管理功能一致性測試中,如果測試系統(tǒng)和被測設(shè)備之間能夠正確交互管理信息,這同時(shí)也就證明了通信協(xié)議和網(wǎng)管協(xié)議保持了一致性。所以對于網(wǎng)管接口測試來說,并不把協(xié)議的一致性測試作為重點(diǎn)內(nèi)容,而是在協(xié)議保持一致性的前提下,研究管理信息模型的一致性和管理功能的一致性測試。
2.信息模型的一致性測試
網(wǎng)管接口信息模型一致性測試用于驗(yàn)證被測用戶所提供的網(wǎng)管接口,確定是否能以接口規(guī)范規(guī)定的正確形式提供管理信息。信息模型一致性測試的測試對象是接口規(guī)范的信息模型中定義的管理對象。管理對象是具體的被管資源的抽象,管理對象之間關(guān)聯(lián)性反映了被管設(shè)備或資源之間的相互關(guān)春主理對象之間關(guān)系的動(dòng)態(tài)一致性測試。
網(wǎng)絡(luò)管理接口靜態(tài)一致性測試是對單個(gè)管理對象的數(shù)據(jù)結(jié)構(gòu)和可執(zhí)行操作進(jìn)行驗(yàn)證,包括是否支持對象實(shí)例的生成、刪除及對象實(shí)例相關(guān)的各種操作,以驗(yàn)證被測系統(tǒng)聲明能力的存在性。網(wǎng)絡(luò)管理接口動(dòng)態(tài)一致性測試是否對管理對象定義中描述的管理對象之間的動(dòng)態(tài)關(guān)系以及復(fù)雜行為所進(jìn)行的測試。
3.管理功能一致性測試
管理功能一致性測試用于驗(yàn)證網(wǎng)管接口所傳遞的信息能否真正指配網(wǎng)絡(luò)的運(yùn)行以及正確表達(dá)網(wǎng)絡(luò)資源的具體運(yùn)行情況。
管理功能測試的測試過程與信息模型一致性測試類似,但在測試過程中,測試系統(tǒng)必須與具體的物理設(shè)備相連。測試系統(tǒng)通過被測系統(tǒng)的管理接口對設(shè)備進(jìn)行激勵(lì)(發(fā)送網(wǎng)管協(xié)議原語),使被測系統(tǒng)的管理對象產(chǎn)生相應(yīng)的反應(yīng),然后觀察相應(yīng)管理對象操作完成后產(chǎn)生的事件報(bào)告、對象的狀態(tài)以及設(shè)備的實(shí)際運(yùn)行狀況,來檢測被測系統(tǒng)管理接口上管理對象的狀態(tài)變化是否正確反映了網(wǎng)絡(luò)資源的實(shí)際運(yùn)行狀況,是否與管理功能測試規(guī)范中所描述的預(yù)期結(jié)果相符合。測試系統(tǒng)和設(shè)備同時(shí)作為測試觀察點(diǎn)進(jìn)行測試結(jié)果的分析。
三、測試中心在網(wǎng)絡(luò)管理接口測試中的重要作用
網(wǎng)管接口測試是一項(xiàng)極其復(fù)雜、技術(shù)含量很高的工作,從事網(wǎng)管系統(tǒng)測試的人員本身不僅是計(jì)算機(jī)領(lǐng)域分布式處理技術(shù)的專家,同時(shí)又必須是相應(yīng)電信業(yè)務(wù)網(wǎng)管領(lǐng)域的專家,并要有豐富的測試經(jīng)驗(yàn)和嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度。一個(gè)完整的測試流程包含多個(gè)復(fù)雜的測試階段,需要多方的共同努力,僅靠個(gè)人的能力是不可能的,必須通過集體的力量,團(tuán)結(jié)協(xié)作,并充分發(fā)揮每一個(gè)人的特長,才能保證測試的質(zhì)量。為此,有必要設(shè)立專門的機(jī)構(gòu)從事測試工作,一方面,可以在較長時(shí)期內(nèi)保證測試人員的相對穩(wěn)定和測試的質(zhì)量,另一方面,在市場上現(xiàn)有的測試系統(tǒng)產(chǎn)品不能符合特定測試的要求時(shí),測試中心可以提供相關(guān)開發(fā)力量,針對特定情況進(jìn)行測試系統(tǒng)的二次開發(fā),以滿足測試需求。
摘自《通信世界》2002.2.18