LOGISCOPE是法國Telelogic公司推出的專用于軟件質量保證和軟件測試的產品。其主要功能是對軟件做質量分析和測試以保證軟件的質量,并可做認證、反向工程和維護,特別是針對要求高可靠性和高安全性的軟件項目和工程。 |
本產品應用于軟件的整個生命周期,它貫穿于軟件需求分析階段à設計階段->代碼開發(fā)階段->軟件測試階段(代碼審查、單元/集成測試和系統(tǒng)測試)->軟件維護階段的質量驗證要求。 |
在設計和開發(fā)階段,使用LOGISCOPE可以對軟件的體系結構和編碼進行確認。可以在盡可能的早期階段檢測那些關鍵部分,尋找潛在的錯誤,并在禁止更改和維護工作之前做更多的工作。在構造軟件的同時,就定義測試策略。可幫助編制符合企業(yè)標準的文檔,改進不同開發(fā)組之間的交流;在測試階段用LOGISCOPE,使測試更加有效。可針對軟件結構,度量測試覆蓋的完整性,評估測試效率,確保滿足要求的測試等級。特別是,LOGISCOPE還可以自動生成相應的測試分析報告;在軟件的維護階段,用LOGISCOPE驗證已有的軟件是否是質量已得到保證的軟件,對于狀態(tài)不確定的軟件,LOGISCOPE可以迅速提交軟件質量的評估報告,大幅度地減少理解性工作,避免非受控修改引發(fā)的錯誤。 |
本產品的最終目的是評估和提高軟件的質量等級,采用基于國際間的標準度量方法(如Halstead、McCabe等)的質量模型對軟件進行分析,從軟件的編程規(guī)則,靜態(tài)特征和動態(tài)測試覆蓋等多個方面,量化地定義質量模型,并檢查、評估軟件質量。 |
● LOGISCOPE 獲取ISO/IEC9126 定義的"Quality Characteristics "; |
● LOGISCOPE 為ISO-9001提供需求(test acceptance criteria and qulity records ),自動確定ISO9001認證過程的任務; |
● LOGISCOPE 提供SEI/CMM在第2 級(Repeatable )所要求的軟件質量跟蹤等關鍵實踐的要求,推進開發(fā)組織盡快達到SEI/CMM 的3級。 |
● 在有合同關系時,合同方可以用LOGISCOPE 明確定義驗收時質量等級和執(zhí)行測試。承制方可以用LOGISCOPE 驗證其軟件的質量。 |
● 對所有的開發(fā)者提供確保代碼質量和進行有效測試的方法 |
● 對項目管理者和質量工程師提供對整個項目進行制度化的測試和評估。 |
1 完美的開發(fā)環(huán)境集成,很容易訪問和運行LOGISCOPE; |
3 當達到要求的測試等級時,軟件才可以離開測試階段; |
6 質量工程師可以把項目作為一個整體,自動編寫詳細的報告。 |
目前,LOGISCOPE產品在全世界的26個國家的眾多國際知名企業(yè)得到了廣泛的應用,其用戶涉及通訊、電子、航空、國防、汽車、運輸、能源及工業(yè)過程控制等眾多領域。現(xiàn)簡單介紹如下: |
● 歐洲的衛(wèi)星生產廠商Matla Marconi Space; |
● 航空航天領域有Aérospatiale, Alcatel Space, Boeing, CNES, Northrop Grumman等國際著名公司; |
● RuleChecker 語法規(guī)則分析功能; |
● TestChecker 動態(tài)測試功能。 |
本產品采用的是包括軟件質量標準化組織制定的ISO9126模型在內的質量模型。質量模型描述了從Halstend、McCabe的質量方法學引入的質量因素、質量準則和質量度量元。即本模型是一個三層的結構組織: |
質量因素是從用戶角度出發(fā),對軟件的質量特性進行總體評估;質量準則從軟件設計者角度出發(fā),設計為保障質量因素所必須遵循的法則;質量度量元從軟件測試者角度出發(fā),驗證是否遵循質量準則。一個質量因素由一組質量準則來評估;一個質量準則由一組質量度量元來驗證。其關系如圖所示。 |
LOGISCOPE從系統(tǒng)[Application]、類[Class]和函數(shù)[Function]三個層次詳細規(guī)定了上述質量特性及其組成關系。以C++程序的類層為例: |
靜態(tài)分析Audit部件將軟件與所選的質量模型進行比較,生成軟件質量分析報告。顯示軟件質量等級的概要圖形表示,因此可以把精力集中到需要修改的代碼部分。對度量元素和質量模型不一致的地方作出解釋并提出糾正的方法。通過對軟件質量進行評估及生成控制流圖和調用圖,發(fā)現(xiàn)最大可能發(fā)生錯誤的部分。一旦發(fā)現(xiàn)這些部分,可以使用度量元及控制流圖、調用圖等手段做進一步分析。 |
LOGISCOPE根據(jù)質量模型,生成相應的軟件質量分析報告(HTML形式)。 |
可清楚分析和觀察每個類或方法中的質量度量元的數(shù)值,判斷其是否合法。 |
可清楚分析和判斷各質量因素所含有的質量準則的數(shù)值和合格性。 |
針對系統(tǒng)層、類層和函數(shù)層,分別分析質量因素的合格性和所占百分比。 |
控制流圖顯示算法的邏輯路徑。其圖形表示適用于評價函數(shù)的復雜性。 |
調用圖顯示過程和函數(shù)之間的關系,非常適用于檢查應用系統(tǒng)的設計。 |
Kiviat圖使質量等級與所選擇的參考之間的一致性對比更加可視化。 |
LOGISCOPE提供編碼規(guī)則與命名檢驗,這些規(guī)則是根據(jù)業(yè)界標準和經驗所制訂。因此可建立企業(yè)可共同遵循的規(guī)則與標準,而避免自我不良的編程習慣及彼此不相容的困擾。同時LOGISCOPE還提供規(guī)則的裁剪和編輯功能,可以用Tcl、腳本和編程語言定義新的規(guī)則。 |
為控制測試的有效性,必須定義準則和策略以判斷何時結束測試階段。準則必須是客觀和可量化的元素。LOGISCOPE推薦對指令、邏輯路徑和調用路徑覆蓋測試。根據(jù)應用的準則和項目相關的約束,可以定義使用的度量方法和要達到的覆蓋率,度量測試的有效性。 |
TestChecker產生每個測試的測試覆蓋信息和累計信息。用直方圖顯示覆蓋比率,并根據(jù)測試運行情況實時更改。隨時顯示新的測試所反映的測試覆蓋情況。TestChecker允許所有的測試運行依據(jù)其有效性進行管理。用戶可以減少那些用于非回歸測試的測試。被執(zhí)行過的函數(shù),一旦作了修改需要重新運行時,LOGISCOPE將會標出。優(yōu)化測試過程在測試階段的第一步,執(zhí)行的測試是功能性測試。其目的是檢查所期望的功能是否已實現(xiàn)。在測試初期,覆蓋比率迅速增加。象樣的測試工作一般能達到70%的覆蓋率。但是,要提高此比率是十分困難的。主要是由于測試覆蓋了相同的測試路徑。在該階段需要對測試策略做一些改變。應當執(zhí)行結構化測試,即,要檢測沒有執(zhí)行的邏輯路徑,定義適當?shù)臏y試覆蓋這些路徑。在測試執(zhí)行期間,當測試策略改變時,綜合的運用TestChecker檢測關鍵因素以提高效率。將TestChecker與靜態(tài)分析相互依賴使用能夠幫助用戶分析未測試的代碼。用戶可以顯示所關心的代碼,并通過對執(zhí)行未覆蓋的路徑的觀察得到有關的信息。信息以圖形(控制流圖)和文本(偽代碼和源文件)的形式提交,并在其間建立導航關聯(lián)。TestChecker管理系統(tǒng)能聲明新的測試、編制有關文檔、定義啟動命令、以及自動執(zhí)行的方法。 |
同時LOGISCOPE 支持對嵌入式領域軟件的測試。眾所周知,嵌入式系統(tǒng)軟件的測試是最為困難的。因為,它的開發(fā)是用交叉編譯方式進行的。在目標機(Target)上,不可能有多余的空間記錄測試的信息。必須實時地將測試信息通過網線/串口傳到宿主機(Host)上,并實時在線地顯示。因此,對源代碼的插裝和目標機上的信息收集與回傳成為問題的關鍵。LOGISCOPE 很好地解決了這些技術,成為嵌入式領域測試工具的佼佼者。它支持各種實時操作系統(tǒng)(RTOS)上的應用程序的測試,也支持邏輯系統(tǒng)的測試。Logiscope 提供VxWorks 、pSOS 、VRTX 實時操作系統(tǒng)的測試庫。 |
|