<rp id="wyibn"></rp>

      <dd id="wyibn"></dd>
    1. 立即登錄

      如果您已經擁有本站賬號,可以直接登錄。

      *為必填項注冊新會員

      • 登錄名: *  
      • 登錄密碼: *
      • 重復密碼: *  
      • 姓名: *  
      • 公司名稱: *  
      • 職務:
      • 聯系電話: *  
      • 電子郵件: *  
      • 驗證碼: *  

      立即登錄

      如果您已經擁有本站賬號,可以直接登錄。

      *為必填項找回密碼

      • 注冊郵箱:

        驗證碼會以郵件的方式發送到您的郵箱!

      • 驗證碼: *
      • 請輸入新密碼: *

      安全關鍵系統集成研制環境ASIDE

      提供軟件全生命周期研制、管理和審定的綜合支持

      SA-Covalyzer 軟件耦合覆蓋分析工具

      您的位置: 首頁 > 產品中心 > SA-Covalyzer 軟件耦合覆蓋分析工具

      SA-Covalyzer 軟件耦合覆蓋分析工具


      在航空航天、核電、軌道交通、汽車電子等高安全領域,對軟件測試的充分性提出了明確且嚴格的要求,包括需求覆蓋、結構覆蓋、耦合覆蓋等方面。其中,不容忽視的是通過軟件集成測試實現對軟件部件間耦合關系的覆蓋,涉及到軟件部件間的控制交互(控制耦合)、數據傳遞(數據耦合)。


      如何評估測試對軟件部件耦合覆蓋的充分性,成為了業界普遍關注的焦點。


      航空:DO-178C 對控制耦合與數據耦合的測試覆蓋要求


      DO-178B/C目標A7-8明確要求A、B、C級軟件應進行數據耦合和控制耦合測試覆蓋分析。




      DO-178B中6.4.4.2.c節要求覆蓋分析應當確認軟件部件之間的數據耦合和控制耦合。而DO-178C第6.4.4.2.c則更進一步,明確了該分析應該 結合基于需求的測試 確認測試執行了代碼部件之間的耦合關系。


      這個澄清提出了新要求,即能夠結合基于需求的測試評估部件之間的耦合關系的覆蓋程度。工程人員一方面需要適應新的適航要求,確保順利通過適航審定;另一方面,也需要充分利用合適的工具,在滿足適航要求的前提下,提升效率,降低成本。


      核電:IEC-60880 對軟件部件耦合的測試覆蓋要求


      IEC-60880第8.2.3節明確指出,應通過模塊集成測試來表明所有模塊能夠正確交互,以實現預期的功能。并在E.4.2.5指出,在集成測試中,每個模塊至少被調用一次、每個調用至少被測試一次,以檢測模塊間不正確的控制流和數據流。




      軌道交通:EN50128 對軟件部件級測試覆蓋的要求


      EN50128-2011 Table A.21提出了針對測試覆蓋的要求,對于SIL 3和SIL 4要求完成部件級測試覆蓋,需要考慮分支、組合條件、數據流、路徑等準則。





      汽車電子:ISO26262 對軟件部件耦合的測試覆蓋要求


      在ISO26262-6 第10章關于軟件集成與驗證章節中,明確提出應當提供證據表明集成后的軟件模塊/部件能夠滿足軟件架構中的相應需求。根據10.4.2節 Table 10,軟件集成驗證的首選方法即為基于需求的測試。


      進而在10.4.5節提出,為了評估測試用例的完整性、并表明集成測試的充分性,應當開展軟件架構級別的結構覆蓋分析。不同于軟件單元級的覆蓋率準則(語句覆蓋、分支覆蓋、MC/DC),軟件架構級覆蓋主要關注軟件部件的覆蓋、以及部件間調用關系的覆蓋。Table 12 列出了軟件架構級結構覆蓋方法,如下:





      從具體實踐上,上述內容的兩個隱含的要求是:

      1) 軟件架構的結構覆蓋是基于軟件部件(完成特定功能的軟件子程序)的,而不等價于一個代碼文件,或多個代碼文件的組合;

      2) 軟件架構的結構覆蓋率是通過基于需求的測試執行獲得的,不能僅僅通過使用靜態分析方法獲得。


      現狀及問題


      目前有少量工具聲稱能夠收集軟件架構級的覆蓋率。但遺憾的是,這些工具強烈的使用約束大大限制了其實際的工程應用,例如:


      軟件部件的定義問題


      軟件架構的測試覆蓋要求在軟件部件之間開展測試充分性分析。在現有工具中,有的工具默認一個C文件就是一個軟件部件;有的工具允許用戶把多個C文件組合定義成為一個部件。事實上,一個軟件部件不一定是一個C文件,也不一定是多個C文件的組合,而是密切相關、高度內聚的軟件功能的組合。


      軟件部件間的耦合分析不充分


      現有工具通常只能實現粗略的耦合分析,如函數調用(控制耦合)、全局變量的讀寫異常(數據耦合)等。而實際工程中,部件間的耦合涵蓋了更細致、更復雜的內容,如函數調用時的參數類型一致性、數據的先讀后寫和先寫后讀、數據的輪流寫入等等。


      SA-Covalyzer解決方案


      SA-Covalyzer (Software Architecture based COVerage anALYZER)為實現軟件架構的測試覆蓋分析,提高測試充分性,提供了一套完善的解決方案。


      SA-Covalyzer支持軟件部件的定義,自動識別部件間的耦合關系,推薦適用的覆蓋準則,針對覆蓋點進行低膨脹率的插樁,在測試過程中收集、累積和統計覆蓋情況,對未覆蓋到的情形進行輔助分析,并自動生成覆蓋分析報告。


      軟件部件的定義

      SA-Covalyzer允許用戶以自然而直觀的方式,根據軟件架構來定義軟件部件。部件的定義支持“By File”和“By Function”兩種粒度。


      耦合關系的識別

      定義好軟件部件以后,SA-Covalyzer使用專利技術自動識別各個軟件部件之間的耦合關系(如調用、讀寫、寫寫等)。


      覆蓋準則定義

      針對每一個自動識別出的耦合關系,SA-Covalyzer為其推薦適用的覆蓋準則,用戶可以基于耦合關系實際的功能特性酌情選用。


      源代碼插樁

      根據耦合分析結果,SA-Covalyzer對源代碼進行插樁。SA-Covalyzer同樣使用最新的專利技術對源代碼進行低膨脹率插樁。


      收集覆蓋率

      SA-Covalyzer使用靈活的方式收集覆蓋率,支持自動化測試、手工測試、混合測試。SA-Covalyzer也支持分批次收集覆蓋并進行累積。


      覆蓋結果展示與分析

      SA-Covalyzer能夠以直觀地展示測試覆蓋結果,以高亮方式指出未覆蓋的耦合點;用戶可以對未覆蓋耦合點加以評注,或者完善代碼或用例,執行回歸分析。


      覆蓋報告生成

      SA-Covalyzer會自動生成全面的覆蓋分析報告,供用戶離線使用。






      上海愛韋訊信息技術股份有限公司 版權所有 滬ICP備13019901號-1 COPYRIGHT ? 2017SHAVIATION 郵政編碼:201203
      日本线在免费线播放,日本亚洲欧美在线视观看|日本一区二区