高質量嵌入式系統(tǒng)開發(fā)的集成測試技術

探測故障的最佳時機是在開發(fā)過程的早期。如果使用統(tǒng)一建模語言(UML),甚至在分析和設計期間就可以發(fā)現故障。

然而,軟件的集成和測試十分困難,嵌入式系統(tǒng)更困難,由于輸入和輸出少,系統(tǒng)的可操作性和可見性都很有限。反常的系統(tǒng)狀態(tài)尤其難以測試,因為在確定系統(tǒng)在某一狀態(tài)下的行為前,必須使系統(tǒng)進入該狀態(tài)。

本文提出將測試儀器(instrumentation)代碼注入UML模型實現中的觀點,目的是提升系統(tǒng)的可控性、可觀察性和易測性。測試儀器可應用在開發(fā)和目標環(huán)境中,并可在模型級進行交互式系統(tǒng)調試。在批處理模式下,測試儀器是數據采集、初始化和測試自動化的基礎。本文旨在:簡要介紹基于模型的軟件工程以及這些模型的實現;概述基于模型的軟件的集成測試方法;確定模型系統(tǒng)內重要的運行時間數據和執(zhí)行關鍵點;闡述在運行時間采集和操作模型數據的幾種方案;使測試儀器能自動進行測試。

軟件故障是指程序中的錯誤指令或計算,軟件故障的執(zhí)行將導致軟件狀態(tài)出錯。當錯誤傳到輸出,并作為一個異常結果呈現在系統(tǒng)外時,故障就會發(fā)生。程序的可控性是指一套測試系統(tǒng)強迫被測程序遵循一個特定執(zhí)行路徑的能力,也有可能沿這條路徑的執(zhí)行出錯。程序的可觀察性是指這套測試系統(tǒng)發(fā)現錯誤狀態(tài)繼而指出故障所在的能力。

系統(tǒng)的內部狀態(tài)對于確定測試的正確性至關重要。系統(tǒng)的輸出是由系統(tǒng)的初始狀態(tài)及其輸入決定的。初始狀態(tài)不同的系統(tǒng),即便輸入相同,輸出也會不同。系統(tǒng)的最終狀態(tài)也必須作為評估測試正確性的一部分予以考慮,因為不正確的內部狀態(tài)最終會傳到系統(tǒng)的輸出,并導致錯誤。系統(tǒng)的復雜性也使得預測系統(tǒng)的正確輸出變得愈加困難。

初始狀態(tài)+輸入--->最終狀態(tài)+輸出

在“黑匣子”測試方法中,只有系統(tǒng)的外部輸入和輸出可知。需要用一個特殊的測試激勵序列將錯誤傳給輸出,以便區(qū)分錯誤和正確的程序。所需的特殊序列越長,程序的可測性就越小。與“黑匣子”相似,嵌入式系統(tǒng)的可控性和可觀察性也較低。評估最終系統(tǒng)內部狀態(tài)的結果能縮短檢測誤差所需的特殊輸入序列,從而產生更小、更易處理的測試案例。測試儀器力求同時提高軟件程序的可控性和可觀察性,以獲得更具可測性的程序。

在應用代碼中使用測試支持儀器的技術是一種“玻璃匣”測試方法。在開發(fā)系統(tǒng)的UML模型時,開發(fā)者必須了解系統(tǒng)將要完成的任務;跍y試儀器的錯誤隔離策略可以將UML模型的知識運用于集成測試。系統(tǒng)的操作和狀態(tài)在分析級比在編碼級更具可見性,因為后者受到實現細節(jié)的影響。

僅從外部輸入設置測試的初始系統(tǒng)狀態(tài)需要特定的外部激勵序列。異常狀態(tài)下的系統(tǒng)操作是很多嵌入式應用中驗證的關鍵,但生成這些初始狀態(tài)并不簡單。本文所描述的技術可利用測試手段,大大提高可控性和可觀察性。

 

   來源:嵌入式在線
微信掃描分享本文到朋友圈
掃碼關注5G通信官方公眾號,免費領取以下5G精品資料
  • 1、回復“YD5GAI”免費領取《中國移動:5G網絡AI應用典型場景技術解決方案白皮書
  • 2、回復“5G6G”免費領取《5G_6G毫米波測試技術白皮書-2022_03-21
  • 3、回復“YD6G”免費領取《中國移動:6G至簡無線接入網白皮書
  • 4、回復“LTBPS”免費領取《《中國聯(lián)通5G終端白皮書》
  • 5、回復“ZGDX”免費領取《中國電信5GNTN技術白皮書
  • 6、回復“TXSB”免費領取《通信設備安裝工程施工工藝圖解
  • 7、回復“YDSL”免費領取《中國移動算力并網白皮書
  • 8、回復“5GX3”免費領取《R1623501-g605G的系統(tǒng)架構1
  • 本周熱點本月熱點

     

      最熱通信招聘

      最新招聘信息