<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > ZDSD零缺陷軟件開(kāi)發(fā)

ZDSD零缺陷軟件開(kāi)發(fā)

——
作者:周?chē)?/span> 時(shí)間:2007-12-04 來(lái)源:電子產(chǎn)品世界 收藏

上海創(chuàng )景 技術(shù)支持經(jīng)理 周?chē)?/STRONG>

1   零缺陷軟件開(kāi)發(fā)

  圖1描述了被提議的針對確認解決方案的層次模型。在嵌入式系統開(kāi)發(fā)項目中,模型包含了五個(gè)基本級別,雖然隨著(zhù)對過(guò)程和項目/團隊的目標、中間產(chǎn)品和整體生產(chǎn)率的關(guān)注的不同,這些級別可以進(jìn)行調整。

1.1級別1

  級別1應該是對一個(gè)將要開(kāi)發(fā)的系統的確定性的描述和必須要滿(mǎn)足的功能性的標準,這被稱(chēng)為高級需求。這個(gè)級別可以是詳細描述的,也可以不進(jìn)行詳細的描述,它的精確的定義可以推遲到第二級由設計人員,或者甚至是第三級的系統概要設計階段由實(shí)現人員去描述。級別1,高級需求也可以被叫做系統需求、用戶(hù)需求、產(chǎn)品需求,或者其他相同含義的稱(chēng)謂。這些需求可以以數據庫方式保存,比如Telelogic DOORS或者以文本方式存在,比如Microsoft Word文檔。

1.2級別2

  級別2,設計,包含對級別1所描述的系統進(jìn)行設計的一種表示方法。這一級,在大多情況下被稱(chēng)為低層需求,低層需求必須首先建立起和級別1的聯(lián)接或者追蹤關(guān)系。這個(gè)聯(lián)接關(guān)系被稱(chēng)為需求追蹤矩陣(RTM)。圖1的層次模型中的所有級別都直接或者間接的參與到這個(gè)RTM中。
  級別2一般采用典型的三種設計過(guò)程中的一種來(lái)表示。通常,級別2可以用如下設計模型進(jìn)行描述,諸如統一建模語(yǔ)言(UML)或者一些專(zhuān)用的建模工具如Mathworks的Simulink和NI的Lab View等?;蛘咦鳛檫x擇,級別2可以用設計規格說(shuō)明進(jìn)行描述,該設計規格說(shuō)明既描述了被開(kāi)發(fā)軟件的自身特性,也包括了軟件系統的詳細接口信息。同樣,在快速原型或者特定情況下,可以采用體系架構概念來(lái)達到項目中的關(guān)鍵要求,而不用采用一些更加詳細的正式的描述方式。

圖1:模型

 

1.3級別3

  級別3,實(shí)現,包含與級別2的描述保持一致的源代碼或匯編代碼的生成。在采用建模工具的自動(dòng)代碼生成的情況下,級別2和級別3之間的聯(lián)接可以自動(dòng)實(shí)現,確保兩個(gè)級別之間的需求可追蹤性。然而,通常情況,是在嵌入式操作系統供應商,例如Green Hills或者Wind River或者LynxOS,提供的集成開(kāi)發(fā)環(huán)境(IDE)中進(jìn)行“手工編碼”。
  確認行為典型情況下是從級別3開(kāi)始。防止運行時(shí)錯誤的最有效的方法就是提前排除他們。排除運行時(shí)錯誤的第一步,也包括其它的實(shí)現的缺陷,就是系統的運用代碼規則檢查。比如MISRA或者High Integrity C++這些由行業(yè)領(lǐng)導者開(kāi)發(fā)出來(lái)的代碼規則,它們對源代碼實(shí)現的的很多方面,比如指針使用,內存管理和語(yǔ)法等進(jìn)行分析。這些代碼評審的結果,同時(shí)也包括苛刻性質(zhì)量檢查例如代碼復雜度和可維護性、以及包括全面的數據流分析,都必須在進(jìn)行級別4和級別5的驗證進(jìn)行之前完成。此外,為了對確認行為的第一級進(jìn)行有效管理,必須要使用一個(gè)和整體的RTM集成的缺陷追蹤系統來(lái)實(shí)現對非一致性(不符合代碼規則和項目特定的質(zhì)量模型)的記錄,追蹤和解決。
  在級別3,一個(gè)艱巨的挑戰是實(shí)現代碼和高層需求或者低層需求之間的映射。這個(gè)聯(lián)接要求理解代碼,至少是到函數級別,同時(shí)也需要文檔來(lái)描述和證明相應的聯(lián)接關(guān)系。同時(shí),為了有效的進(jìn)行第4級和第5級的確認任務(wù),需求到源代碼的聯(lián)接必須要集成到RTM中。

{{分頁(yè)}}

1.4級別4

  級別4是專(zhuān)注于確認的第一級別。在這一級別,將對嵌入式軟件進(jìn)行針對功能和針對結構的測試??梢圆捎?,自頂而下,自底而上,或者兩種策略相結合的測試策略。這一級別可以采用模擬器,軟件仿真技術(shù),測試驅動(dòng)自動(dòng)生成器以及測試用例自動(dòng)生成器。如果要進(jìn)行實(shí)際路徑測試,那么結構測試中需要擴展使用在第三級中應用過(guò)分析和斷言方式的形式方法。不采用這些分析技術(shù),缺陷的因果關(guān)系是不能被有效的揭示出來(lái)。
  至于功能測試,確認任務(wù)是否被成功執行的一個(gè)關(guān)鍵依據就是在第4級進(jìn)行的功能測試,能否在第5級(也就是目標環(huán)境)進(jìn)行成功復現。不考慮主機和目標機的兼容問(wèn)題,確認追蹤工作也是更加難以進(jìn)行的。
  在第4級,RTM得到全面的擴展,將包含比如測試用例標識,測試規格說(shuō)明書(shū)和測試結果在內的相關(guān)確認產(chǎn)品項。如果不一致被更正,那么測試結果中必須包括相應的缺陷報告。第4級別的重點(diǎn)是在進(jìn)行目標機測試和系統集成測試之前更正缺陷?;谥鳈C的測試是非常典型的一種節約費用的選擇,因為它很好的提供了早期測試手段,并且它是不依賴(lài)于目標平臺實(shí)現最低層功能的最佳手段。

1.5級別5

  對嵌入式軟件的確認,特別是安全苛刻性軟件,最有代表性的是在第5級進(jìn)行。然而,在這一級,由于功能頻繁的鑒于硬件/軟件之間,使得缺陷的確定比第4級更加的困難。許多基于主機的測試手段,比如運行時(shí)庫是不切實(shí)的,在多分區操作系統中是不可行的。另外一個(gè)層面的追蹤,從源代碼到目標碼的追蹤也必須被覆蓋。
  功能測試是第5級中的核心工作。另外,結構覆蓋被用來(lái)度量功能需求和實(shí)現的最終追蹤關(guān)系。(也就是通過(guò)功能測試,是否還有未被覆蓋的代碼?如果有,為什么會(huì )存在沒(méi)有被覆蓋的代碼?)。在第4級中使用的所有測試產(chǎn)品項都會(huì )在第5級中涉及到。

2  解決方案

  LDRA公司提供的ZDSD解決方案完全適合在前面章節描述的ZDSD模型的要求。在下面圖2的中描述了ZDSD解決方案在V型軟件開(kāi)發(fā)中的應用。

圖2—軟件開(kāi)發(fā)的V模型

 

3  LDRA產(chǎn)品介紹

  只有LDRA工具套件主要包括Testbed/TBrun,TBreq以及RTInsight能夠能夠輔助客戶(hù)高效的實(shí)現ZDSD的軟件開(kāi)發(fā)流程

 

3.1 Testbed功能介紹

  LDRA開(kāi)發(fā)的工具套件在達到團隊軟件開(kāi)發(fā)和維護的目標的過(guò)程中,對六大活動(dòng)提供幫助。
 • 代碼評審(使用編碼規則)
 • 質(zhì)量評審(分析代碼的復雜度,密度以及可測試性)
 • 設計評審(分析接口,變量使用,控制流等)
 • 單元測試(自動(dòng)創(chuàng )建測試驅動(dòng)和測試向量)
 • 測試驗證(追蹤測試執行并且分析代碼覆蓋率)
 • 測試管理(測試用例管理,文檔管理)

{{分頁(yè)}}

1.  代碼評審

  通過(guò)使用工具提供的強大的包括編碼規則檢查在內的分析功能以及工具提供的全面的報告,可以實(shí)現對傳統代碼評審工作的擴展。用戶(hù)可以選擇編程規則的最大的集合(Set),也可以配置用戶(hù)自己的規則集合,或使用行業(yè)認可的標準,例如:MISRA C/MISRA-C:2004??焖僮R別出違反規則的代碼并幫助開(kāi)發(fā)人員快速的進(jìn)行修正。


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

2.  質(zhì)量評審

  該功能是使用質(zhì)量度量可以使你快速確定您的軟件的質(zhì)量。
LDRA公司努力使質(zhì)量評審過(guò)程自動(dòng)化:
  其主要特征包括:
 • 代碼度量提供對軟件質(zhì)量的度量,可以快速的以可視化的方式了解系統的復雜性。該特征是衡量軟件的清晰性、可維護性和可測試            性的元素;
 • 提供詳細的、彩色的函數調用關(guān)系圖和程序控制流程圖;
 • 自動(dòng)生成報告,提供軟件質(zhì)量文檔;

  

  工具的質(zhì)量評審一個(gè)主要特點(diǎn)是全面的代碼可視化、系統級的質(zhì)量度量和代碼的結構化化簡(jiǎn)指定,這些可以幫助提高對整個(gè)代碼的信心。

3.  設計評審

  對源代碼(可以被編譯的)與最初的設計需求之間的一致性進(jìn)行評估是很重要的。
LDRA實(shí)現了對這項采用傳統手段需要花費大量時(shí)間和資源的工作的自動(dòng)化。

  一些主要特征包括:
  • 接口分析、識別潛藏錯誤程序變量。工具對所有過(guò)程的參數以及函數的全局變量和返回值進(jìn)行全面分析;
  • 工具全面深入理解代碼,代碼解析提供的代碼分析結果沒(méi)有“誤報”;

  工具的設計評審幫助驗證設計規格說(shuō)明是否被正確實(shí)現。

4.  單元測試

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

  單元測試在初始編碼階段提供了識別和改正錯誤的方法,幫助確認和維護軟件單元/模塊的一致性。

 

LDRA單元測試的主要優(yōu)點(diǎn)有:
 • 自動(dòng)生成測試驅動(dòng),不需添加腳本;
 • 隨著(zhù)源代碼的改變,對需要修改的測試數據進(jìn)行跟蹤和報告;
 • 測試數據和結果很容易被保存,以便回歸測試;
 • 通過(guò)直觀(guān)的圖形/命令行接口選項可以達到極高的測試效率;
 • 交互式的測試工具可以直接進(jìn)行測試結果驗證和覆蓋率度量;
 • 自動(dòng)化的功能使測試人員不必詳細地了解被測試的代碼;

LDRA單元測試工具使測試過(guò)程自動(dòng)化,解決了傳統的單元測試大量消耗時(shí)間和資源的問(wèn)題。

{{分頁(yè)}}

5.  測試驗證

  開(kāi)發(fā)安全,商業(yè)和任務(wù)苛刻性軟件的過(guò)程必須堅持最嚴格的標準。在這些標準中一個(gè)重要的標準,如DO-178B要求直觀(guān)的,管理和檢驗軟件覆蓋率,該標準在航空和防務(wù)工程中被廣泛應用。

 

  代碼的分析、測試和維護占了軟件開(kāi)發(fā)生命周期的70%。LDRA的策略和技術(shù)可以應用到這些相關(guān)工作中。

快速查明被測試軟件中不適當的部分,并且按照一個(gè)高的標準來(lái)測試并減少回歸測試的成本,這是及其重要的。主要的目的是節省資源,提高產(chǎn)品質(zhì)量,縮短上市時(shí)間。

工具提供的測試驗證的主要特點(diǎn)是對測試進(jìn)行度量的可行性,詳細的語(yǔ)句、分支、測試路徑覆蓋率達到測試標準要求。

6.  測試管理

  因為充分理解一個(gè)系統可能需要花費很長(cháng)的時(shí)間和大量的人力、物力。LDRA工具套件幫助開(kāi)發(fā)者和測試工程師理解、歸檔、維護大的復雜的系統。

 

  文檔編制幫助達到質(zhì)量標準的過(guò)程,如ISO 9001:2000。

  測試管理的一個(gè)主要特點(diǎn)是為評審提供整個(gè)系統的文檔和版本控制,也幫助減少維護的成本。

3.2 TBreq功能介紹

1.需求測試和驗證

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

  在LDRA工具包里,TBreq根據需求直接生成測試規格說(shuō)明和可執行的測試用例。測試結果直接自動(dòng)的返回到需求管理工具,從而實(shí)現“round-trip的需求跟蹤驗證”。

  TBreq的一個(gè)主要的特點(diǎn)是它從任一需求管理工具和數據源中獲取需求(高層的需求,派生出來(lái)的需求,低層的需求)的能力;同時(shí)它提供一個(gè)直觀(guān)的接口進(jìn)行跟蹤,產(chǎn)生測試用例和需求驗證。所有的這些特點(diǎn)使得TBreq成為當今市場(chǎng)上最有效的針對需求管理的解決方案。

2.主要優(yōu)點(diǎn)

  TBreq提供了質(zhì)量和驗證標準對于實(shí)現多層次,雙向需求追蹤和沖突分析所必須的特性:
 • 和大多數主流的第三方需求管理工具實(shí)現集成來(lái)增加需求的可見(jiàn)性,并且實(shí)現從設計,編碼到測試的追蹤
 • 生成需求測試追蹤矩陣
 • 從源代碼和需求中生成測試規格說(shuō)明,同時(shí)自動(dòng)生成測試用例
 • 和LDRA Testbed(實(shí)現代碼評審,質(zhì)量評審,設計評審和覆蓋率分析),TBrun(實(shí)現自動(dòng)單元測試,包括測試驅動(dòng)生成,測試用例生成,測試報告生成,主機/目標機測試和回歸測試)無(wú)縫集成
 • 需求的測試覆蓋分析和沖突分析
 • 自動(dòng)偵測需求,源代碼和測試數據的變更
 • Upstream和Downstream的沖突分析能夠進(jìn)行回歸風(fēng)險管理

{{分頁(yè)}}

3.接口

  TBreq是將需求,設計,開(kāi)發(fā),測試和驗證工作與您的需求管理工具和設計開(kāi)發(fā)工具鏈連接起來(lái)的最簡(jiǎn)單的解決方案:
 • 文本處理工具:Word, Excel, Access, PowerPoint, PDF, . . .
 • 需求管理工具:DOORS, RequisitePro, or any published XML interface
 • 項目管理工具:Microsoft Project
 • UML 工具:Rhapsody, Artisan, Rose, . . .
 • 建模和設計工具:Simulink, Statemate, Scade, Stood, . . .
 • 源代碼文件:C, C++, C#, Ada, . . .
 • 配置管理工具:Clearcase, CVS, PVCS, Dimensions, SYNERGY/CM, . . .

3.3 RTInsightPro嵌入式測試系統

  隨著(zhù)嵌入式實(shí)時(shí)系統的廣泛應用,嵌入式軟件可靠性越來(lái)越成為系統能否正常運行的關(guān)鍵,由于傳統主機平臺軟件測試工具的局限性,給嵌入式平臺軟件測試帶來(lái)很大的困難。
  RTInsightPro充分考慮到嵌入式軟件實(shí)時(shí)性特點(diǎn),結合使用LDRA公司靜態(tài)分析與代碼自動(dòng)插裝技術(shù),可成功用于實(shí)時(shí)嵌入式系統集成與系統測試,提供代碼覆蓋率分析、涵數性能分析、內存泄露分析,任務(wù)性能分析,變量監控、堆棧監控及系統跟蹤功能。

 

RTInsightPro技術(shù)特點(diǎn)

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

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

  • 覆蓋率分析
       RTInsightPro結合Testbed針對硬件輔助方式專(zhuān)用的插裝,可以在對系統影響最小的情況下提供下列覆蓋率指標:
          • 語(yǔ)句覆蓋率;
          • 分支覆蓋率;
          • 調用覆蓋率;
          • 外部中斷使用記數;

 

  • 函數性能分析
       采用和覆蓋率分析不同的專(zhuān)門(mén)的性能插裝方式,RTInsightPro可以在對系統實(shí)時(shí)性能幾乎沒(méi)有影響的情況下,提供以下時(shí)間性能指標:
          • 系統總體執行時(shí)間;
          • 每個(gè)程序最大執行時(shí)間;
          • 每個(gè)程序最小執行時(shí)間;
          • 每個(gè)程序累計執行時(shí)間;
          • 每個(gè)程序執行次數;
          • 中斷服務(wù)程序響應時(shí)間;

 

  •任務(wù)性能分析
       對于采用實(shí)時(shí)多任務(wù)操作系統的被測試系統,可以提供下列和任務(wù)相關(guān)的性能指標:
          • 任務(wù)執行的最大時(shí)間;
          • 任務(wù)執行的最小時(shí)間;
          • 任務(wù)執行的累計時(shí)間;

 

  • 變量監控分析
       可以實(shí)時(shí)對系統中的變量使用情況進(jìn)行監控和記錄,可同時(shí)實(shí)時(shí)監控8個(gè)系統變量和2個(gè)數組,提供下列功能:
          • 記錄變量的最大值;
          • 記錄變量的最小值;
          • 記錄變量的被寫(xiě)操作次數;

{{分頁(yè)}}

 

  • 堆棧監控分析
       對于堆棧設置在內存中的系統,可以對堆棧的使用情況進(jìn)行實(shí)時(shí)監控,提供下列功能:
          • 設置堆棧使用溢出報警上限;
          • 設置堆棧使用溢出報警下限;
          • 給出堆棧當前實(shí)時(shí)使用情況


 
  • 內存泄露分析
       對于采用了動(dòng)態(tài)內存分配的系統,RTInsightPro可以實(shí)時(shí)監控動(dòng)態(tài)內存的使用情況,可以輔助用戶(hù)發(fā)現以下問(wèn)題:
          • 內存分配了未釋放;
          • 內存重復釋放;
          • 釋放未分配的內存;

    等內存使用方面的異常,同時(shí)幫助用戶(hù)定位問(wèn)題;

  • 跟蹤分析
      RTInsightPro可以對系統的總線(xiàn)狀態(tài)進(jìn)行實(shí)時(shí)追蹤,結合對源代碼的分析信息,可以提供源代碼級的追蹤分析,具體功能包括:
          • 提供128K的總線(xiàn)跟蹤分析功能;
          • 提供大概100萬(wàn)行源代碼級追蹤;
          • 可實(shí)時(shí)跟蹤記錄系統執行狀態(tài);
          • 可設置靈活的觸發(fā)條件與記錄條件;
          • 可以和外部硬件觸發(fā)進(jìn)行配合;

 

參考文獻:
LDRA 公司 Zero Defect Software Development (ZDSD)_Manifesto Version 2.12

 



關(guān)鍵詞: ZDSD

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>