原創|使用教程|編輯:鄭恭琳|2020-12-10 13:55:14.237|閱讀 450 次
概述:軟件測試是軟件開發的組成部分。開發和執行代碼的每個行業都可以從使用結構化代碼覆蓋率測試工具中受益。這些工具在安全性至關重要的應用程序的嵌入式開發行業中特別有用,因為在這些應用程序中,軟件系統不會發生故障,否則將會喪生。Parasoft C/C++test 2020.2附帶了Coverage Advisor,可幫助用戶創建難以確定且耗時的難以理解的測試用例。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
軟件測試是軟件開發的組成部分。開發和執行代碼的每個行業都可以從使用結構化代碼覆蓋率測試工具中受益。這些工具在安全性至關重要的應用程序的嵌入式開發行業中特別有用,因為在這些應用程序中,軟件系統不會發生故障,否則將會喪生。Parasoft C/C++test 2020.2附帶了Coverage Advisor,可幫助用戶創建難以確定且耗時的難以理解的測試用例。
在嵌入式安全性和安全性至關重要的系統中獲得100%的代碼覆蓋率指標可以達到多種目的。主要目的是符合DO-178C,IEC 62304等工藝標準中定義的驗證和確認(V&V)要求。想要了解驗證和確認有什么區別?請閱讀另一篇文章:嵌入式軟件中的軟件驗證與軟件確認。
優點
代碼覆蓋率提供的值是一項附加的V&V活動,該活動可以清除代碼中的缺陷。它可以確保每行代碼都已執行,因此可以通過測試進行檢查。這為您提供了額外的代碼質量和可靠性安全網。
另外,如果您執行所有測試用例并僅獲得60%,則很顯然您沒有創建足夠的測試用例。結果,在這些未觸及的區域中可能會隱藏隱患。
另一個問題是“死代碼”。這意味著永遠不會執行的代碼,因為不存在任何途徑。當實現功能部件/功能時,可能會發生這種情況,但在某些時候,功能部件的要求已被刪除。如果您沒有完全刪除代碼,則可能會導致代碼失效。在函數或操作中查找無效代碼還會突出顯示必須解決的不良代碼邏輯。在這種情況下,無效代碼表示不存在可到達的邏輯路徑。
您可以通過各種測試方法或以下各項的組合來實現代碼覆蓋:
單元
集成
系統測試
如何滿足您的代碼覆蓋率要求
我參與了以下兩種方法,Parasoft輕松支持這些方法:
系統測試和單元測試的結合。首先,檢測代碼并執行所有系統測試用例,這將產生大量覆蓋率指標。最后,進行單元測試以覆蓋其余未發現的代碼。
利用單元測試實現100%的結構代碼覆蓋率。這種方法很簡單。用戶創建單元級別的測試用例,以確保覆蓋每個功能/操作。
代碼覆蓋率指標
有多種覆蓋率指標需要考慮。知道要應用哪種特定類型取決于IEC 61508中定義的軟件完整性級別(SIL)。另一個示例是DO-178B/C的設計保證級別(DAL)。對于嵌入式系統,引用的控制指標是語句、分支、修改后的條件決策覆蓋范圍(MC/DC),對于最嚴格的要求,還提供對象/組裝代碼。Parasoft支持收集所有這些覆蓋率指標,包括其他行業使用的術語,例如阻止、調用、功能、路徑、決策等。
圖1:指標和趨勢
Parasoft C/C++test在自動化獲取代碼覆蓋率的過程中極大地影響了生產力。首先是在自動測試用例生成中。通過單擊和選擇菜單,測試解決方案可以分析代碼并自動生成智能單元測試用例。然后可以執行這些單元測試用例。根據代碼大小和復雜性,團隊可以立即達到90%。
對于復雜的代碼,總是存在難以捉摸的代碼語句,因此很難獲得覆蓋。可能會有多個具有各種排列和可能路徑的輸入值,使它們難以理解且費時。但是只有一種組合可以為您提供所需的覆蓋范圍。Parasoft C/C++test 2020.2增強了其覆蓋率顧問,使其更易于獲得那些難以訪問的代碼行的覆蓋率。
如何在Coverage Advisor中獲得承保范圍
在編輯器中,右鍵單擊要覆蓋的代碼行,然后選擇Parasoft -> Show in Coverage Advisor。
圖2:在Coverage Advisor菜單中顯示
下面的圖3顯示了為用戶提供解決方案的分析報告。前提條件字段表示:
mainSensorSignal和coSensorSignal的范圍和輸入值
外部呼叫的預期輸出
使用這些設置的參數值和外部調用的存根創建單元測試用例后,用戶將獲得所選行的覆蓋率以及“預期覆蓋率”字段中表示的其他行。
圖3:Parasoft C/C++test 2020.2 Coverage Advisor線路覆蓋率分析反饋
在構建嵌入式安全性和安全性至關重要的軟件系統時,執行結構性代碼覆蓋是必要的。連同需求測試覆蓋范圍,它可以確保:
您創建了足夠的測試用例來測試您的軟件。
沒有任何無效代碼。
檢查每條生產線是否符合法規和認證要求。
Parasoft C/C++test是一個統一的測試解決方案,為團隊提供測試方法功能和自動化生產率功能,例如Coverage Advisor。使用此功能,開發人員可以快速實現其代碼覆蓋率目標。因此,軟件主管和經理可以實現上市時間、降低人工成本、審計保護措施以及簡化產品認證的業務目標。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn