有一種東西,
如果它太小,需要付出的努力就太大;如果它太大,就很難測(cè)試。
沒錯(cuò)!它是單元。
但是什么才是一個(gè)好的單元定義呢?為什么它如此重要?
單元的定義對(duì)測(cè)試過程有很大的影響,但同時(shí)單元的定義也是不精確的。如果以一種不恰當(dāng)?shù)姆绞蕉x單位,這可能意味著大量的努力甚至麻煩。術(shù)語“單元”的定義可見于ISO 26262、ISTQB、ASPICE和許多其他文件。
我們的結(jié)論是:單元是一個(gè)小的可測(cè)試的軟件組件。不幸的是,這種定義非常模糊。這樣的定義不是用于工具,而是用于評(píng)估和審計(jì)。因此,在大多數(shù)組織中,這個(gè)術(shù)語是單獨(dú)指定的。
定義術(shù)語“單元”有兩種方法:通用描述和體系結(jié)構(gòu)描述。

在通用描述中,單元將被定義為一個(gè)文件或一個(gè)函數(shù)。從特定的、體系結(jié)構(gòu)的角度來看,單元是軟件體系結(jié)構(gòu)中的一個(gè)元素。基于體系結(jié)構(gòu)的特定定義可以減少單元測(cè)試中測(cè)試對(duì)象的數(shù)量。以這種方式定義的單元可以包含多個(gè)文件中的多個(gè)函數(shù)。
這種方法不違反ISO 26262或ASPICE的要求。此外,如果體系結(jié)構(gòu)是自上向下開發(fā)的,您可以將體系結(jié)構(gòu)的更高級(jí)別指定為純集成測(cè)試,從而也將減少單元測(cè)試級(jí)別的測(cè)試對(duì)象。在單元級(jí)別省略的測(cè)試會(huì)在之后的軟件集成測(cè)試(SWE.5)中執(zhí)行。
一些組織通過調(diào)整單元的定義來縮小他們自己的需求之間的差距。典型的補(bǔ)充包括:
更精確地定義單元,例如,在編程語言C中,將單元定義為函數(shù)級(jí)別的數(shù)據(jù)和指令的封裝,或者
為單元構(gòu)造過程提出要求,例如指定最大圈復(fù)雜度。
專業(yè)建議:對(duì)于具體項(xiàng)目來說,如果需求是好的,但太過籠統(tǒng)或太過嚴(yán)格,可以與客戶討論和協(xié)商,以定義一個(gè)一致的解決方案作為替代措施。這可以大大減少工作量。從風(fēng)險(xiǎn)的角度來看,定義單元的時(shí)間應(yīng)該越早越好。
TPT可以測(cè)試所有類型的單元定義。從工具的角度來看,這并不是最重要的。為了將測(cè)試過程中產(chǎn)生的總工作量減少到最小,我們建議不要籠統(tǒng)地定義單元。這會(huì)為重構(gòu)活動(dòng)提供便利并減少額外的工作。
-
代碼
+關(guān)注
關(guān)注
30文章
4891瀏覽量
70306
發(fā)布評(píng)論請(qǐng)先 登錄

新能源車軟件單元測(cè)試深度解析:自動(dòng)駕駛系統(tǒng)視角
新能源車背后的隱形守護(hù)者:軟件單元測(cè)試的生死較量?
單元測(cè)試在嵌入式軟件中的關(guān)鍵作用及winAMS工具的卓越貢獻(xiàn)
PCS老化測(cè)試是否會(huì)產(chǎn)生磁場(chǎng)?
嵌入式軟件單元測(cè)試的必要性、核心方法及工具深度解析
嵌入式系統(tǒng)開發(fā)中的測(cè)試方法 嵌入式系統(tǒng)開發(fā)與AI結(jié)合應(yīng)用
開發(fā)者必讀!CircleCI?組件測(cè)試與單元測(cè)試全解析
汽車軟件單元測(cè)試的重要性
嚴(yán)格的單元測(cè)試造就完美的軟件

TESSY單元測(cè)試工具詳解與操作演示:ISO 26262合規(guī)性、自定義測(cè)試用例、詳細(xì)測(cè)試報(bào)告等
嵌入軟件單元/集成測(cè)試工具專業(yè)分析
交流信號(hào)過電容信號(hào)會(huì)變化嗎
鴻蒙語言基礎(chǔ)類庫:ohos.application.testRunner TestRunner 測(cè)試
單元測(cè)試、集成測(cè)試自動(dòng)化工具

評(píng)論