亚洲AV无码成H人动漫电影,免费H动漫无码AV动漫网站,亚洲H精品动漫在线观看

<optgroup id="bhqxm"></optgroup><ruby id="bhqxm"><font id="bhqxm"></font></ruby>

    <ol id="bhqxm"></ol>

    <span id="bhqxm"><output id="bhqxm"></output></span>

    <optgroup id="bhqxm"><em id="bhqxm"><del id="bhqxm"></del></em></optgroup>

      1. 什么是測試覆蓋率?

        顧名思義,軟件測試對被測程序的測試范圍的度量指標,用以評價測試的完全程度。最常用的測試覆蓋率評測方法是基于需求的測試覆蓋率和基于代碼的測試覆蓋率。

        基于需求的測試覆蓋率,不難理解就是指一條設計需求至少有一個測試用例對其進行驗證。實際評測中有兩種方法,一種是設計需求所對應的測試用例執行后即認定獲得對該條需求的測試覆蓋,也可以只將執行通過了的測試用例所對應的需求認定為被覆蓋,通常二者均可被接受?;谛枨蟮臏y試覆蓋率的高低主要取決于,測試人員是否對每一條設計需求都有針對性地創建和執行測試用例。

        基于代碼的測試覆蓋率,則是從代碼層面度量測試執行范圍的指標,通過統計有多少/哪些代碼在測試中被執行到了來衡量測試的完全度。按照統計的準則的不一樣,往往分為語句覆蓋、分支覆蓋、修正的條件/分支覆蓋(MC/DC)、函數覆蓋和函數調用覆蓋等多種測試覆蓋率類型?;诖a的測試覆蓋率提供了對測試完全度更精確的量化指標。

        為什么要統計測試覆蓋率? 

        簡言之,測試覆蓋率是通過量化“軟件哪里有被測試過,哪里沒有被測試過”來保證測試的完全性。誠然,沒有完美的軟件,也沒有100%充分的測試用例,但用戶至少可以通過測試覆蓋率指標來評價測試的完全度是否達到了預期 –– 很顯然,測試工作結束后,若是依然有為數眾多的需求或者代碼都未被測試覆蓋到,將是一件需要被謹慎對待的事情。

        所以,對于有較高可靠性或安全性的軟件系統來說,通過評價測試覆蓋率來提高測試的質量是非常有效且有必要的手段。

        另一方面,無論是功能安全SIL/ASIL,還是適航認證,所執行的IEC 61508/ En 5018/ ISO 26262/ DO-178B, DO-178C標準中都對軟件的測試覆蓋率做了明確的要求。如下圖SIL認證要求所示:

        測試覆蓋率-1

        -- HR: Highly Recommended

        -- R: Recommended

        Entry Points Coverage: 入口點覆蓋。最基本的測試覆蓋率類型,現在在很多行業中更多地被以‘函數覆蓋’和‘函數調用覆蓋’的標準被執行,要求軟件中所包含的函數至少有被執行和調用到,避免測試的明顯遺漏或出現榮譽代碼。 

        Statement Coverage: 語句覆蓋。SIL Level 2, ASIL Level B, DO-178B, DO-178C Level C以上等級的認證都要求軟件測試達到語句覆蓋,以保證每個可執行的代碼行在測試中至少被執行了一次。比如下面的語句只要一個測試用例即可以滿足該語句被測試覆蓋到。

        if((a || b) && c)

        Brach Coverage: 分支覆蓋。 SIL Level 3, ASIL Level C, DO-178B, DO-178C Level B及以上等級要求測試的分支覆蓋,集中在每個分支判定語句 -- 判定結果可以是TRUE或FALSE,以保證每個分支至少被遍歷一次。還是下面的if語句為例:

        if((a || b) && c)

        為了滿足該語句的分支覆蓋率,至少需要2個測試用例來分別覆蓋它的TRUE和FALSE這兩個分支。所以我們在設計測試用例的時候需要考慮if語句中的判定條件,創造符合要求的測試輸入參數。

        MC/DC Coverage: 修正的條件/分支覆蓋率。SIL Level 4, ASIL Level D, DO-178B, DO-178C Level A或和核安全級等最高安全等級的標準,除了要求以上測試覆蓋率以外,還會要求MC/DC覆蓋率。它是要求更高的測試覆蓋率,更苛刻的覆蓋條件。MC/DC覆蓋率要求條件判定語句中的每個子條件都獨立地影響條件判定結果。換句話說,條件判定語句中的每個子條件都在其它條件不變的情況下改變了條件判定結果。舉個例子,

        if((a || b) && c)

        為了滿足上面的包含a, b, c三個子條件的if條件判定語句的MC/DC覆蓋率,我們需要設計至少4個(n+1)個測試用例,組成3對測試用例,讓a, b, c分別獨立地影響判定結果。如下圖所示。

        測試覆蓋率-2

                                                                                                                        圖:MC/DC條件對

        即便是最有經驗的測試工程師,要完成這個任務都是不容易的。所以MC/DC覆蓋率一般只會在最高安全等級要求的項目,即軟件錯誤可能造成眾多人員死亡且發生概率不低的系統中被強制要求。


        難點和挑戰

        • 統計代碼測試覆蓋率勢必要對測試代碼進行插裝,而插裝膨脹率太大、或者編譯器不兼容、或者插裝算法不成熟,都會導致插裝后無法正常編譯或者運行

        • 只能統計上位機軟件的測試覆蓋率,無法支持嵌入式式環境

        • 只能統計單一測試環節的測試覆蓋率,比如僅支持單元測試的覆蓋率,無法統計系統測試覆蓋率

        • 多次測試執行的測試覆蓋率無法累加,需要重復集中執行

        • 測試覆蓋率報告不直觀、不易理解

        解決方案

        • 基于需求的測試覆蓋率和追溯關系。通過建立設計需求與測試用例的追溯管理來保證,“基于需求的測試”用例對需求的完整覆蓋

        • 自動統計單元測試、集成測試等模塊級別的測試覆蓋率

        • 自動統計系統功能測試的測試覆蓋率

        • 支持不同級別的測試環節之間的測試覆蓋率疊加及增量分析

        • 完美支持各種嵌入式目標機環境和上位機平臺

        • 統計語句覆蓋、分支覆蓋、MC/DC覆蓋、函數覆蓋和函數調用覆蓋等常用的測試覆蓋率類型

        • 運行時的動態測試覆蓋率統計

        • 動畫回放測試覆蓋過程

        • 完全符合適航和功能安全等高可靠性行業認證標準的解決方案

        相關資源

        • 白皮書

        • 新聞資訊

        • 通過確保測試的完整性控制產品質量_白皮書

          點擊下載

        • 如何評估嵌入式軟件測試工具_白皮書

          點擊下載

        • 如何開發高質量的軟件_白皮書

          點擊下載

        • 人工分析覆蓋率_白皮書

          點擊下載

        • 利用Wind River VxWorks7實現自動化軟件測試_白皮書

          點擊下載

        • 2015軟件測試技術報告_白皮書

          點擊下載

        RELATED RESOURCES

        下載申請

        是否需要技術支持

        驗證碼

        溫馨提示:

        我們將通過電子郵件向您發送下載地址,請核對您填寫的工作郵箱是否正確。

        提 交

        亚洲AV无码成H人动漫电影,免费H动漫无码AV动漫网站,亚洲H精品动漫在线观看