新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 高質量嵌入式系統開發的集成測試技術

        高質量嵌入式系統開發的集成測試技術

        作者: 時間:2009-12-17 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/152221.htm

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

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

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

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

          初始狀態+輸入--->最終狀態+輸出

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

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

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

          集成測試的步驟

          集成測試可分成兩個重要階段,即動態驗證和目標集成。動態驗證是在開發環境下運行UML模型,其目的在于確定模型的正確性。目標集成涉及到在目標環境中集成軟件和硬件。動態驗證和目標集成兩者都是在分析級上進行的,均使用同樣的工具,即測試支持儀器。

          要盡可能多地進行動態驗證測試,其原因有很多:硬件的可用性、硬件/軟件的分離、更短的調試周期,以及工具的使用。如果在動態驗證的運行測試后,可以確信模型沒有問題,目標集成的調試就可以集中在系統組件之間的接口上,或特定平臺問題上。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 抚顺县| 广元市| 石城县| 新巴尔虎右旗| 平南县| 新昌县| 屯门区| 上饶县| 易门县| 黎川县| 济宁市| 图木舒克市| 云梦县| 桃源县| 浠水县| 普定县| 石河子市| 多伦县| 神农架林区| 天柱县| 遵义县| 南充市| 稻城县| 铜鼓县| 岳阳市| 抚松县| 满洲里市| 孟村| 江北区| 福安市| 洛隆县| 乐昌市| 南和县| 遵化市| 湘潭县| 手游| 勃利县| 南漳县| 贵州省| 离岛区| 宁城县|