<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 零缺陷軟件開發(fā)工具ZDSD

          零缺陷軟件開發(fā)工具ZDSD

          作者:上海創(chuàng)景 技術(shù)支持經(jīng)理 周國勇 時(shí)間:2008-04-14 來源:電子產(chǎn)品世界 收藏

            前言

          本文引用地址:http://www.ex-cimer.com/article/81533.htm

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

            解決方案

            LDRA公司的ZDSD解決方案的層次模型如圖1所示。在嵌入式系統(tǒng)開發(fā)項(xiàng)目中,層次模型包含了五個(gè)基本級(jí)別,隨著對設(shè)計(jì)過程和項(xiàng)目的目標(biāo)、中間產(chǎn)品和整體生產(chǎn)率的關(guān)注的不同,這些級(jí)別可以進(jìn)行調(diào)整。

            級(jí)別1

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

            級(jí)別2

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

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

            級(jí)別3

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

            級(jí)別4

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

            在級(jí)別4 RTM得到全面的擴(kuò)展,將包含測試用例標(biāo)識(shí)、測試規(guī)格說明和測試結(jié)果在內(nèi)的相關(guān)確認(rèn)產(chǎn)品項(xiàng)。級(jí)別4的重點(diǎn)是在目標(biāo)機(jī)測試和系統(tǒng)集成測試之前更正缺陷?;谥鳈C(jī)的測試是非常典型的一種節(jié)約費(fèi)用的選擇,因?yàn)樗芎玫靥峁┝嗽缙跍y試手段,并且它是不依賴于目標(biāo)平臺(tái)實(shí)現(xiàn)最底層功能的良好手段。

            級(jí)別5

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

            功能測試是第5級(jí)中的核心工作。另外,結(jié)構(gòu)覆蓋作為用來度量功能需求和實(shí)現(xiàn)最終追蹤關(guān)系。在級(jí)別4中使用的所有測試產(chǎn)品項(xiàng)都會(huì)在級(jí)別5中涉及。

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

            LDRA產(chǎn)品介紹

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

            Testbed功能介紹

            LDRA開發(fā)的工具套件在達(dá)到團(tuán)隊(duì)軟件開發(fā)和維護(hù)目標(biāo)的過程中,對六項(xiàng)內(nèi)容提供幫助,如圖3所示。

            ·代碼評(píng)審(檢查編碼規(guī)則);

            ·質(zhì)量評(píng)審(分析代碼的復(fù)雜度、密度和可測試性);

            ·設(shè)計(jì)評(píng)審(分析接口、變量使用和控制流等);

            ·單元測試(自動(dòng)創(chuàng)建測試驅(qū)動(dòng)和測試向量);

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

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

            1.代碼評(píng)審。通過使用工具提供的強(qiáng)大的(包括編碼規(guī)則檢查)分析功能以及工具提供的全面的報(bào)告,可以實(shí)現(xiàn)對傳統(tǒng)代碼評(píng)審工作的擴(kuò)展。

            工具提供的代碼評(píng)審功能的主要特點(diǎn)是,提供了一個(gè)自動(dòng)化的、有效的、可重復(fù)的過程,這個(gè)過程既節(jié)省了時(shí)間和資源,又為開發(fā)者提供了詳細(xì)的全面標(biāo)準(zhǔn),這些是傳統(tǒng)的手工技術(shù)不能與之相比的。

            2.質(zhì)量評(píng)審。該功能使用質(zhì)量度量方法快速確定軟件的質(zhì)量,使質(zhì)量評(píng)審過程自動(dòng)化。

            質(zhì)量評(píng)審一個(gè)主要特點(diǎn)是全面的代碼可視化、系統(tǒng)級(jí)的質(zhì)量度量和代碼的結(jié)構(gòu)簡化,幫助提高對整個(gè)代碼的信心。

            3.設(shè)計(jì)評(píng)審。對源代碼與最初的設(shè)計(jì)需求之間的一致性進(jìn)行評(píng)估是很重要的。

            4.單元測試。在軟件生命周期中,隨著軟件開發(fā)的進(jìn)行,發(fā)現(xiàn)錯(cuò)誤以及修正錯(cuò)誤的成本越來越大,這是一個(gè)大家公認(rèn)的事實(shí)。經(jīng)驗(yàn)證明代碼開發(fā)早期的集中測試可以減少相關(guān)的成本。

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

            5.測試驗(yàn)證。在開發(fā)安全、商業(yè)和任務(wù)苛刻性軟件的過程中,必須堅(jiān)持最嚴(yán)格的標(biāo)準(zhǔn)。

            代碼的分析、測試和維護(hù)占了軟件開發(fā)生命周期的70%。快速查明被測試軟件中不適當(dāng)?shù)牟糠?,并且按照一個(gè)高的標(biāo)準(zhǔn)來測試并減少回頭測試的成本,這是極為重要的。主要的目的是節(jié)省資源,提高產(chǎn)品質(zhì)量,縮短上市時(shí)間。

            6.測試管理。因?yàn)槌浞掷斫庖粋€(gè)系統(tǒng)可能需要花費(fèi)很長的時(shí)間和大量的人力、物力。工具套件幫助開發(fā)者和測試工程師理解、歸檔、維護(hù)龐大的復(fù)雜系統(tǒng)。

            文檔編制幫助達(dá)到質(zhì)量標(biāo)準(zhǔn)(如ISO 9001:2000)。測試管理的一個(gè)主要特點(diǎn)是為評(píng)審提供整個(gè)系統(tǒng)的文檔和版本控制,也幫助減少維護(hù)的成本。

            TBreq功能介紹

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

            在LDRA工具包里,TBreq根據(jù)需求直接生成測試規(guī)格說明和可執(zhí)行的測試用例。測試結(jié)果直接自動(dòng)的返回到需求管理工具,從而實(shí)現(xiàn)往返的需求跟蹤驗(yàn)證。

            所有的這些特點(diǎn)使得TBreq成為當(dāng)今市場上有效的針對需求管理的解決方案。TBreq是將需求、設(shè)計(jì)、開發(fā)、測試和驗(yàn)證工作與管理工具和設(shè)計(jì)開發(fā)工具鏈連接起來的較簡單的解決方案。

            RTInsightPro嵌入式測試系統(tǒng)

            隨著嵌入式實(shí)時(shí)系統(tǒng)的廣泛應(yīng)用,嵌入式軟件可靠性越來越成為系統(tǒng)能否正常運(yùn)行的關(guān)鍵,由于傳統(tǒng)主機(jī)平臺(tái)軟件測試工具的局限性,給嵌入式平臺(tái)軟件測試帶來很大的困難。

            RTInsightPro充分考慮到嵌入式軟件實(shí)時(shí)性特點(diǎn),結(jié)合使用LDRA公司靜態(tài)分析與代碼自動(dòng)插裝技術(shù),可成功用于實(shí)時(shí)嵌入式系統(tǒng)集成與系統(tǒng)測試,提供代碼覆蓋率分析、函數(shù)性能分析、內(nèi)存泄露分析、任務(wù)性能分析、變量監(jiān)控、堆棧監(jiān)控及系統(tǒng)跟蹤功能。RTInsightPro測試系統(tǒng)如圖4所示。

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

            RTInsighPro提供代碼覆蓋率分析、函數(shù)性能分析、變量監(jiān)控、堆棧使用監(jiān)控、內(nèi)存泄漏分析、任務(wù)性能分析及系統(tǒng)跟蹤等功能。

            參考文獻(xiàn):

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



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();