當前位置: 首頁 >
發布日期:2022-04-17 點擊率:103
探測故障的最佳時機是在開發過程的早期。 在應用代碼中使用測試支持儀器的技術是一種“玻璃匣”測試方法。
如果使用統一建模語言(UML),甚至在分析和設計期間就可以發現故障。
然而,軟件的集成和測試十分困難,嵌入式系統更困難,由于輸入和輸出少,系統的可操作性和可見性都很有限。
反常的系統狀態尤其難以測試,因為在確定系統在某一狀態下的行為前,必須使系統進入該狀態。
本文提出將測試儀器(instrumentation)代碼注入UML模型實現中的觀點,目的是提升系統的可控性、可觀察性和易測性。
測試儀器可應用在開發和目標環境中,并可在模型級進行交互式系統調試。
在批處理模式下,測試儀器是數據采集、初始化和測試自動化的基礎。
本文旨在簡要介紹基于模型的軟件工程以及這些模型的實現;概述基于模型的軟件的集成測試方法;確定模型系統內重要的運行時間數據和執行關鍵點;闡述在運行時間采集和操作模型數據的幾種方案;使測試儀器能自動進行測試。
軟件故障是指程序中的錯誤指令或計算,軟件故障的執行將導致軟件狀態出錯。
當錯誤傳到輸出,并作為一個異常結果呈現在系統外時,故障就會發生。
程序的可控性是指一套測試系統強迫被測程序遵循一個特定執行路徑的能力,也有可能沿這條路徑的執行出錯。
程序的可觀察性是指這套測試系統發現錯誤狀態繼而指出故障所在的能力。
系統的內部狀態對于確定測試的正確性至關重要。
系統的輸出是由系統的初始狀態及其輸入決定的。
初始狀態不同的系統,即便輸入相同,輸出也會不同。
系統的最終狀態也必須作為評估測試正確性的一部分予以考慮,因為不正確的內部狀態最終會傳到系統的輸出,并導致錯誤。
系統的復雜性也使得預測系統的正確輸出變得愈加困難。
初始狀態+輸入--->最終狀態+輸出在“黑匣子”測試方法中,只有系統的外部輸入和輸出可知。
需要用一個特殊的測試激勵序列將錯誤傳給輸出,以便區分錯誤和正確的程序。
所需的特殊序列越長,程序的可測性就越小。
與“黑匣子”相似,嵌入式系統的可控性和可觀察性也較低。
評估最終系統內部狀態的結果能縮短檢測誤差所需的特殊輸入序列,從而產生更小、更易處理的測試案例。
測試儀器力求同時提高軟件程序的可控性和可觀察性,以獲得更具可測性的程序。
在開發系統的UML模型時,開發者必須了解系統將要完成的任務。
基于測試儀器的錯誤隔離策略可以將UML模型的知識運用于集成測試。
系統的操作和狀態在分析級比在編碼級更具可見性,因為后者受到實現細節的影響。
僅從外部輸入設置測試的初始系統狀態需要特定的外部激勵序列。
異常狀態下的系統操作是很多嵌入式應用中驗證的關鍵,但生成這些初始狀態并不簡單。
本文所描述的技術可利用測試手段,大大提高可控性和可觀察性。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV