給定一個例如有限狀態機形式的參考協議規范和一個未知的實現實體。對所有實際應用來說,協議實現實體相當于一個具有有限輸入輸出的黑箱。我們只能通過提供一系列的輸入信號(消息),觀察輸出的結果信號來驗證它。處于驗證下的實現實體,通常稱為被校驗對象(IUT),只有當所有觀察到的輸出與形式規范所描述相一致時方可通過校驗。一組用于按這種方法驗證協議實現的輸入序列集稱為一致性測試案例包。
這里有兩個主要的問題解決:
(1)找到一種通用有效的方法為一種給定的協議實現實體生成一個一致性測試案例包。
(2)找到一種方法把測試安全應用在協議實現實體上進行測試。
第二個問題看起來比較簡單。IUT可以是協議棧結構中單獨的一層,具有與相鄰層間的兩個接口。為了測試它,需要一個高層測試儀和一個低層測試儀和一些系統方法來同步它們之間的流程。當IUT和測試儀在物理上相互隔離時也存在復雜的影響因素。測試儀可能只能通過遠程網絡連接來訪問IUT,并且無法絕對可靠的提供輸入以及從IUT獲得輸出。
通信系統設計要保持一定的標準后為稱為一致性測試。
在OSI系統模型定義后幾年中,ISO(國際標準化組織)開始著手制定一致性測試的方法和框架。一個專門委員會接手了標準化中最困難的任務之一,發展出ISO用于定義一致性測試框架和方法的一系列標準,以及一種描述抽象測試集的語言。
提倡的一種解決方法是為每一種協議或協議集(profile)發展一種抽象的測試集,并使之標準化。發展商要以一系列稱為 PICS或PIXTT文檔的形式說明自己產品的實現途徑。一致性測試中心(也稱為測試實驗室)負責被測對象的一致性驗證。中心首先選出刊登特定對象的測試案例,給測試案例賦值,最后得到抽象測試集的一個物理實現。目前,一致性測試是世界范圍內最為廣泛的軟件測試活動。
3 藍牙協議一致性測試
3.1 藍牙設備(Blue Unit)測試結構
在藍牙設備測試中,我們采用的基準設備(BU)是Ericsson或Nokia提供的模塊。被測對象(IUT)是其他公司的模塊。兩者之間以測試儀相連接。測試儀發送命令和數據到這兩個模塊(BU和IUT),也從這兩個模塊接收時間和數據。測試系統主要有四個組成部分:
*主機A
主機A控制基準設備(BU)。主機A向BU發送命令和數據,同時接收用來驗證測試案例的時間和數據。
*HC/LM-A BU
HC/LM-A BU是來自Ericsson或Nokia的藍牙硬件,作為測試參考設備?;鶞?BU)執行主機A發出的不同命令,對相應事件應該能夠做出正確反應。
*主機B
主機B控制被測試設備(IUT)。主機B向被測設備(IUT)發送命令和數據,接收用來驗證測試安全的事件和數據。
*HC/LM-B IUT
HC/LM -B IUT是來自其他公司的被測硬件。IUT執行主機B發送的命令,對相應的事件和數據包做出反應。
測試儀使用兩種物理層傳輸層作為TCI-HCI接口。也就是說,藍牙設備可以通過物理總線(USB或者UART接口)和測試儀連接。PCO1和 PCO2作為它的控制和觀察點。PCO1作為低層測試儀(LT)的控制觀察點。POC2作為高層測試儀(UT)的控制觀察點。由于測試儀不能觀察空中接口(即兩個藍牙硬件之間的無線空中接口),捕獲LM數據包,在HC/LM-A BU和HC/LM -B IUT之間不存在控制觀察點(PCO)
3.2藍牙協議棧L2CAP一致性測試結構
我們對L2CAP(logical link control and adaptation protocol)的致性測試結構進行說明。測試結構共有三個主要組成部分:一致性測試儀、測試控制軟件(TC)和被測對象(IUT)。在一致性測試儀和被測對象之間有兩個接口:通過藍牙發射裝置的空中接口和測試控制接口(TCI)。TCI的推薦物理傳輸層是HCI的指定傳輸層之一:USB、RS232或 UART。通過TCI發送消息時,L2CAP事件和命令的原語必須轉換成與HCI事件和命令同樣格式的消息發送。
(1)一致性測試
測試儀包括高層測試儀和低層測試儀。使用圖2中的PCO1(Point of Control Observation)和PCO2作為它的高層及低層測試儀的觀察和控制點。高層測試儀發送L2CAP命令給被測對象,通過TCI從被測對象得到事件。高層測試儀包括一個TCI-L2CAP驅動程序和一個物理總線驅動程序。低層測試儀處理被測對象發來的L2CAP數據包。測試儀中的L2CAP數據包等同于被測對象中的L2CAP數據包
(2)測試控制軟件
原文轉自:http://www.uml.org.cn/Test/200810166.asp