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