色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應用 > 幾種基于TTCN的TD-SCDMA終端協(xié)議測試方法介紹

          幾種基于TTCN的TD-SCDMA終端協(xié)議測試方法介紹

          ——
          作者:姚明菊 李小文 時間:2007-04-16 來源:通信世界 收藏
          一、概述

          (TreeandTabularCombined Notation)樹表結(jié)合表示法,顧名思義,就是采用以樹和表格為表現(xiàn)形式的表示法,其中表格主要用于數(shù)據(jù)類型、原語、協(xié)議觀察點、約束等,樹則用于描述集、例、測試步。根據(jù)ISO/IEC 9646的定義,需要滿足以下幾項需求:第一點,測試系統(tǒng)能夠定義、構(gòu)造發(fā)送和接收被測試實體(IUT)的抽象服務原語(ASP);第二點,能夠定義和構(gòu)造嵌入在ASP中的協(xié)議數(shù)據(jù)單元(PDU);第三點,在指定控制和觀察點(PCO)上,能夠規(guī)定ASP的發(fā)送或接收順序和能夠構(gòu)造測試例。

          二、協(xié)議軟件測試

          目前協(xié)議測試分成一致性測試(ConformanceTesting)、互操作性測試(InteroperabilityTesting)、性能測試(PerformanceTesting)、堅固性測試(Robustness Testing)和遍歷性測試(Ergodicity testing)等幾個方面進行研究。

          幾個測試階段的關(guān)系

          圖1 幾個測試階段的關(guān)系

          ●一致性測試:驗證設(shè)備實現(xiàn)與相應協(xié)議標準的一致性,檢驗不同的待

          測設(shè)備是否能夠滿足統(tǒng)一的要求,從而在相同的外部條件下進行相同的動作,并且輸出相同的結(jié)果。一致性測試的開展是為了保證不同廠家的產(chǎn)品表現(xiàn)一致并能夠互聯(lián)互通,保證開發(fā)人員有據(jù)可依,從而保證質(zhì)量。

          ●互操作性測試:根據(jù)終端芯片與終端開發(fā)的實際進展,驗證不同終端與系統(tǒng)之間的互操作能力,并且促進不同系統(tǒng)和終端空中接口間的互操作能力,即解決不同終端與不同系統(tǒng)之間的互操作問題。

          ●性能測試:主要是通過測試終端的功能,比如終端長時間穩(wěn)定進行某項功能的能力,終端重復穩(wěn)定地運行某項功能的能力,終端同時進行多項業(yè)務時表現(xiàn)出的處理能力以及系統(tǒng)的負載工作能力等。

          ●遍歷性測試:協(xié)議軟件開發(fā)到尾聲階段,為了盡可能窮盡所有可能的情況,同時避免重復勞作而進行的測試。

          每個方面的測試一般來說又包含單層測試、集成測試、系統(tǒng)測試幾個階段。幾個階段測試之間的關(guān)系如圖1所示。

          ●單層測試:主要測試單層的內(nèi)部結(jié)構(gòu)(如邏輯和數(shù)據(jù)流)以及該層的功能和可觀測的行為。

          ●集成測試:確保各層集成在一起后能夠按既定意圖協(xié)作運行,并確保其行為正確。它所測試的內(nèi)容包括層間的接口以及集成后的功能。

          ●系統(tǒng)測試:測試的最終應用將在板級上進行,模擬真實環(huán)境進行測試。

          根據(jù)TTCN的規(guī)則和要求可以構(gòu)造出TTCN的測試模型,如圖2所示。

          TTCN測試模型

          圖2 TTCN測試模型

          三、測試方法

          可以看到TTCN的測試是一種典型的黑盒測試,把整個IUT看作一個測試實體來考慮,采用TTCN作為測試環(huán)境,TTCN與IUT之間的接口作為測試觀測點PCO,運行測試例,通過觀測和檢查PCO的ASP和PDU的正確性來達到驗證測試例的正確性。測試例是測試的目的和方向所在,而且測試系統(tǒng)也是通過TTCN編寫測試例來模擬的,因此測試例的編寫是一個十分重要的環(huán)節(jié),要滿足協(xié)議和應用的各種要求,做到十分嚴謹和精確,這也是測試人員的主要任務所在。被測實體IUT可以是單層(被測系統(tǒng)只有一層被測試)或多層(被測系統(tǒng)中有一系列相鄰層需要測試),可以根據(jù)測試的不同階段來選擇組合。基于此TTCN的測試模型我們可以采用幾種測試方法。

          (一)TTCN和SDL的協(xié)仿真

          采用一個集仿真、開發(fā)、測試于一體的TelelogicABTau的產(chǎn)品SDLand TTCN Suite 4.0作為開發(fā)工具。通過TTCN編寫測試例,SDL and TTCN Suite 4.0提供的SDL和TTCN的協(xié)仿真功能來進行測試。

          1.簡單的TTCN和SDL測試

          ASP和PDU的接口定義使用SDL工具的TTCN-LINK(利用SDL的功能,可以將SDL描述的數(shù)據(jù)結(jié)構(gòu)直接轉(zhuǎn)換到TTCN中使用)功能直接轉(zhuǎn)換得到。在協(xié)仿真中TTCN收到SDL發(fā)送的數(shù)據(jù),經(jīng)過IUT處理后送回到SDL中去,SDL輸出的數(shù)據(jù)和TTCN發(fā)送到SDL的數(shù)據(jù)存在一定的關(guān)系。通過驗證其正確性以確定IUT開發(fā)的正確性。這是基于TTCN的最基本的測試方法,所有的數(shù)據(jù)處理都是在TTCN中來完成的,但是TTCN對數(shù)據(jù)的計算能力是有限的。我們在開發(fā)中將C源代碼嵌入到SDL中,所有的接口也都是通過C來定義的,因為C的數(shù)據(jù)類型非常豐富,但是TTCN可以識別的數(shù)據(jù)類型卻是有限的,比如復雜的指針就無法處理。因此這種方法只適合測試數(shù)據(jù)量不大、數(shù)據(jù)類型簡單的情況,不是很有實際應用的價值。

          TTCN測試模型

          圖3 簡單的TTCN和SDL測試

          2.改進后的TTCN和SDL測試

          由于上述方法的缺陷,我們對它進行了改進,這就是要介紹的第二種測試方法。將TTCN無法處理的過程放到SDL中來完成,用C源代碼完成測試數(shù)據(jù)的分析和構(gòu)造,并在IUT內(nèi)部增加2個測試模塊A'、B'和2個測試接口,如圖4所示。2個測試模塊可以對信號A和B作任何處理,在測試模塊進行數(shù)據(jù)的轉(zhuǎn)化和處理,再將預處理后的數(shù)據(jù)送到TTCN測試環(huán)境中處理,從而大大簡化了TTCN測試數(shù)據(jù)的編寫和處理。這種方法最大程度的利用C、SDL、TTCN的優(yōu)點,在測試過程中實現(xiàn)協(xié)仿真,可以生成消息序列流圖(MSC圖),通過觀察IUT內(nèi)部和IUT與環(huán)境之間PCO的消息序列和數(shù)據(jù)流,從而達到驗證開發(fā)正確性的目的,可以認為該方法為一種灰箱測試方法。目前此測試方法已經(jīng)廣泛地應用在終端協(xié)議軟件的一致性測試、互操作性測試等測試的單層和集成測試中,我們認為它是一種非常有效的測試方法。

          改進后的TTCN和SDL測試IUT

          圖4 改進后的TTCN和SDL測試IUT

          (二)基于TTCN的板級測試

          TTCN結(jié)合SDL的測試方法能夠很好地滿足協(xié)議棧軟件開發(fā)初期和中期的要求,但是由于SDL的實時性比較差,定時器,內(nèi)存、接口測試等都不能很好的模擬現(xiàn)場實際情況。隨著協(xié)議軟件開發(fā)的逐漸成熟,只采用這種方法也不能很好的滿足要求,并且到了更加需要大量基于實際環(huán)境的系統(tǒng)測試階段。如此繁多的系統(tǒng)測試都到現(xiàn)場進行是非常昂貴,也是不可能實現(xiàn)的,因此需要對測試方法做出改進,找到能夠模擬現(xiàn)場測試的室內(nèi)系統(tǒng)測試新方法。

          采用TTCN結(jié)合手機板的板級測試方法是一種非常有效的模擬現(xiàn)場測試的系統(tǒng)測試的好方法,仍然采用TTCN模擬測試環(huán)境,編寫測試例,但是測試體不再是嵌入了C代碼的SDL,而是實實在在的移植了源代碼的手機板,測試模型如圖5所示。

          板級測試的IUT

          圖5 板級測試的IUT

          IUT的測試環(huán)境仍然是在TTCN中編寫測試例模擬,也是通過接口與IUT進行消息交互,再檢查消息交互的原語、數(shù)據(jù)及對應的MSC圖、TRACE來驗證測試實體是否達到開發(fā)的要求。而消息交互過程仍然存在,因為TTCN的局限性—無法識別復雜指針和某些數(shù)據(jù)類型的問題。因此IUT和測試環(huán)境的消息交互還必須要經(jīng)過一個中間過程來轉(zhuǎn)化,這個轉(zhuǎn)化過程可以通過設(shè)立一個BUFFER來實現(xiàn)串口轉(zhuǎn)換,在BUFFER中進行數(shù)據(jù)和類型的轉(zhuǎn)化及處理,這個處理過程的原理實際上很類似于前面介紹的TTCN結(jié)合SDL的第二種測試方法的處理原理。

          板級測試的主要特點就是將測試模塊(即IUT)源代碼移植到手機板上運行,在具體實現(xiàn)過程中,及測試例準備就緒的前提下,首先將源代碼加到工程文件中,通過編譯工具(一般采用ARM公司的ARMDeveloperSuite)將工程文件編譯成可以在ARM核芯片上運行的目標代碼,然后將代碼移植到ARM核芯片上,再通過嵌入式系統(tǒng)的測試工具(如Lauterbach公司出品的通用調(diào)試軟件TRACE-32ICD速度很快,但是價格昂貴,可根據(jù)實際情況決定)把目標代碼下載到目標板上運行調(diào)試,最后通過觀察PCO是否得到預期的結(jié)果。另外我們還可以將實時操作系統(tǒng)應用到板級測試中,將協(xié)議軟件運行在這個操作系統(tǒng)之上,這樣可以真正的實現(xiàn)人機界面的操作,更加真實地模擬現(xiàn)場測試。

          板級測試不僅能夠很好地克服TTCN的實時性差的缺點,而且基本上能夠達到在室內(nèi)實現(xiàn)模擬現(xiàn)場測試的大部分測試,就目前來說它是一種非常先進的室內(nèi)測試方法,可以應用在各種終端測試的系統(tǒng)測試階段。如今一致性測試互操作性測試以及性能測試等已經(jīng)基本完成,但仍然需要做大量的遍歷性測試,盡可能地發(fā)現(xiàn)以前各種測試沒有發(fā)現(xiàn)的問題。進行遍歷性測試主要應該放到系統(tǒng)測試階段,因此應用板級測試將會起到非常好的效果。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉