新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 零缺陷軟件開發工具ZDSD

        零缺陷軟件開發工具ZDSD

        作者:上海創景 技術支持經理 周國勇 時間:2008-04-14 來源:電子產品世界 收藏

          前言

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

          在航空、航天、國防、核工業、通信、汽車、醫療、金融等尖端產業,對應用軟件的安全性、可靠性提出的苛刻標準。從事軟件開發的專業公司中,英國LDRA公司(Liverpool Data Research Associates)由Mike Hennell教授在1975年創建,它的軟件開發()調試和測試工具是拳頭產品。下文對業界著名的嵌入式調試和測試工具作簡要介紹。

          解決方案

          LDRA公司的ZDSD解決方案的層次模型如圖1所示。在嵌入式系統開發項目中,層次模型包含了五個基本級別,隨著對設計過程和項目的目標、中間產品和整體生產率的關注的不同,這些級別可以進行調整。

          級別1

          級別1是對一個將要開發的系統的確定性描述和需要滿足的功能性標準,稱為高級需求。這個級別可以是詳細描述的,也可以不進行詳細的描述,它的精確的定義可以推遲到級別2由設計人員,或者甚至級別3的系統概要設計階段由實現人員去描述。級別1高級需求也叫做系統需求、用戶需求、產品需求,或者其他相同含義的稱謂。這些需求可以以數據庫方式保存(如Telelogic DOORS)或者以文本方式保存(如Microsoft Word)。

          級別2

          級別2是對系統設計,包含對級別1所描述的系統設計的表示方法。這一級別在大多情況下稱為低層需求,低層需求必須首先建立起和級別1的聯接或者追蹤關系。這個聯接關系稱為需求追蹤矩陣(RTM)。圖1的層次模型中的所有級別都直接或者間接的參與到RTM中。

          級別2一般可以采用三種典型設計過程之一來表示,第一用設計模型進行描述,如統一建模語言(UML)或者專用的建模工具(如Mathworks的Simulink和NI的LabView等)。第二作為選擇,用設計規格說明進行描述。第三用體系架構概念來達到項目中的關鍵要求,而不采用正式的描述方式。

          級別3

          級別3是系統的實現,包含與級別2的描述保持一致的源代碼或匯編代碼的生成。在采用建模工具的自動代碼生成的情況下,級別2和級別3之間的聯接可以自動實現,確保兩個級別之間的需求可追蹤性。在通常情況下,使用嵌入式操作系統供應商(如Green Hills、Wind River或者LynxOS)提供的集成開發環境(IDE)中進行手工編碼。

          級別4

          級別4專注于確認。這一級別將對嵌入式軟件進行針對功能和針對結構的測試。可以采用自頂而下,自底而上,或者兩種方法相結合的測試策略。這一級別可以采用模擬器、軟件仿真器、測試驅動自動生成器以及測試用例自動生成器。如果要進行實際路徑測試,那么結構測試中需要擴展使用在級別3中應用過的分析和斷言形式的方法。不采用這些分析技術,缺陷的因果關系就不能有效的揭示出來。

          在級別4 RTM得到全面的擴展,將包含測試用例標識、測試規格說明和測試結果在內的相關確認產品項。級別4的重點是在目標機測試和系統集成測試之前更正缺陷。基于主機的測試是非常典型的一種節約費用的選擇,因為它很好地提供了早期測試手段,并且它是不依賴于目標平臺實現最底層功能的良好手段。

          級別5

          對嵌入式軟件的確認,特別是安全苛刻性軟件,最有代表性的是在級別5進行。然而,由于在這一級功能頻繁的在硬件/軟件之間變化,使得缺陷的確定比級別4更加困難。另外,一個層面的追蹤,從源代碼到目標碼的追蹤也必須被覆蓋。

          功能測試是第5級中的核心工作。另外,結構覆蓋作為用來度量功能需求和實現最終追蹤關系。在級別4中使用的所有測試產品項都會在級別5中涉及。

          LDRA公司的ZDSD解決方案完全適合上文描述的ZDSD模型的要求。ZDSD解決方案在V型軟件開發中的應用如圖2所示。

          LDRA產品介紹

          LDRA工具套件主要包括Testbed/TBrun、TBreq以及RTInsight,套件能夠輔助客戶高效地實現ZDSD的開發流程。

          Testbed功能介紹

          LDRA開發的工具套件在達到團隊軟件開發和維護目標的過程中,對六項內容提供幫助,如圖3所示。

          ·代碼評審(檢查編碼規則);

          ·質量評審(分析代碼的復雜度、密度和可測試性);

          ·設計評審(分析接口、變量使用和控制流等);

          ·單元測試(自動創建測試驅動和測試向量);

          ·測試驗證(追蹤測試執行和分析代碼覆蓋率);

          ·測試管理(測試用例管理和文檔管理)。

          1.代碼評審。通過使用工具提供的強大的(包括編碼規則檢查)分析功能以及工具提供的全面的報告,可以實現對傳統代碼評審工作的擴展。

          工具提供的代碼評審功能的主要特點是,提供了一個自動化的、有效的、可重復的過程,這個過程既節省了時間和資源,又為開發者提供了詳細的全面標準,這些是傳統的手工技術不能與之相比的。

          2.質量評審。該功能使用質量度量方法快速確定軟件的質量,使質量評審過程自動化。

          質量評審一個主要特點是全面的代碼可視化、系統級的質量度量和代碼的結構簡化,幫助提高對整個代碼的信心。

          3.設計評審。對源代碼與最初的設計需求之間的一致性進行評估是很重要的。

          4.單元測試。在軟件生命周期中,隨著軟件開發的進行,發現錯誤以及修正錯誤的成本越來越大,這是一個大家公認的事實。經驗證明代碼開發早期的集中測試可以減少相關的成本。

          單元測試在初始編碼階段提供了識別和改正錯誤的方法,幫助確認和維護軟件單元/模塊的一致性。單元測試工具使測試過程自動化,解決了傳統的單元測試大量消耗時間和資源的問題。

          5.測試驗證。在開發安全、商業和任務苛刻性軟件的過程中,必須堅持最嚴格的標準。

          代碼的分析、測試和維護占了軟件開發生命周期的70%。快速查明被測試軟件中不適當的部分,并且按照一個高的標準來測試并減少回頭測試的成本,這是極為重要的。主要的目的是節省資源,提高產品質量,縮短上市時間。

          6.測試管理。因為充分理解一個系統可能需要花費很長的時間和大量的人力、物力。工具套件幫助開發者和測試工程師理解、歸檔、維護龐大的復雜系統。

          文檔編制幫助達到質量標準(如ISO 9001:2000)。測試管理的一個主要特點是為評審提供整個系統的文檔和版本控制,也幫助減少維護的成本。

          TBreq功能介紹

          TBreq包含了LDRA Testbed和TBrun(單元測試工具)的工具包集成, 能夠提供一套完整的解決方案來幫助測試團隊實現測試規格說明、單元測試場景、測試數據以及代碼覆蓋率驗證,實現高層次的設計規格說明之間的映射。TBreq直接和管理工具(DOORS、ReqPro、Word、Excel)接口來保證在整個軟件生命周期中,實現需求跟蹤以及保證對于需求覆蓋的完整性。

          在LDRA工具包里,TBreq根據需求直接生成測試規格說明和可執行的測試用例。測試結果直接自動的返回到需求管理工具,從而實現往返的需求跟蹤驗證。

          所有的這些特點使得TBreq成為當今市場上有效的針對需求管理的解決方案。TBreq是將需求、設計、開發、測試和驗證工作與管理工具和設計開發工具鏈連接起來的較簡單的解決方案。

          RTInsightPro嵌入式測試系統

          隨著嵌入式實時系統的廣泛應用,嵌入式軟件可靠性越來越成為系統能否正常運行的關鍵,由于傳統主機平臺軟件測試工具的局限性,給嵌入式平臺軟件測試帶來很大的困難。

          RTInsightPro充分考慮到嵌入式軟件實時性特點,結合使用LDRA公司靜態分析與代碼自動插裝技術,可成功用于實時嵌入式系統集成與系統測試,提供代碼覆蓋率分析、函數性能分析、內存泄露分析、任務性能分析、變量監控、堆棧監控及系統跟蹤功能。RTInsightPro測試系統如圖4所示。

          通過采用LDRA公司Testbed軟件測試工具靜態分析與代碼插裝技術,以及RTInsightPro硬件,可實時地對嵌入式系統進行代碼覆蓋率分析與性能分析。由于采用代碼插裝,可準確地判斷代碼執行情況,同時由于采用RTInsightPro高速虛擬端口技術,使得代碼插裝量可控制在每個特征點(即函數入口、出口,程序分支點)一到兩條指令或語句(代碼增加量可控制在10%之內),大大減少插裝代碼增加對被測系統的影響。

          RTInsighPro提供代碼覆蓋率分析、函數性能分析、變量監控、堆棧使用監控、內存泄漏分析、任務性能分析及系統跟蹤等功能。

          參考文獻:

          1.  LDRA公司Zero Defect Software Development (ZDSD)_Manifesto Version 2.12



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沂南县| 武川县| 唐河县| 库车县| 武功县| 平南县| 昌黎县| 新沂市| 揭东县| 芒康县| 陈巴尔虎旗| 都兰县| 光泽县| 马鞍山市| 马山县| 辰溪县| 达日县| 宝鸡市| 尼玛县| 榕江县| 濮阳县| 舞钢市| 五大连池市| 汾西县| 荃湾区| 张家界市| 宜章县| 平顺县| 凤凰县| 镶黄旗| 璧山县| 阿拉善右旗| 长海县| 贺州市| 娱乐| 法库县| 临泉县| 乐业县| 万州区| 平泉县| 锡林郭勒盟|