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