0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用于結(jié)構(gòu)覆蓋分析工具測(cè)試的基于源注釋的框架

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Olivier Hainque ? 2022-06-19 11:09 ? 次閱讀

軟件工具的自動(dòng)化測(cè)試總是需要某種方式來(lái)比較該工具的功能與我們期望的功能。例如,測(cè)試編譯器通常需要驗(yàn)證已編譯程序的行為、檢查編譯錯(cuò)誤消息或分析生成的機(jī)器代碼。對(duì)于靜態(tài)或動(dòng)態(tài)分析工具,這通常涉及檢查工具輸出是否有明確定義的輸入集。

下面介紹了一個(gè)為結(jié)構(gòu)覆蓋分析工具的內(nèi)部測(cè)試而開(kāi)發(fā)的框架,其中預(yù)期的覆蓋結(jié)果在源注釋中表示為注釋。該框架用于驗(yàn)證該工具是否可用于在航空電子領(lǐng)域具有嚴(yán)格認(rèn)證限制的多個(gè)安全關(guān)鍵軟件項(xiàng)目。

我們首先總結(jié)了需要支持的覆蓋標(biāo)準(zhǔn)和工具輸出格式,然后介紹了我們描述工具預(yù)期結(jié)果的方案的主要原則,并解釋了與基線輸出進(jìn)行比較相比的優(yōu)勢(shì)。

覆蓋標(biāo)準(zhǔn)和輸出報(bào)告格式

我們需要測(cè)試的代碼覆蓋率分析工具支持機(jī)載軟件DO-178C認(rèn)證標(biāo)準(zhǔn)定義的三種覆蓋率標(biāo)準(zhǔn):Statement Coverage、Decision Coverage和Modified Condition/Decision Coverage,通常稱為MC/DC[ 2]。它產(chǎn)生兩種輸出報(bào)告格式:

帶注釋的來(lái)源,從要分析的來(lái)源生成,行前綴為行號(hào)和覆蓋結(jié)果指示;

一份文本報(bào)告,列出違反需要評(píng)估的覆蓋標(biāo)準(zhǔn)的情況。

圖 1 中的摘錄顯示了一個(gè)帶注釋的源結(jié)果示例,該結(jié)果由該工具對(duì)僅調(diào)用一次的 Ada 函數(shù)執(zhí)行決策覆蓋率評(píng)估,其值 X 大于 Max 參數(shù)。

poYBAGKuk4qASb1RAABgXqKWFsE414.png

【圖1 | 此處顯示的是結(jié)構(gòu)覆蓋分析工具對(duì) Ada 函數(shù)執(zhí)行的決策覆蓋評(píng)估的示例注釋源結(jié)果。]

每行開(kāi)頭的信息是顯示覆蓋結(jié)果的工具輸出?!?#”文本是原始源中的特殊注釋(Ada 中的注釋以“-”開(kāi)頭)被框架識(shí)別為引入標(biāo)簽,允許用戶表示預(yù)期覆蓋結(jié)果的行,稍后將對(duì)此進(jìn)行描述。

在 DO-178C 用語(yǔ)中,布爾表達(dá)式(例如控制 if 語(yǔ)句的表達(dá)式)稱為決策,實(shí)現(xiàn)決策覆蓋需要測(cè)試評(píng)估每個(gè)決策 True 至少一次,F(xiàn)alse 至少一次,此外還要執(zhí)行每個(gè)源語(yǔ)句。

在手頭的示例中,控制 if 語(yǔ)句的決策僅被評(píng)估一次,對(duì)于 X 》 Max 的布爾值 False。因此,該決定僅被部分覆蓋,并且從不執(zhí)行第 4 行的 return 語(yǔ)句。這是由“!”傳達(dá)的。和第 3 行和第 4 行的行號(hào)旁邊的“-”字符,以及第 6 行的“+”注釋,表明那里的 return 語(yǔ)句的正確覆蓋。

此評(píng)估的另一種輸出格式,一個(gè)列出與標(biāo)準(zhǔn)相關(guān)的覆蓋違規(guī)的文本報(bào)告,將包括如圖 2 中的消息,其中第一部分是文件名:行號(hào):列號(hào)源位置一致帶有帶注釋的源結(jié)果。

pYYBAGKuk5GAAoK0AABICYL_r8Q703.png

【圖2 | 此處顯示了結(jié)構(gòu)覆蓋分析工具對(duì) Ada 函數(shù)執(zhí)行的決策覆蓋評(píng)估的文本報(bào)告中生成的消息。]

陳述基本的預(yù)期覆蓋結(jié)果

在上一節(jié)中,說(shuō)明了該工具的實(shí)際覆蓋結(jié)果是什么樣的。接下來(lái)將描述測(cè)試編寫人員如何指定給定測(cè)試場(chǎng)景的預(yù)期結(jié)果。

該工具的主要目標(biāo)是讓測(cè)試人員使用正在測(cè)試的源代碼有效地陳述期望,同時(shí)抽象出報(bào)告格式細(xì)節(jié)。它還鼓勵(lì)積極思考測(cè)試的預(yù)期結(jié)果應(yīng)該是什么。

該工具將測(cè)試定義為三類源文件的組合:

功能源,這是測(cè)試人員想要評(píng)估并檢查結(jié)果是否符合覆蓋工具要求的代碼;

驅(qū)動(dòng)程序源,以特定方式調(diào)用功能代碼,具有精確的覆蓋目標(biāo);

和helper sources,它們只是為了完整性而需要的,不需要覆蓋分析。

然后,預(yù)期的覆蓋結(jié)果在驅(qū)動(dòng)程序源中以特殊格式的注釋表示,指的是功能源中也由特殊格式的注釋標(biāo)記的行。

前面介紹的 In_Range 示例函數(shù)顯示了引入標(biāo)簽的特殊注釋的實(shí)例。例如,“expr_eval”標(biāo)簽允許表示對(duì)決策表達(dá)式求值的行。給定的標(biāo)簽可能出現(xiàn)在多行上。

描述驅(qū)動(dòng)程序源中預(yù)期覆蓋結(jié)果的特殊注釋是注釋序列,如圖 3 所示,其中“xp”代表“預(yù)期”。第一行標(biāo)記了名為functional-source-filename的功能源的預(yù)期結(jié)果的開(kāi)始。/tag1/行聲明了對(duì)該源代碼中所有標(biāo)記為tag1的源代碼行的期望。xp-source-line-note傳達(dá)這些行的注釋源輸出格式中預(yù)期的覆蓋指示字符(所有行的注釋相同),xp-violation-notes傳達(dá)文本報(bào)告格式中預(yù)期的一組違規(guī)消息這些行(所有行的設(shè)置相同)。

poYBAGKuk5eAZAAfAAA2XQIFFt0676.png

【圖3 | 此處顯示了用于在示例 Ada 函數(shù)上執(zhí)行的結(jié)構(gòu)覆蓋分析評(píng)估的驅(qū)動(dòng)程序源中描述預(yù)期覆蓋結(jié)果的特殊注釋。]

一個(gè)驅(qū)動(dòng)程序源可能包含幾個(gè)/tag/行用于給定的功能源和對(duì)多個(gè)功能源的期望。

在/tag/行上,可以使用短標(biāo)識(shí)符以緊湊的方式表示各種可能的覆蓋指示。例如,“l(fā)+”、“l(fā)-”或“l(fā)!”可用于xp-source-line-note以表示預(yù)期的“+”、“-”或“!” 分別在帶注釋的源行上的覆蓋率指示。對(duì)于xp-violation-notes,例如,在所有可能性中,“s-”表示預(yù)期的“從未執(zhí)行過(guò)的語(yǔ)句”違規(guī),或“dF-”表示“從未執(zhí)行過(guò)的決策結(jié)果假”違規(guī)。

圖 4 顯示了驅(qū)動(dòng)程序源的草圖,以說(shuō)明對(duì)提供 In_Range 函數(shù)(名為 in_range.adb)的源文件進(jìn)行決策覆蓋測(cè)試。此驅(qū)動(dòng)程序?qū)崿F(xiàn)了之前用于說(shuō)明輸出報(bào)告格式的執(zhí)行場(chǎng)景,使用 X 》 Max 調(diào)用一次 In_Range 函數(shù):

pYYBAGKuk52AHotmAAB7XZh1ra4935.png

【圖4 | 此驅(qū)動(dòng)程序源草圖說(shuō)明了對(duì)提供 In_Range 函數(shù) (in_range.adb) 的源文件的決策覆蓋測(cè)試,其中該函數(shù)使用 X 》 Max 調(diào)用一次,如上一個(gè)評(píng)估示例中所示。]

/expr_eval/ 行說(shuō)明了 in_range.adb 中標(biāo)記為“expr_eval”的行集的預(yù)期覆蓋結(jié)果。在示例中,這是對(duì)決策進(jìn)行評(píng)估的單行(此特定驅(qū)動(dòng)程序僅對(duì) False 一次),因此注釋行(l?。┥系牟糠指采w指示和“決策結(jié)果為 True 未執(zhí)行”違規(guī)診斷文本報(bào)告(dT-)應(yīng)該是預(yù)期的。

/expr_true/ 和 /expr_false/ 行聲明了標(biāo)記為“expr_true”和“expr_false”的源行的預(yù)期覆蓋結(jié)果,選擇這些標(biāo)簽來(lái)表示當(dāng)決策評(píng)估為 True 或 False 時(shí)執(zhí)行的語(yǔ)句的行。用作“expr_false”的xp-violations-notes的“0”表示一個(gè)空集,這意味著文本報(bào)告中的這些行不會(huì)違反預(yù)期。這與注釋源格式中“+”的預(yù)期一致(l+ 作為xp-source-line-note),對(duì)應(yīng)于行上所有項(xiàng)目的完全覆蓋(在示例中,單個(gè) return 語(yǔ)句單行)由執(zhí)行場(chǎng)景強(qiáng)制執(zhí)行。

這些期望與初始示例中顯示的實(shí)際結(jié)果完全一致;使用結(jié)構(gòu)覆蓋分析工具測(cè)試框架,該測(cè)試將“通過(guò)”。

高級(jí)期望

上一節(jié)展示了預(yù)期工具行為的基本公式示例,無(wú)條件并引用整行。然而,允許針對(duì)目標(biāo)標(biāo)準(zhǔn)集的完整測(cè)試套件需要開(kāi)發(fā)許多高級(jí)功能。

最迫切的需求是在xp-violation-notes中提供精確的源位置,以允許在可以合理地預(yù)期該行上的不同項(xiàng)目的不同診斷時(shí)引用該行的特定部分。

例如,在評(píng)估 MC/DC 時(shí),工具診斷指的是布爾表達(dá)式中的特定操作數(shù)( DO-178C 術(shù)語(yǔ)中的決策中的條件),并且大多數(shù)編碼標(biāo)準(zhǔn)允許布爾表達(dá)式在同一行上具有多個(gè)操作數(shù)。測(cè)試人員必須能夠指定預(yù)期覆蓋診斷的線路上的特定條件。其他條件也有類似的需求,例如,當(dāng)多個(gè)語(yǔ)句共享同一源代碼行時(shí),使用語(yǔ)句覆蓋率,或者當(dāng)表達(dá)式中涉及嵌套決策時(shí),使用決策覆蓋率。

這通過(guò)在違規(guī)指示符末尾使用以下形式的擴(kuò)展來(lái)支持:“行摘錄”,如以下示例期望行,用于對(duì)示例 In_Range 函數(shù)進(jìn)行 MC/DC 評(píng)估的假設(shè)測(cè)試。c?。骸癤 》= Min”表示我們期望不完整的條件覆蓋診斷 (c!) 指定行的“X 》= Min”部分,這只是決策的第一個(gè)操作數(shù)(圖 5)。

pYYBAGKuk6eAEuxkAAAYsUKuj5U733.png

【圖5 | 此處的示例期望線描述了對(duì)先前使用的 In_Range 函數(shù)示例的假設(shè)測(cè)試,其中 c?。?“X 》= Min” 表示對(duì)該行的“X 》+ Min”部分的不完整條件覆蓋診斷的期望。]

引入了一些其他工具來(lái)支持,例如,單個(gè)語(yǔ)句跨越多行的情況,對(duì)于不同版本的工具或編譯工具鏈的期望不同,或者使用通用驅(qū)動(dòng)程序來(lái)評(píng)估多個(gè)覆蓋標(biāo)準(zhǔn)。確切的細(xì)節(jié)超出了本文的范圍。

執(zhí)行模型概述

工具測(cè)試框架下的通用執(zhí)行模型包括關(guān)于覆蓋結(jié)果指示集的推理,稱為覆蓋注釋。通過(guò)結(jié)合兩個(gè)獨(dú)立的方面來(lái)處理四種覆蓋筆記對(duì)象:筆記來(lái)源和筆記適用的輸出格式的種類。

關(guān)于音符來(lái)源,區(qū)分以下幾點(diǎn):

預(yù)期注釋,來(lái)自預(yù)期結(jié)果聲明,以及

發(fā)出的注釋,可在該工具生成的報(bào)告中找到。

關(guān)于輸出格式的種類,定義如下:

行注釋,用于注釋源中的覆蓋指示字符,以及

違規(guī)說(shuō)明,用于在覆蓋文本報(bào)告中發(fā)現(xiàn)的違規(guī)消息。

/tag/ line spec中的xp-source-line-note然后在內(nèi)部建模為預(yù)期的 line note對(duì)象。xp-violation-notes被建模為預(yù)期的違規(guī)注釋對(duì)象,并且從工具生成的覆蓋率報(bào)告中提取發(fā)出的線或發(fā)出的違規(guī)說(shuō)明對(duì)象。

本質(zhì)上,測(cè)試套件引擎為每個(gè)測(cè)試執(zhí)行以下步驟:

解析測(cè)試源以構(gòu)建預(yù)期的行和違規(guī)注釋集,每個(gè)功能源一組。引擎將驅(qū)動(dòng)程序源中的/tag/規(guī)范與功能源中的標(biāo)記行進(jìn)行匹配,并使用特定種類和源位置信息實(shí)例化單個(gè)注釋對(duì)象。

從源代碼構(gòu)建可執(zhí)行文件,執(zhí)行它,然后針對(duì)所需標(biāo)準(zhǔn)運(yùn)行覆蓋率分析工具,生成覆蓋率報(bào)告。

解析報(bào)告以構(gòu)建發(fā)出的行和違規(guī)注釋集。

將預(yù)期的行/違規(guī)注釋與發(fā)出的注釋匹配并報(bào)告差異。當(dāng)工具已根據(jù)評(píng)估的標(biāo)準(zhǔn)報(bào)告了所有預(yù)期的覆蓋率指示并且預(yù)期工具報(bào)告的所有覆蓋率偏差時(shí),測(cè)試通過(guò)。

方案的主要特點(diǎn)

該方案的一個(gè)重要特征是將測(cè)試的覆蓋結(jié)果期望從字面上放置在驅(qū)動(dòng)功能代碼如何執(zhí)行的源中,因此哪些部分被覆蓋以及覆蓋到什么程度。這使得驗(yàn)證測(cè)試代碼所做的事情和相應(yīng)的預(yù)期覆蓋結(jié)果之間的一致性變得很方便,并提供了一種直接的機(jī)制來(lái)通過(guò)源代碼中的注釋記錄兩者之間的聯(lián)系。

另一個(gè)關(guān)鍵方面是開(kāi)發(fā)一種專門的語(yǔ)法來(lái)描述期望,鼓勵(lì)測(cè)試作者積極思考預(yù)期的結(jié)果。這與使用與基線輸出進(jìn)行比較的方法不同,其中基線通常是通過(guò)使用工具生成輸出并驗(yàn)證輸出是否正確來(lái)獲得的。無(wú)法在此框架內(nèi)生成預(yù)期結(jié)果的規(guī)范。

基于 DejaGNU 框架 (www.gnu.org/software/dejagnu) 的一些測(cè)試套件變體中使用了類似的想法,例如 GCC 項(xiàng)目 (gcc.gnu.org) 使用的測(cè)試套件。

該方法對(duì)于測(cè)試套件的長(zhǎng)期維護(hù)也很有趣。首先,報(bào)告格式的任何變化都通過(guò)對(duì)測(cè)試套件執(zhí)行引擎的調(diào)整來(lái)處理,該引擎非常本地化且控制良好。這與面向基線的框架不同,其中報(bào)告格式的更改通常會(huì)導(dǎo)致對(duì)完整測(cè)試基線的調(diào)整,當(dāng)測(cè)試庫(kù)變大時(shí),這變得乏味且容易出錯(cuò)。其次,測(cè)試源維護(hù)也更容易,因?yàn)楦采w預(yù)期與指定線路在源中的相對(duì)位置完全脫節(jié)。例如,可以添加注釋或重新排序子程序,而無(wú)需更新預(yù)期結(jié)果。

該框架的主要缺點(diǎn)是專業(yè)化。它目前是為覆蓋分析工具量身定制的,并且代碼只支持最初開(kāi)發(fā)環(huán)境的工具。然而,可以在多個(gè)方向上進(jìn)行泛化。例如,已經(jīng)為 C 語(yǔ)言開(kāi)發(fā)了支持,并且可以根據(jù)客戶的需求為其他語(yǔ)言添加支持。當(dāng)該工具具有命令行界面時(shí),該框架還可以適用于其他覆蓋分析工具。在這方面沒(méi)有基本的限制。

抽象能力

允許指定行集的標(biāo)簽方案提供了比單獨(dú)的行命名工具更大的抽象,其中每個(gè)特定行都需要通過(guò)期望進(jìn)行機(jī)械匹配。實(shí)際上,/tag/ lines 中的標(biāo)簽被解釋為一個(gè)正則表達(dá)式,因此有很多強(qiáng)大的方法可以構(gòu)建精細(xì)的行集模式,并且仔細(xì)選擇標(biāo)簽可以幫助顯著簡(jiǎn)化預(yù)期結(jié)果的表達(dá)。在某種程度上,為測(cè)試設(shè)計(jì)一組標(biāo)簽可以被視為定義一種非?;镜奈⒄Z(yǔ)言來(lái)指定源代碼行集,從這個(gè)角度來(lái)看,標(biāo)簽方案提供了一種元語(yǔ)言,可以為每個(gè)測(cè)試實(shí)例化。

另一個(gè)級(jí)別的分解是通過(guò)在測(cè)試之間共享源的能力實(shí)現(xiàn)的,特別是對(duì)于功能慣用語(yǔ)的不同實(shí)現(xiàn)具有一組通用的驅(qū)動(dòng)程序源。

例如,考慮在 Ada 中測(cè)試工具在布爾表達(dá)式(如“A 然后 B”)上的正確行為的目標(biāo)。一個(gè)自然的起點(diǎn)是最簡(jiǎn)單的情況,其中 A 和 B 是簡(jiǎn)單的布爾變量,具有如圖 6 所示的功能代碼。

poYBAGKuk7KAMTaNAABtIE8jnlo834.png

【圖6 | 此處顯示的是使用 Ada 語(yǔ)言中的簡(jiǎn)單布爾表達(dá)式“A and then B”對(duì)結(jié)構(gòu)覆蓋分析工具的行為進(jìn)行的示例測(cè)試。]

為了練習(xí)圖 6 中的代碼,可以編寫一些驅(qū)動(dòng)程序,以不同的方式直接調(diào)用 Eval_Andthen 過(guò)程,一次或多次,將不同的值傳遞給 A 和 B,并相應(yīng)地說(shuō)明預(yù)期結(jié)果。

人們意識(shí)到,對(duì)于具有比基本布爾變量更復(fù)雜的操作數(shù)的功能代碼,額外的測(cè)試將是有意義的。如果這些測(cè)試是作為獨(dú)立實(shí)體編寫的,從作為模型的基本案例開(kāi)始,幾乎可以立即看出所需的驅(qū)動(dòng)程序源集與第一次編寫的非常相似;只需以不同的方式調(diào)用功能代碼并具有相同的覆蓋預(yù)期。

相反,可以設(shè)置一個(gè)環(huán)境,其中針對(duì)一種操作數(shù)的每組測(cè)試都提供了一個(gè)幫助 API,驅(qū)動(dòng)程序代碼始終可以以相同的方式使用該 API,而不管實(shí)際操作數(shù)的種類如何。圖 7 中的驅(qū)動(dòng)程序代碼提供了一個(gè)示例,其中 FUAND 代表“Functional And”。幫助程序包預(yù)計(jì)將提供一個(gè)“Eval_TT_T”子程序,該子程序調(diào)用功能代碼,安排兩個(gè)操作數(shù)評(píng)估 True (_TT_),因此決策也評(píng)估 True(尾隨 _T):

pYYBAGKuk8iARCSSAABiSokRneg452.png

【圖7 | 此處顯示的示例驅(qū)動(dòng)程序代碼使用了一個(gè)輔助 API,無(wú)論操作數(shù)的類型如何,該 API 始終可以以相同的方式使用,其中“Eval_TT_T”子程序調(diào)用功能代碼以啟動(dòng)兩者對(duì) True (_TT_) 和 (_T) 的評(píng)估操作數(shù)。]

為新的操作數(shù)類型組合添加測(cè)試只需要提供功能代碼和幫助程序包,并且添加驅(qū)動(dòng)程序源會(huì)自動(dòng)使所有已經(jīng)存在的操作數(shù)類型變體受益。這是一個(gè)非常強(qiáng)大的機(jī)制,甚至可以進(jìn)一步推廣以支持在一般上下文中對(duì)決策進(jìn)行覆蓋評(píng)估,而不僅僅是作為 if 語(yǔ)句中的控制表達(dá)式。

總結(jié)和觀點(diǎn)

作為開(kāi)發(fā)覆蓋分析工具內(nèi)部測(cè)試框架的一部分,我們?cè)O(shè)計(jì)了一種方法,其中對(duì)覆蓋結(jié)果的期望在測(cè)試源中表示為特殊注釋。此處概述了這些方案的一些重要方面。所描述的框架鼓勵(lì)積極思考每個(gè)測(cè)試的預(yù)期結(jié)果應(yīng)該是什么,并提供允許對(duì)開(kāi)發(fā)和維護(hù)工作進(jìn)行分解的抽象設(shè)施。

所描述的方法是我們 GNATcoverage 工具認(rèn)證的基礎(chǔ),這些項(xiàng)目使用該工具作為航空電子領(lǐng)域 DO-178B 和 DO-178C 認(rèn)證的一部分,達(dá)到最嚴(yán)格的認(rèn)證級(jí)別,這需要 MC/DC?;谶@項(xiàng)工作,我們正在評(píng)估可能的方法來(lái)形式化覆蓋分析問(wèn)題的測(cè)試策略的各個(gè)方面,特別是關(guān)于適當(dāng)?shù)?MC/DC 測(cè)試對(duì)表達(dá)式拓?fù)?、表達(dá)式上下文以及操作數(shù)的種類和復(fù)雜性的影響。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1461

    瀏覽量

    61497
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4671

    瀏覽量

    67772
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    利用靜態(tài)檢查工具完善功能安全中測(cè)試覆蓋

    在功能安全中測(cè)試覆蓋率是比較重要的概念,也是在驗(yàn)證過(guò)程中通常需要花費(fèi)時(shí)間較多的步驟,如果能借助于靜態(tài)檢查工具的死邏輯查找和聲明、測(cè)試用例自動(dòng)補(bǔ)全等功能往往能取得事半功倍的效果。
    的頭像 發(fā)表于 09-05 09:15 ?157次閱讀
    利用靜態(tài)檢查<b class='flag-5'>工具</b>完善功能安全中<b class='flag-5'>測(cè)試</b><b class='flag-5'>覆蓋</b>率

    單元測(cè)試工具TESSY 新版本亮點(diǎn)速覽:提供測(cè)試駕駛艙視圖、超級(jí)覆蓋率、代碼訪問(wèn)分析、增強(qiáng)覆蓋率審查

    TESSY最新版本v5.1現(xiàn)已發(fā)布! 該版本可用于Windows和Linux,并提供各種有趣的新功能。一個(gè)突出的新功能是新的“測(cè)試駕駛艙視圖”,它可用于從整個(gè)軟件中確定要測(cè)試的源代碼文
    的頭像 發(fā)表于 07-08 16:20 ?292次閱讀
    單元<b class='flag-5'>測(cè)試工具</b>TESSY 新版本亮點(diǎn)速覽:提供<b class='flag-5'>測(cè)試</b>駕駛艙視圖、超級(jí)<b class='flag-5'>覆蓋</b>率、代碼訪問(wèn)<b class='flag-5'>分析</b>、增強(qiáng)<b class='flag-5'>覆蓋</b>率審查

    單元測(cè)試、集成測(cè)試自動(dòng)化工具

    HookCode?直接使用目標(biāo)機(jī)代碼進(jìn)行單元測(cè)試 聯(lián)合靜態(tài)解析工具[CasePlayer2],提供C0(語(yǔ)句),C1(判定),MC/DC覆蓋率報(bào)告,優(yōu)化測(cè)試用例制作 已取得第三方認(rèn)證機(jī)
    的頭像 發(fā)表于 06-26 13:41 ?238次閱讀
    單元<b class='flag-5'>測(cè)試</b>、集成<b class='flag-5'>測(cè)試</b>自動(dòng)化<b class='flag-5'>工具</b>

    CAN總線測(cè)試工具的主要功能

    CAN總線測(cè)試工具用于測(cè)試CAN(Controller Area Network)總線通信的軟件或硬件工具,其功能豐富且多樣化。以下是CAN總線測(cè)
    的頭像 發(fā)表于 06-25 16:02 ?752次閱讀

    接口測(cè)試工具有哪些種類

    接口測(cè)試是軟件測(cè)試的一個(gè)重要環(huán)節(jié),主要用于驗(yàn)證系統(tǒng)各模塊之間的交互是否符合預(yù)期。隨著軟件行業(yè)的快速發(fā)展,接口測(cè)試工具也不斷涌現(xiàn),為測(cè)試人員提
    的頭像 發(fā)表于 05-30 15:07 ?425次閱讀

    功能測(cè)試覆蓋中最常見(jiàn)的是什么方法

    常見(jiàn)的方法,包括黑盒測(cè)試、白盒測(cè)試、灰盒測(cè)試、等價(jià)類劃分、邊界值分析、錯(cuò)誤推測(cè)法、因果圖法、狀態(tài)遷移測(cè)試、場(chǎng)景法、決策表
    的頭像 發(fā)表于 05-30 14:55 ?369次閱讀

    示波器測(cè)試電源紋波細(xì)教程

    電源紋波是指在交流電源中,由于電源本身的特性以及負(fù)載的影響,電源輸出的直流電中所包含的交流成分。電源紋波會(huì)對(duì)電子設(shè)備的正常工作產(chǎn)生影響,因此需要進(jìn)行測(cè)試分析。普示波器是一種常用的測(cè)試
    的頭像 發(fā)表于 05-07 15:08 ?404次閱讀
    普<b class='flag-5'>源</b>示波器<b class='flag-5'>測(cè)試</b>電源紋波細(xì)教程

    Python自動(dòng)化測(cè)試框架及其應(yīng)用

    Pytest是一個(gè)非常成熟的全功能的Python測(cè)試框架,與python自帶的unittest測(cè)試框架類似,但是比unittest框架使用起
    的頭像 發(fā)表于 04-03 16:15 ?387次閱讀
    Python自動(dòng)化<b class='flag-5'>測(cè)試</b><b class='flag-5'>框架</b>及其應(yīng)用

    【鴻蒙】NAPI 框架生成工具實(shí)現(xiàn)流程

    NAPI 框架生成工具 可以根據(jù)用戶指定路徑下的 ts(typescript)接口文件一鍵生成 NAPI 框架代碼、業(yè)務(wù)代碼框架、GN 文件等。在開(kāi)發(fā) JS 應(yīng)用與 NAPI 間接口時(shí)
    的頭像 發(fā)表于 02-28 17:00 ?546次閱讀
    【鴻蒙】NAPI <b class='flag-5'>框架</b>生成<b class='flag-5'>工具</b>實(shí)現(xiàn)流程

    網(wǎng)絡(luò)安全測(cè)試工具有哪些類型

    可以分為以下幾大類型: 漏洞掃描器 漏洞掃描器是一類常見(jiàn)的網(wǎng)絡(luò)安全測(cè)試工具,用于檢測(cè)系統(tǒng)、網(wǎng)絡(luò)和應(yīng)用程序中存在的各種漏洞和安全風(fēng)險(xiǎn)。這些工具通過(guò)自動(dòng)化掃描和分析目標(biāo)系統(tǒng)中的配置和代碼,
    的頭像 發(fā)表于 12-25 15:00 ?992次閱讀

    java怎么注釋整個(gè)文檔

    java中可以使用特殊的注釋格式來(lái)注釋整個(gè)文檔,這種格式被稱為JavaDoc注釋。JavaDoc注釋可以用于生成HTML格式的文檔,包含類、
    的頭像 發(fā)表于 11-28 17:14 ?589次閱讀

    java中的注釋有三類分別是

    注釋。 單行注釋: 單行注釋以雙斜杠(//)開(kāi)頭,用于在代碼旁邊添加簡(jiǎn)短的注釋說(shuō)明。這種注釋
    的頭像 發(fā)表于 11-28 16:47 ?1055次閱讀

    vs中如何快速注釋多行代碼

    在VS中,快速注釋多行代碼可以通過(guò)以下幾種方法實(shí)現(xiàn)。我將詳細(xì)介紹每種方法的步驟和應(yīng)用場(chǎng)景。 方法一:塊注釋注釋是一種常見(jiàn)的注釋多行代碼的方法。它適
    的頭像 發(fā)表于 11-22 10:26 ?1.5w次閱讀

    devc怎么注釋掉一段代碼

    DevC中,有兩種類型的注釋符號(hào)可供使用:?jiǎn)涡?b class='flag-5'>注釋和多行注釋。 單行注釋用于注釋單行代碼。在要
    的頭像 發(fā)表于 11-22 10:23 ?1845次閱讀

    C語(yǔ)言中如何實(shí)現(xiàn)注釋

    在C語(yǔ)言中,注釋是用來(lái)增加代碼可讀性和注釋過(guò)程和功能的文本。C語(yǔ)言中支持兩種類型的注釋:?jiǎn)涡?b class='flag-5'>注釋和多行注釋。 單行
    的頭像 發(fā)表于 11-22 10:17 ?980次閱讀