嵌入式軟體工業化測試工具LOGISCOPE

2021-04-19 23:13:33 字數 4655 閱讀 5708

[ 摘要 ] 本文論述了軟體的質量要求,在此基礎上,論述了 logiscope 對軟體開發的質量保證工作。如何在軟體開發的各個階段使用這些工具,以保證所開發的軟體的高可靠性和可維護性等。對 logiscope 的合理使用,將有助於開發隊伍通過 iso9001 認證,更便於提高開發隊伍的 cmm

等級。將 logiscope 和設計工具 scade 結合使用,能夠使軟體符合 rtca/do-178b 、 iec1508 、 iec880 和 gjb-2786 對

安全 - 關鍵系統的軟體質量要求。

1. 軟體的質量要求

軟體,是大系統中的重要組成部分;嵌入式

軟體,是指將軟體作為系統的一部分嵌入在系統中,作為系統的一部分使用的軟體,這種軟體最關鍵的要求是安全

性和高可靠性。特別是在軍用領域中更是如此。

因此,必須用有效的手段和軟體工具支援和滿足嵌入式

軟體開發、軟體測試

和評審等單位,以保證他們進行軟體質量保證活動。即,要有相應的軟體工具支援開發者,以保證在最短的時間內、用最少的費用,開發高質量的軟體,以滿足客戶的需求,同時減少產品交付後的維護費用。

通過對實際工程的統計,會發現在不同的階段發現和更改乙個錯誤的費用是不同的,下表表明了具體的資料 [1] 。

軟體開發階段 編碼階段 測試階段 維護階段

發現和更改錯誤的費用 1 倍 4 倍 16 倍

另一方面,統計表明乙個專案中, 80% 的錯誤往往是由 20% 的程式引起的。因此,如何有效的確認和標識出這 20% 的部件是十分重要的。

經驗也告訴我們,錯誤多的程式,其結構、演算法、程式風格往往非常複雜。

下表是在各個軟體開發階段各種活動(評審和測試)發現錯誤的情況 [1] :

發現錯誤活動 每 1000 行發現的錯誤數

需求評審 2.5

設計評審 5.0

**評審 10.0

整合測試 3.0

驗收測試 2.0

軟體產品同其它工業產品一樣,其質量取決於軟體的開發過程中對質量的控制。要提高好軟體的質量,必須從各個階段來控制。

logiscope 是一組工具集。它貫穿於軟體開發、**評審、單元 / 整合測試、系統測試、以及軟體維護階段。

logiscope 是面向源**進行工作的。 logiscope 針對編碼、測試和維護。因此, logiscope 的重點是幫助**評審( review )和動態覆蓋測試( testing )。

2 logiscope 用於 開發階段

2.1 定義質量模型

重視軟體開發質量的公司,應當定義程式設計師程式設計規則[2]和質量評價模型。以保證公司所開發的源**的穩定性性、易維護性、高可靠性和可移植性。

rulechecker 預定義了 50個的程式設計規則:

· 名稱約定(如:區域性變數用小寫等);

· 表示約定(如:每行一條指令);

· 限制(如:不能用goto語句,不能修改迴圈體中的計數器等);

使用者可以從這些規則中選擇,也可以用tcl、指令碼和程式語言定義新的規則。

此外,還提供50個面向安全-關鍵系統的程式設計規則。

audit 以 iso9126 [3]模型作為質量評價模型的基礎。質量評價模型描述了從halstend、mccabe的度量方法學和verilog引入的質量方法學中的質量因素(可維護性、可重用性、等)和質量準則(可測試性、可讀性、等)。

工程專案領導或

質量管理人員可以根據準則、應用軟體的生存週期、合同需求等,挑選並採納適用於專案需求的質量模型。

2.2 驗證、評審和改進**

rulechecker 用所選的規則對源**進行驗證。指出所有不符合程式設計規則的**,並提出改進源**的解釋和建議。 rulrchecker通過文字編輯器直接訪問源**並指出需要糾正的位置。

audit 將被評價的軟體與規定的質量模型進行比較,用圖形形式顯示軟體質量的級別,因此,質量人員可以把精力集中到需要修改的**部分。對度量元素和質量模型不一致的地方作出解釋並提出糾正的方法。

對軟體質量的詳細分析, audit 可用各種圖形表示:

· 應用系統的體系結構——呼叫圖顯示過程和函式之間的關係。評審應用系統的設計;

· 每個過程和函式的邏輯結構——控制流圖顯示演算法的邏輯路徑。用圖形表示評審函式的複雜性;

· 與質量模型的一致性——kiviat圖和餅圖使質量等級與所選擇的參考之間的一致性更加視覺化。

3 logiscope 用於測試階段

3.1 定義測試準則

在軟體測試

階段,最重要的是保證**的所有路徑都被充分的覆蓋 [4,5] 。只有那些,經過充分測試的軟體才是可信的。特別是高可靠性的軟體。

為保證測試的有效性,必須客觀地定義可量化的準則和策略以判斷何時結束測試階段。

logiscope推薦對指令(ib)、邏輯路徑(ddp)和呼叫路徑(ppp)的覆蓋測試。此外對安全-關鍵軟體還提供了mc/dc的覆蓋測試[5]。

3.2 測試的有效性

testchecker 允許所有的測試執行依據其有效性進行管理。使用者可以減少那些用於非回歸測試的測試。

3.3 測試的優化

在測試階段的第一步,執行的測試是功能性(黑箱)測試。其目的是檢查所期望的功能是否已實現。在測試初期,覆蓋率會迅速增加。象樣的測試工作一般能達到70%的覆蓋率。但是,要提高此比率是十分困難的。主要是由於測試用例覆蓋了相同的測試路徑。這時,需要對測試策略做一些改變。執行結構化(白箱)測試,即,要檢測沒有執行過的邏輯路徑,定義新的測試用例覆蓋這些路徑。

在執行測試期間,當測試策略改變時,綜合的運用 testchecker 檢測關鍵因素以提高效率。將testchecker與audit配合使用能夠幫助使用者分析未測試的**。

使用者可以顯示所關心的**,並通過對執行未覆蓋的路徑的觀察得到有關的資訊。資訊以圖形(控制流圖)和文字(偽**和原始檔)的形式提交,並在其間建立導航關聯。

testchecker 管理系統宣告新的測試、生成有關文件、定義啟動命令、以及自動執行的方法。

4 logiscope 用於維護階段

人們廣泛的認識到應用系統的維護費用與開發費用基本相等。經驗表明50%的軟體維護時間化在對結構、邏輯和執行的理解上。

logiscope可以大大的減少對未知系統的理解所需的時間。

audit 將應用系統的框架以檔案形式(部件檔案間的關係)和呼叫圖的形式(函式和過程間的關係)視覺化。

函式的邏輯結構以控制流圖的形式顯示。在控制流圖上選定乙個節點,即可得到相對應的**。

行分析,不同層次間的導航,促進對整體的理解。

5 對嵌入式領域的支援

logiscope支援多種測試方式。特別是對嵌入式領域軟體的支援。

logiscope很好地解決了這些技術,成為嵌入式領域

測試工具的佼佼者。它支援各種實時作業系統(rtos)上的應用程式的測試,也支援邏輯系統的測試。其工作原理圖如下:

logiscope 提供 vxworks 、 psos 、 vrtx 實時作業系統的測試庫。

6 對航空 / 航天 / 國防 / 核電站領域的支援

在航空 / 航天領域,安全是最關鍵的問題。因此,歐美的航空 / 航天製造廠商和使用單位聯合制定了 rtca/do-178b[5] 。 logiscope 通過對「 reviews and analysis of the source code 」 和「 structural coverage analysis 」能夠使開發的軟體達到 rtca/do-178b

標準的 a 、 b 、 c 三個系統級。

logiscope 是第乙個提供 mc/dc(modified condition/decision coverage) 測試的工具。

verilog 公司另乙個產品 scade 是完全支援 rtca/do-178b 、 iec1508[6] 、 iec880[7] 的工具。將 scade 和 logiscope 配置成生產線,確保航空 / 航天安全關鍵系統的軟體安全可靠。

7. 軟體文件和測試文件的自動生成

logiscope 提供了文件自動生成工具。使用者可以將**評審的結果和動態測試情況實時生成所要求的文件,這些文件忠實地記錄**的情況和動態測試的結果。文件的格式可以根據使用者的需要定製,如, gjb-438a[8] 。因此:

1) 避免了**和文件的不一致性;

2) 避免測試結果和測試報告的不一致性;

3) 減輕了開發人員和測試人員編寫文件的工作。

8 總結

logiscope 的使用能夠在最短的時間內,提高軟的質量和效率。

logiscope 在開發階段,查詢可尋找潛在的錯誤。

在**評審階段, logiscope 定位那些具有 80% 錯誤的程式模組。

通過對未被測試**的定位, logiscope 幫助找到隱藏在未測試**中的缺陷。

專案領導和質量工程師用 logiscope 定期地檢查整個軟體的質量。

在各個階段用 logiscope ,改進軟體工程的實踐,訓練程式設計師的編寫良好的**和測試活動,確保系統易於維護,減少風險。

在有合同關係時,合同方可以用 logiscope 明確定義驗收時質量等級和執行測試。承製方可以用 logiscope 演示其軟體的質量。

logiscope 獲取 iso/iec9126 定義的「 quality characteristics 」;

logiscope 為 iso-9001[9] 提供需求( test acceptance criteria and qulity records ) ;

logiscope 為開發者提供 sei/cmm[10] 在第 2 級( repeatable )所要求的軟體質量跟蹤等關鍵實踐的要求,推進開發組織盡快達到 sei/smm 的 3 級。

嵌入式軟體測試工具和測試方法

摘要 軟體測試的目的是保證軟體滿足需求規格說明。嵌入式軟體有其特殊的失效判定準則,但是,嵌入式軟體測試的目的與非嵌入式軟體是相同的。在嵌入式系統設計中,軟體正越來越多地取代硬體,以降低系統的成本,獲得更大的靈活性,這就需要使用更好的軟體測試方法和軟體測試工具進行嵌入式和實時軟體測試。本文討論可應用於...

Tessy 嵌入式軟體單元測試 整合測試工具

tessy 源自戴姆勒 賓士公司的軟體技術實驗室,由德國hitex 公司負責全球銷售及技術支援服務,是一款針對嵌入式軟體進行單元 整合測試的工具。它可以對c c 進行單元 整合測試,可以自動化搭建測試環境 執行測試 評估測試結果並生成測試報告,其多樣化的測試用例匯入生成方式和與測試需求關聯的特色,使...

嵌入式軟體測試

嵌入式軟體測試 嵌入式軟體測試 嵌入式測試或叫交叉測試 cross test 的日的與非嵌入式軟體是相同的。但是,在嵌入式系統設計中,軟體正越來越多地取代硬體,以降低系統的成本,獲得更大的靈活性,這就需要使用更好的測試方法和工具進行嵌入式和實時軟體的測試。通常嵌入式系統對可靠性的要求比較高。嵌入式系...