(九)所見(jiàn)即所得 之 單元測(cè)試(1)

一、什么是單元測(cè)試?

我先給你分享一個(gè)工廠生產(chǎn)電視機(jī)的例子。

工廠首先會(huì)將各種電子元器件按照?qǐng)D紙組裝在一起構(gòu)成各個(gè)功能電路板,比如供電板、音視頻解碼板、射頻接收板等,然后再將這些電路板組裝起來(lái)構(gòu)成一個(gè)完整的電視機(jī)。

如果一切順利,接通電源后,你就可以開(kāi)始觀看電視節(jié)目了。但是很不幸,大多數(shù)情況下組裝完成的電視機(jī)根本無(wú)法開(kāi)機(jī),這時(shí)你就需要把電視機(jī)拆開(kāi),然后逐個(gè)模塊排查問(wèn)題。

假設(shè)你發(fā)現(xiàn)是供電板的供電電壓不足,那你就要繼續(xù)逐級(jí)排查組成供電板的各個(gè)電子元器件,最終你可能發(fā)現(xiàn)罪魁禍?zhǔn)资且粋€(gè)電容的故障。這時(shí),為了定位到這個(gè)問(wèn)題,你已經(jīng)花費(fèi)了大量的時(shí)間和精力。

那在后續(xù)的生產(chǎn)中,如何才能避免類(lèi)似的問(wèn)題呢?

你可能立即就會(huì)想到,為什么不在組裝前,就先測(cè)試每個(gè)要用到的電子元器件呢?這樣你就可以先排除有問(wèn)題的元器件,最大程度地防止組裝完成后逐級(jí)排查問(wèn)題的事情發(fā)生。

實(shí)踐也證明,這的確是一個(gè)行之有效的好辦法。

如果把電視機(jī)的生產(chǎn)、測(cè)試和軟件的開(kāi)發(fā)、測(cè)試進(jìn)行類(lèi)比,你可以發(fā)現(xiàn):

  • 電子元器件就像是軟件中的單元,通常是函數(shù)或者類(lèi),對(duì)單個(gè)元器件的測(cè)試就像是軟件測(cè)試中的單元測(cè)試;

  • 組裝完成的功能電路板就像是軟件中的模塊,對(duì)電路板的測(cè)試就像是軟件中的集成測(cè)試;

  • 電視機(jī)全部組裝完成就像是軟件完成了預(yù)發(fā)布版本,電視機(jī)全部組裝完成后的開(kāi)機(jī)測(cè)試就像是軟件中的系統(tǒng)測(cè)試。

通過(guò)這個(gè)類(lèi)比,相信你已經(jīng)體會(huì)到了單元測(cè)試對(duì)于軟件整體質(zhì)量的重要性,那么單元測(cè)試到底是什么呢?

單元測(cè)試是指,對(duì)軟件中的最小可測(cè)試單元在與程序其他部分相隔離的情況下進(jìn)行檢查和驗(yàn)證的工作,這里的最小可測(cè)試單元通常是指函數(shù)或者類(lèi)。

單元測(cè)試通常由開(kāi)發(fā)工程師完成,一般會(huì)伴隨開(kāi)發(fā)代碼一起遞交至代碼庫(kù)。單元測(cè)試屬于最嚴(yán)格的軟件測(cè)試手段,是最接近代碼底層實(shí)現(xiàn)的驗(yàn)證手段,可以在軟件開(kāi)發(fā)的早期以最小的成本保證局部代碼的質(zhì)量。

另外,單元測(cè)試都是以自動(dòng)化的方式執(zhí)行,所以在大量回歸測(cè)試的場(chǎng)景下更能帶來(lái)高收益。

同時(shí),你還會(huì)發(fā)現(xiàn),單元測(cè)試的實(shí)施過(guò)程還可以幫助開(kāi)發(fā)工程師改善代碼的設(shè)計(jì)與實(shí)現(xiàn),并能在單元測(cè)試代碼里提供函數(shù)的使用示例,因?yàn)閱卧獪y(cè)試的具體表現(xiàn)形式就是對(duì)函數(shù)以各種不同輸入?yún)?shù)組合進(jìn)行調(diào)用,這些調(diào)用方法構(gòu)成了函數(shù)的使用說(shuō)明。


軟件測(cè)試52講---筆記整理

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容