當前位置:首頁 > 測試測量 > 測試測量
[導讀]   通信協(xié)議與應(yīng)用的測試是通信領(lǐng)域中非常關(guān)鍵和難解決的問題,它已經(jīng)成為通信協(xié)議工程學中最活躍的領(lǐng)域之一。測試中兩類最基本測試包括一致性測試和互操作性測試。一致性測試是互操作性測試的必要條件

  通信協(xié)議與應(yīng)用的測試是通信領(lǐng)域中非常關(guān)鍵和難解決的問題,它已經(jīng)成為通信協(xié)議工程學中最活躍的領(lǐng)域之一。測試中兩類最基本測試包括一致性測試和互操作性測試。一致性測試是互操作性測試的必要條件。藍牙硬件產(chǎn)品的測試主要是互操作性測試和性能測試,由提供商完成;而協(xié)議軟件既有一致性測試,又有互連測試和性能測試;對于應(yīng)用程序來說,一致性測試僅僅停留在理論階段,但互連測試和性能測試是必不可少的。因此,完成一致性測試一方面可以保證產(chǎn)品的正確性,另一方面可以在出現(xiàn)錯誤的情況下,幫助實現(xiàn)者去知道錯在哪里,如何修正錯誤。

  本文以藍牙PAN的互操作性測試模型為例,從工程實際需求出發(fā),運用軟件測試的自動化技術(shù),結(jié)合協(xié)議一致性測試的一般理論和方法說明藍牙應(yīng)用的互操作性測試的特點,并總結(jié)出一種適用于藍牙軟件模型的應(yīng)用規(guī)范的自動化測試方法。

  測試理論概述

  軟件質(zhì)量是與軟件產(chǎn)品滿足明確或隱含需求的能力有關(guān)的特征和特性的總和(ISO 9126),軟件的質(zhì)量保證一直是軟件產(chǎn)業(yè)的一個重大課題。隨著社會信息化程度的提高,軟件應(yīng)用領(lǐng)域越來越廣泛,軟件產(chǎn)品也越來越復雜,軟件產(chǎn)品質(zhì)量的優(yōu)劣也日益受到人們的重視,軟件的質(zhì)量保證已成為開發(fā)商和用戶關(guān)注的焦點,質(zhì)量保證能力的強弱直接影響著軟件業(yè)的發(fā)展與生存。

  軟件測試是程序的一種執(zhí)行過程,目的是盡可能發(fā)現(xiàn)并改正被測試軟件中的錯誤,提高軟件的質(zhì)量。它是軟件生命周期中一項非常重要且非常復雜的工作,對軟件可靠性保證具有極其重要的意義。在目前形式化方法和程序正確性證明技術(shù)還沒有成為實用性方法的情況下,軟件測試在將來相當一段時間內(nèi)仍然是軟件可靠性保證的有效方法。因此,研究軟件產(chǎn)品測試技術(shù),開發(fā)軟件自動測試工具,已成為軟件質(zhì)量保證的一個暈重要的任務(wù)。

  通信協(xié)議的測試方法

  目前協(xié)議測試主要包括四種測試:

  ·一致性測試

  一致性的含義是:如果某實際系統(tǒng)與其它實際系統(tǒng)的通信過程符合所用協(xié)議的國際標準,則稱該實際系統(tǒng)展示了一致性。一致性測試正是用來檢測所實現(xiàn)系統(tǒng)與協(xié)議規(guī)范的符合程度。一致性測試的主要目的是提高不同系統(tǒng)之間能夠互通的概率。雖然一致性是保證互通能力的必要條件,但并不是充分條件。即便兩個實現(xiàn)都與同一個協(xié)議規(guī)范一致,它們也有可能完全不能互通。如果兩個實現(xiàn)都能與某個協(xié)議標準的子集相一致,則這兩個系統(tǒng)之間在此情況下互通要比在其它情況下互通容易實現(xiàn)。因此保證協(xié)議的一致性是實現(xiàn)協(xié)議以及應(yīng)用互操作性的基礎(chǔ)。

  ·互操作性測試

  互操作性測試用來檢測同一協(xié)議的不同實現(xiàn)版本之間、或同一類協(xié)議(如電子郵件協(xié)議X.400和sMTP)不同實現(xiàn)版本之間互通能力和互連操作能力。協(xié)議上的應(yīng)用模型的互操作性測試是保證應(yīng)用程序能否正確實現(xiàn)的重要指標。

  ·性能測試

  它用來檢測協(xié)議實體或系統(tǒng)的性能指標(數(shù)據(jù)傳輸率、連接時間、執(zhí)行速度、吞吐量、并發(fā)度等);

  ·魯棒性測試

  檢測協(xié)議實體或系統(tǒng)在各種惡劣環(huán)境下運行的能力(信道被中途切斷、通信技術(shù)掉電、注入干擾報文等)。

  軟件測試的自動化技術(shù)

  軟件測試是檢驗軟件是否產(chǎn)生了正確輸出的過程,是通過在測試的實際輸出與預(yù)期輸出(當軟件正確執(zhí)行時的輸出)之間完成一次或多次比較來實現(xiàn)的。自動化執(zhí)行測試用例是自動測試的出發(fā)點,然而比較工作是重復性和復雜的任務(wù),是軟件測試中可論證的自動化程度最高的任務(wù)。常常是從自動化中受益最多的任務(wù)。自動執(zhí)行測試用例會產(chǎn)生大量的輸出,通常需要用某些方法驗證這些輸出,但是并非所有的測試都需要詳細比較輸出。因此,自動化執(zhí)行測試用例和自動化比較執(zhí)行結(jié)果是自動測試關(guān)注的最主要的兩個問題。

  自動化比較按比較的時機來分,可以分為動態(tài)比較和執(zhí)行后比較。動態(tài)比較就是在執(zhí)行測試事例時進行的比較。使用動態(tài)比較有助于為測試事例編入一些智能化的功能,使測試事例根據(jù)出現(xiàn)的輸出采取不同的動作。例如,如果出現(xiàn)意外的輸出,則說明測試腳本與測試的軟件不一致,因此最好以異常的方式終止測試事例,而不是繼續(xù)執(zhí)行。執(zhí)行后比較是在測試事例運行完畢后執(zhí)行的比較。這兩種比較方式對于測試結(jié)果都有決定性作用,因此自動化比較模塊的性能對于自動化測試程序的影響至關(guān)重要,也是PAN自動測試重點關(guān)注的問題。

  PAN的互操作性測試模型的設(shè)計

  通用互操作性測試模型

  互操作性測試是一致性測試的下一步。一致性測試是驗證系統(tǒng)A和系統(tǒng)B都遵從規(guī)范X,而互操作性測試則是檢驗在多大程度上系統(tǒng)A和系統(tǒng)B相互間能進行工作.其基本結(jié)構(gòu)模型如圖1所示:


圖1 互操作性測試模型

  在上面的結(jié)構(gòu)中,為了監(jiān)視兩個被測系統(tǒng)間傳送的數(shù)據(jù),可以在監(jiān)視點A、B和C處放置監(jiān)視儀。

  互操作性測試一般是先通過定義測試目的,指定抽象測試集(Abstract TestSuite,ATs),然后根據(jù)ATS,在某個特定的硬件平臺(如協(xié)議分析儀)上去實現(xiàn)ATS,變成可執(zhí)行的測試集(ExecutiveTest Sui蛾ETS),接著在分析儀上執(zhí)行ETS,對兩個或多個被測系統(tǒng)(System Under Test,SUT)進行測試,最后由測試過程獲得測試報告(可以借助監(jiān)視儀在各個監(jiān)視點獲得的數(shù)據(jù)),發(fā)現(xiàn)SUT中的錯誤。

  PAN互操作性測試模型

  PAN測試結(jié)構(gòu)包括五部分,如圖3所示:自動測試程序(Auto-test Program)、被測系統(tǒng)(SUT)、測試系統(tǒng)(TestSystem)、PAN應(yīng)用(Applicatiffa)、記錄日志(Trace&l og)和分析設(shè)備(Analyzer)。

  自動測試程序替代通用測試模型中Test Operator的作用,負責在被測系統(tǒng)上執(zhí)行命令,并返回結(jié)果給測試系統(tǒng),同時它還負責與分析設(shè)備交互,確認每一次測試結(jié)果。

  被測系統(tǒng)是正被測試下的系統(tǒng)包括客戶端和服務(wù)器端的文件傳輸應(yīng)用、藍牙協(xié)議棧和為自動測試提供圖形用戶界面的人機界面單元(MMI)。由于PAN應(yīng)用的復雜性,還需要相應(yīng)的系統(tǒng)支持,PAN Block就是專門處理與系統(tǒng)相關(guān)的事務(wù)的模塊。

  測試系統(tǒng)與通用模型類似,因為是互操作性測試,所以測試系統(tǒng)與被測系統(tǒng)需要擁有同樣的硬件設(shè)備和配置。

  PAN應(yīng)用是客戶端或服務(wù)器上運行的基于PAN服務(wù)的普通應(yīng)用程序,它可以是telnet、FTP等應(yīng)用,自動測試程序運行過程中,PAN應(yīng)用被調(diào)度執(zhí)行,測試結(jié)果被記錄到日志,并由日志上報給分析設(shè)備。

  分析設(shè)備作為一個監(jiān)測工具。負責在自動測試執(zhí)行過程中檢測測試結(jié)果。在互操作性測試中提供詳實的數(shù)據(jù)來驗證我們的基于PAN的應(yīng)用程序執(zhí)行的可信度。

  根據(jù)藍牙互操作性測試模型和藍牙規(guī)范中的相關(guān)定義,得出特定的PAN的測試模型如圖2所示:


圖2 藍牙PAN的互操作性測試模型

  PAN測試模型的特點是自動測試程序在測試進行過程中要監(jiān)控測試結(jié)果,如果分析設(shè)備得到的.澳9試結(jié)果是錯誤的,分析設(shè)備就會把相關(guān)信息反饋給自動測試程序,由自動測試程序調(diào)度測試繼續(xù)進行、終止運行、排查錯誤或者直接要求測試人員干預(yù)等操作。這樣就可以使得自動測試更加高效,不會被小錯誤影響整個測試結(jié)果。

  PAN互操作性自動化測試的實現(xiàn)

  PAN自動化測試的功能

  根據(jù)上述互操作性自動測試模型,結(jié)合工程實踐中對于藍牙PAN穩(wěn)定性的要求,參考了ⅣT公司的測試用例,實現(xiàn)了基于PAN應(yīng)用規(guī)范的自動測試程序。這個自動測試程序是針對應(yīng)用層程序的自動測試,因此是通過應(yīng)用程序的表現(xiàn)來間接的反映了藍牙協(xié)議的一致性和互操作性性能。本工程中PAN的自動化測試具體功能描述如下:

  1.建立連接。

  模擬用戶點擊Shortcut,自動建立一個從本機到目標機器的PAN,要求本機的角色為PANU,目標機器的角色為GN(NAP),且兩端機器都能夠正確分配口地址。建立連接過程進行監(jiān)控,一旦分析設(shè)備發(fā)現(xiàn)連接不正確或者口地址分配有誤,立即反饋給自動測試程序,自動測試程序分析錯誤級別并重新調(diào)度。

  2.酒試可達性和互聯(lián)性。

  在建立連接的情況下,模擬實現(xiàn)ping命令,要求發(fā)送方發(fā)出命令后,接收方收到并做出回饋,回饋信息能夠正確抵達發(fā)送方。如果出現(xiàn)錯誤,由記錄日志保存記錄,并在測試完成之后由測試人員分析并給出最后結(jié)果。

  3.傳送文件。

  在已經(jīng)建立連接的情況下,通過藍牙網(wǎng)卡,從發(fā)送端發(fā)送一個文件到接收端,要求接收端能夠收到文件,且文件的大小和內(nèi)容無誤。整個傳送過程中,自動測試程序監(jiān)控發(fā)送和接收端口,這樣可以保證最精確跟蹤錯誤來源。

  4.斷開連接。

  模擬用戶要求斷開PAN連接,進行相應(yīng)的操作。

  5.調(diào)度控制。

  將模塊1、2、3、4整合為一個模塊,通過自動測試程序輸入?yún)?shù)從外部循環(huán)次數(shù)的控制,自動依次完成上述操作,如此循環(huán),同時分析并記錄測試結(jié)果到日志文件。

  測試程序的輸入信息

  測試程序啟動以后會從初始化文件中讀取一些輸入信息,這些信息是測試人員針對不同的測試任務(wù)在測試開始之前設(shè)置的,測試開始之后就不能進行干預(yù)。在整個測試過程中,參與測試的設(shè)備必須安裝了藍牙應(yīng)用軟件并且進行了相應(yīng)的配置,否則會影響測試的準確性。

  自動測試的數(shù)據(jù)結(jié)構(gòu)

  主要用來存放口地址信息的類

  class CIPAddress

  {

  public:

  charm_sHostName[MAX__PATH]; ,,用來標識主機名

  charm

  sIPAddress[MAX PATH]; ,/用來標識口地址

  public:

  CIPAddress0;

  int startupo;

  int CleanUP0;

  int GetLocalHostName(ch卸r‘sHostName);

  int

  GetIPAddress(char。slPAddress);

  void ShowIP0;

  };

  2.定義的用來獲取PAN設(shè)置信息的數(shù)據(jù)結(jié)構(gòu)

  typedef

  stnm PanInfo

  {

  SHORT

  Role; //發(fā)送端還是接收端

  SHORT

  PingTnnes; /,執(zhí)行ping命令的次數(shù)

  CHAR

  SendFilePath[MAX_PATH]; //要發(fā)送的文件路徑

  CHAR

  ReceivedFilePath[MAX_PATH]; //接收文件后存放路徑

  }PANINFO,*PPANINFO;

  在PAN自動測試程序總體流程如圖3所示,發(fā)送文件和接收文件分別是由不同的角色完成的,因此對于整個過程的同步的記錄、分析、除錯非常困難,有時候不得不進行人工干預(yù)。對于自動測試程序的要求是不能被異常情況所干擾。如果自動測試程序本身的健壯性都得不到保證,測試結(jié)果的正確性就很難說了。

  基于上述考慮,當錯誤發(fā)生時,首先根據(jù)錯誤類型判斷錯誤的嚴重程度以及是否需要人工干預(yù),這樣既考慮了嚴重錯誤對系統(tǒng)的影響又減輕了測試人員的負擔。當然,如果錯誤累積到一定程序,再進行測試就毫無意義,這個時候就必須中斷測試,請求人工分析處理,在本系統(tǒng)中是通過一個累加器處理的.

  圖3 藍牙PAN互操作性鍘試流程圖

  PAN自動測試中發(fā)送方的流程如圖4所示,這個流程圖是圖3調(diào)度執(zhí)行發(fā)送方程序”步驟的詳細流程。發(fā)送方分為PANU、G|N、NAP多種角色,因此程序開始的時候也需要初始化設(shè)備。注冊回調(diào)函數(shù)是為了在界面上顯示測試過程狀態(tài)信息和觸發(fā)記錄日志事件。發(fā)送方只能根據(jù)對發(fā)送過程的監(jiān)聽來判斷文件發(fā)送成功與否,因此這個判斷在某種程度上并不能保證完全正確,需要和接收方產(chǎn)生的結(jié)果匯總之后再次進行分析,這個分析過程由自動測試程序控制。

  圖4 自動測試發(fā)送方流程圖

  PAN自動測試中接收方的流程如圖5所示,這個流程圖是圖3調(diào)度執(zhí)行接收方程序步驟的詳細流程。接收方的流程相對比較簡單,接收方必須與發(fā)送方配合才能完成整個自動測試過程。

  圖5 自動測試接受方流程圖

  測試結(jié)果和總結(jié)

  PAN自動測試程序目的是針對互操作性測試而進行的,整個測試流程以替代部分手工測試、節(jié)約版本測試時間和人力為出發(fā)點。通過將基本功能做成自動測試工具模擬用戶操作完成大多數(shù)功能點的驗證測試,可以很大程度上減輕測試人員的工作量。實踐中,自動測試程序一般在晚上下班時間運行,次日早上測試人員通過察看自動測試運行后產(chǎn)生的日志文件來對測試結(jié)果進行評估。PAN自動測試程序在這方面取得了很好的效果,通過連續(xù)運行一萬次測試用例規(guī)模的自動測試的結(jié)果進行分析,對提高軟件的穩(wěn)定性很有裨益。自動測試程序運行過程中保存下來的現(xiàn)場數(shù)據(jù)對于開發(fā)人員修復源程序中的Bug也很有幫助。尤其是對長期的項目、增量開發(fā)模式,自動測試不失為一種很好的選擇。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉