【導讀】本文詳細解析了藍牙個人局域網的應用測試相關步驟,從實際出發(fā),把藍牙PAN的互操作性測試模型作為案例,結合軟件測試自動化技術和協(xié)議一致性測試的理論實踐,詳解藍牙應用的互操作性測試的特點,總結出藍牙軟件模型的自動化測試方法。
通信協(xié)議與應用的測試是通信領域中非常關鍵和難解決的問題,它已經成為通信協(xié)議工程學中最活躍的領域之一。測試中兩類最基本測試包括一致性測試和互操作性測試。一致性測試是互操作性測試的必要條件。藍牙硬件產品的測試主要是互操作性測試和性能測試,由提供商完成;而協(xié)議軟件既有一致性測試,又有互連測試和性能測試;對于應用程序來說,一致性測試僅僅停留在理論階段,但互連測試和性能測試是必不可少的。因此,完成一致性測試一方面可以保證產品的正確性,另一方面可以在出現錯誤的情況下,幫助實現者去知道錯在哪里,如何修正錯誤。
軟件測試的自動化技術
軟件測試是檢驗軟件是否產生了正確輸出的過程,是通過在測試的實際輸出與預期輸出(當軟件正確執(zhí)行時的輸出)之間完成一次或多次比較來實現的。自動化執(zhí)行測試用例是自動測試的出發(fā)點,然而比較工作是重復性和復雜的任務,是軟件測試中可論證的自動化程度最高的任務。常常是從自動化中受益最多的任務。自動執(zhí)行測試用例會產生大量的輸出,通常需要用某些方法驗證這些輸出,但是并非所有的測試都需要詳細比較輸出。因此,自動化執(zhí)行測試用例和自動化比較執(zhí)行結果是自動測試關注的最主要的兩個問題。
自動化比較按比較的時機來分,可以分為動態(tài)比較和執(zhí)行后比較。動態(tài)比較就是在執(zhí)行測試事例時進行的比較。使用動態(tài)比較有助于為測試事例編入一些智能化的功能,使測試事例根據出現的輸出采取不同的動作。例如,如果出現意外的輸出,則說明測試腳本與測試的軟件不一致,因此最好以異常的方式終止測試事例,而不是繼續(xù)執(zhí)行。執(zhí)行后比較是在測試事例運行完畢后執(zhí)行的比較。這兩種比較方式對于測試結果都有決定性作用,因此自動化比較模塊的性能對于自動化測試程序的影響至關重要,也是PAN自動測試重點關注的問題。
測試理論概述
軟件質量是與軟件產品滿足明確或隱含需求的能力有關的特征和特性的總和(ISO 9126),軟件的質量保證一直是軟件產業(yè)的一個重大課題。隨著社會信息化程度的提高,軟件應用領域越來越廣泛,軟件產品也越來越復雜,軟件產品質量的優(yōu)劣也日益受到人們的重視,軟件的質量保證已成為開發(fā)商和用戶關注的焦點,質量保證能力的強弱直接影響著軟件業(yè)的發(fā)展與生存。
軟件測試是程序的一種執(zhí)行過程,目的是盡可能發(fā)現并改正被測試軟件中的錯誤,提高軟件的質量。它是軟件生命周期中一項非常重要且非常復雜的工作,對軟件可靠性保證具有極其重要的意義。在目前形式化方法和程序正確性證明技術還沒有成為實用性方法的情況下,軟件測試在將來相當一段時間內仍然是軟件可靠性保證的有效方法。因此,研究軟件產品測試技術,開發(fā)軟件自動測試工具,已成為軟件質量保證的一個暈重要的任務。
通信協(xié)議的測試方法
目前協(xié)議測試主要包括四種測試:
1、一致性測試
一致性的含義是:如果某實際系統(tǒng)與其它實際系統(tǒng)的通信過程符合所用協(xié)議的國際標準,則稱該實際系統(tǒng)展示了一致性。一致性測試正是用來檢測所實現系統(tǒng)與協(xié)議規(guī)范的符合程度。一致性測試的主要目的是提高不同系統(tǒng)之間能夠互通的概率。雖然一致性是保證互通能力的必要條件,但并不是充分條件。即便兩個實現都與同一個協(xié)議規(guī)范一致,它們也有可能完全不能互通。如果兩個實現都能與某個協(xié)議標準的子集相一致,則這兩個系統(tǒng)之間在此情況下互通要比在其它情況下互通容易實現。因此保證協(xié)議的一致性是實現協(xié)議以及應用互操作性的基礎。
2、互操作性測試
互操作性測試用來檢測同一協(xié)議的不同實現版本之間、或同一類協(xié)議(如電子郵件協(xié)議X.400和sMTP)不同實現版本之間互通能力和互連操作能力。協(xié)議上的應用模型的互操作性測試是保證應用程序能否正確實現的重要指標。
3、性能測試
它用來檢測協(xié)議實體或系統(tǒng)的性能指標(數據傳輸率、連接時間、執(zhí)行速度、吞吐量、并發(fā)度等);
4、魯棒性測試
檢測協(xié)議實體或系統(tǒng)在各種惡劣環(huán)境下運行的能力(信道被中途切斷、通信技術掉電、注入干擾報文等)。