藍(lán)牙協(xié)議一致性測(cè)試方案
1 藍(lán)牙協(xié)議概述
藍(lán)牙技術(shù)規(guī)范(Specification)包括協(xié)議(PRotocol)和應(yīng)用規(guī)范(Profile)兩個(gè)部分。協(xié)議定義了各功能元素(如串口仿真協(xié)議(RFCOMM)、邏輯鏈路控制和適配協(xié)議(L2CAP)等各自的工作方式,而應(yīng)用規(guī)范則闡述了為了實(shí)現(xiàn)一個(gè)特定的應(yīng)用模型(Usage model),各層協(xié)議間和運(yùn)轉(zhuǎn)協(xié)同機(jī)制。顯然,Protocol是一種橫向體系結(jié)構(gòu),而Profile是一種縱向體系結(jié)構(gòu)。較典型的Profile有撥號(hào)網(wǎng)絡(luò)(Dial-up Networking)、耳機(jī)(Headset)、局域網(wǎng)訪問(wèn)(LAN access)和文件傳輸(File Transfer)等,它們分別對(duì)應(yīng)一種應(yīng)用模型。
整個(gè)藍(lán)牙協(xié)議體系結(jié)構(gòu)可分為底層硬件模塊、中間協(xié)議層(軟件模塊)和高端應(yīng)用層三大部分。圖1中所示的鏈路管理層(LM)、基帶層(BB)和射頻層(RF)屬于藍(lán)牙的硬件模塊。RF層通過(guò)2.4GHz無(wú)需授權(quán)的ISM頻段的微波,實(shí)現(xiàn)數(shù)據(jù)位流的過(guò)濾和傳輸,它主要定義了藍(lán)牙收發(fā)器在此頻帶正常工作所滿(mǎn)足的要求。BB層負(fù)責(zé)跳頻和藍(lán)牙數(shù)據(jù)及信息幀的傳輸。LM層負(fù)責(zé)連接的建立和拆除以及鏈路的安全機(jī)制。它們?yōu)樯蠈榆浖K提供了不同的訪問(wèn)人口,但是兩個(gè)藍(lán)牙設(shè)備之間的消息和數(shù)據(jù)傳遞必須通過(guò)藍(lán)牙主機(jī)控制器接口(HCI)的解釋才能進(jìn)行。也就是說(shuō),HCI是藍(lán)牙協(xié)議中軟硬件之間的接口,它提供了一個(gè)調(diào)用下層BB、LM狀態(tài)和控制寄存器等硬件的統(tǒng)一命令接口。HCI層以上的協(xié)議實(shí)體運(yùn)行在主機(jī)上,而HCI以下的功能由藍(lán)牙設(shè)備來(lái)完成,二者之間通過(guò)一個(gè)對(duì)兩端透明的傳輸層進(jìn)行交互。
中間協(xié)議層包括邏輯鏈路控制和適配協(xié)議(L2CAP,Logical Link Control and Adaptation Protocol)、服務(wù)發(fā)現(xiàn)協(xié)議(SDP,Service Discovery Protocol)、串口仿真協(xié)議(RFCOMM)和電信通信協(xié)議(TCS,Telephone control Protocol)。L2CAP完成數(shù)據(jù)拆裝、服務(wù)質(zhì)量控制和協(xié)議復(fù)用等功能,是其他上層協(xié)議實(shí)現(xiàn)的基礎(chǔ),因此也是藍(lán)牙協(xié)議棧的核心部分。SDP為上層應(yīng)用程序提供一種機(jī)制來(lái)發(fā)現(xiàn)網(wǎng)絡(luò)中可用的服務(wù)及其特性。RFCOMM依據(jù)ETSI標(biāo)準(zhǔn)TS07.10在L2CAP上仿真9針RS232串口的功能。TCS提供藍(lán)牙設(shè)備間話音和數(shù)據(jù)的呼叫控制信令。
在藍(lán)牙協(xié)議棧的最上部是高端應(yīng)用層(applications),它對(duì)應(yīng)于各種應(yīng)用模型的profile。
2 藍(lán)牙協(xié)議測(cè)試背景
2.1 藍(lán)牙測(cè)試背景
藍(lán)牙組織成員為證明自己的產(chǎn)品達(dá)到了藍(lán)牙組織加入?yún)f(xié)定的要求,符合藍(lán)牙規(guī)范,必須通過(guò)藍(lán)牙認(rèn)證。藍(lán)牙認(rèn)證設(shè)置的目的在于保護(hù)藍(lán)牙無(wú)線互連技術(shù)的一致性,同時(shí)盡可能降低對(duì)產(chǎn)品開(kāi)發(fā)商的要求。
任何一個(gè)生產(chǎn)或銷(xiāo)售藍(lán)牙設(shè)備的公司必須首先簽署藍(lán)牙協(xié)定以成為藍(lán)牙組織成員,然后證明自己的產(chǎn)品符合藍(lán)牙系統(tǒng)規(guī)范(包括一致性要求)。在成功通過(guò)藍(lán)牙認(rèn)證之后,產(chǎn)品方案被列入合格產(chǎn)品目錄。產(chǎn)品必須完全通過(guò)藍(lán)牙認(rèn)證,否則不享有藍(lán)牙組織協(xié)定所賦予的權(quán)利。
藍(lán)牙設(shè)備測(cè)試規(guī)范包括一系列為驗(yàn)證藍(lán)牙設(shè)備而設(shè)計(jì)的測(cè)試。藍(lán)牙設(shè)備應(yīng)對(duì)藍(lán)牙設(shè)備測(cè)試規(guī)范中所有的藍(lán)牙設(shè)備測(cè)試案例逐一進(jìn)行驗(yàn)證。
所謂測(cè)試案例是與被測(cè)試協(xié)議的一個(gè)特定特征相關(guān)的一個(gè)特定測(cè)試單元。每個(gè)測(cè)試案例都有一個(gè)特定的測(cè)試目的,運(yùn)行后都對(duì)所得到的測(cè)試結(jié)果進(jìn)行判斷。例如為測(cè)試傳輸層和建鏈(Connection establishment)而設(shè)計(jì)一個(gè)測(cè)試案例,其測(cè)試目的為“測(cè)試傳輸層建鏈”,執(zhí)行這個(gè)測(cè)試案例可能得到的結(jié)果為成功、失敗或者不確定。
測(cè)試案例一般由三部分組成:初始化部分(Preamble)、測(cè)試體(Test Body)和重置部分(Postamble)。
在藍(lán)牙設(shè)備認(rèn)證測(cè)試中,射頻(Radio Frequency)、藍(lán)牙協(xié)議一致性、profile一致性和profile互聯(lián)測(cè)試所使用的方法是不同的。
*射頻測(cè)試案例可以混合使用標(biāo)準(zhǔn)測(cè)試設(shè)備和特殊藍(lán)牙測(cè)試設(shè)備來(lái)執(zhí)行。如果有一個(gè)可用的參考測(cè)試系統(tǒng),藍(lán)牙協(xié)議一致性的測(cè)試案例可以使用它來(lái)執(zhí)行。否則一致性測(cè)試只能通過(guò)其他方法進(jìn)行。組織成員自由選擇合適的測(cè)試設(shè)備來(lái)運(yùn)行所需的測(cè)試。
*為加強(qiáng)低層互聯(lián)的可靠性,首先應(yīng)進(jìn)行藍(lán)牙協(xié)議互聯(lián)藍(lán)牙協(xié)議互聯(lián)測(cè)試。使用設(shè)計(jì)好的測(cè)試產(chǎn)品(一般稱(chēng)為藍(lán)牙設(shè)備)來(lái)進(jìn)行測(cè)試。
*Profile一致性測(cè)試用來(lái)決定藍(lán)牙產(chǎn)品是否符合藍(lán)牙規(guī)范。
*Profile互聯(lián)測(cè)試幫助確定支持同一Profile的產(chǎn)品是否如預(yù)料那樣支持互聯(lián)。當(dāng)設(shè)備特別是不同廠家設(shè)備之間進(jìn)行實(shí)際通信的時(shí)候,互聯(lián)測(cè)試有可能發(fā)現(xiàn)原先不太明顯的問(wèn)題。
2.2一致性測(cè)試
協(xié)議一致性測(cè)試和協(xié)議校驗(yàn)的目標(biāo)是很容易混淆的。協(xié)議一致性測(cè)試用于檢查給定的一種協(xié)議的實(shí)現(xiàn)實(shí)體是否與協(xié)議的內(nèi)在動(dòng)工規(guī)范要求相一致。協(xié)議校驗(yàn)用來(lái)檢查協(xié)議規(guī)范本身在邏輯上是否可靠的。如果協(xié)議規(guī)范存在設(shè)計(jì)錯(cuò)誤,絕對(duì)符合規(guī)范要求的協(xié)議實(shí)現(xiàn)雖然存在同樣的邏輯錯(cuò)誤,但能夠通過(guò)一致性測(cè)試;如果它不存在同樣的錯(cuò)誤,就無(wú)法通過(guò)一致性測(cè)試。只有實(shí)現(xiàn)實(shí)體和規(guī)范要求不一致時(shí)一致性測(cè)試才會(huì)失敗。相反,協(xié)議的可靠性驗(yàn)證應(yīng)該檢測(cè)出設(shè)計(jì)上的錯(cuò)誤。
給定一個(gè)例如有限狀態(tài)機(jī)形式的參考協(xié)議規(guī)范和一個(gè)未知的實(shí)現(xiàn)實(shí)體。對(duì)所有實(shí)際應(yīng)用來(lái)說(shuō),協(xié)議實(shí)現(xiàn)實(shí)體相當(dāng)于一個(gè)具有有限輸入輸出的黑箱。我們只能通過(guò)提供一系列的輸入信號(hào)(消息),觀察輸出的結(jié)果信號(hào)來(lái)驗(yàn)證它。處于驗(yàn)證下的實(shí)現(xiàn)實(shí)體,通常稱(chēng)為被校驗(yàn)對(duì)象(IUT),只有當(dāng)所有觀察到的輸出與形式規(guī)范所描述相一致時(shí)方可通過(guò)校驗(yàn)。一組用于按這種方法驗(yàn)證協(xié)議實(shí)現(xiàn)的輸入序列集稱(chēng)為一致性測(cè)試案例包。
這里有兩個(gè)主要的問(wèn)題解決:
?。?)找到一種通用有效的方法為一種給定的協(xié)議實(shí)現(xiàn)實(shí)體生成一個(gè)一致性測(cè)試案例包。
?。?)找到一種方法把測(cè)試安全應(yīng)用在協(xié)議實(shí)現(xiàn)實(shí)體上進(jìn)行測(cè)試。
第二個(gè)問(wèn)題看起來(lái)比較簡(jiǎn)單。IUT可以是協(xié)議棧結(jié)構(gòu)中單獨(dú)的一層,具有與相鄰層間的兩個(gè)接口。為了測(cè)試它,需要一個(gè)高層測(cè)試儀和一個(gè)低層測(cè)試儀和一些系統(tǒng)方法來(lái)同步它們之間的流程。當(dāng)IUT和測(cè)試儀在物理上相互隔離時(shí)也存在復(fù)雜的影響因素。測(cè)試儀可能只能通過(guò)遠(yuǎn)程網(wǎng)絡(luò)連接來(lái)訪問(wèn)IUT,并且無(wú)法絕對(duì)可靠的提供輸入以及從IUT獲得輸出。
通信系統(tǒng)設(shè)計(jì)要保持一定的標(biāo)準(zhǔn)后為稱(chēng)為一致性測(cè)試。
在OSI系統(tǒng)模型定義后幾年中,ISO(國(guó)際標(biāo)準(zhǔn)化組織)開(kāi)始著手制定一致性測(cè)試的方法和框架。一個(gè)專(zhuān)門(mén)委員會(huì)接手了標(biāo)準(zhǔn)化中最困難的任務(wù)之一,發(fā)展出ISO用于定義一致性測(cè)試框架和方法的一系列標(biāo)準(zhǔn),以及一種描述抽象測(cè)試集的語(yǔ)言。
提倡的一種解決方法是為每一種協(xié)議或協(xié)議集(profile)發(fā)展一種抽象的測(cè)試集,并使之標(biāo)準(zhǔn)化。發(fā)展商要以一系列稱(chēng)為PICS或PIXTT文檔的形式說(shuō)明自己產(chǎn)品的實(shí)現(xiàn)途徑。一致性測(cè)試中心(也稱(chēng)為測(cè)試實(shí)驗(yàn)室)負(fù)責(zé)被測(cè)對(duì)象的一致性驗(yàn)證。中心首先選出刊登特定對(duì)象的測(cè)試案例,給測(cè)試案例賦值,最后得到抽象測(cè)試集的一個(gè)物理實(shí)現(xiàn)。目前,一致性測(cè)試是世界范圍內(nèi)最為廣泛的軟件測(cè)試活動(dòng)。
評(píng)論