色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 淺談嵌入式軟件測(cè)試

          淺談嵌入式軟件測(cè)試

          作者: 時(shí)間:2012-12-31 來源:網(wǎng)絡(luò) 收藏

          1.功能測(cè)試

          功能測(cè)試一般稱為黑匣子測(cè)試,因?yàn)樵诰帉懝δ軠y(cè)試的測(cè)試?yán)虝r(shí)并沒有涉及實(shí)際的代碼。換句話說,沒有觸及到“匣子內(nèi)”。系統(tǒng)有輸入和輸出,并在輸入和輸出之間執(zhí)行某些算法。黑匣子測(cè)試是根據(jù)對(duì)哪些輸入應(yīng)該是可接受的以及這些輸入應(yīng)與輸出有何種關(guān)系的了解來進(jìn)行的。黑匣子測(cè)試完全不了解輸入與輸出之間的算法是如何實(shí)現(xiàn)的。黑匣子測(cè)試的示例包括:

          壓力測(cè)試:有意使輸入通道、內(nèi)存緩沖器、磁盤控制器、存儲(chǔ)器管理系統(tǒng)等過載的測(cè)試

          邊界值測(cè)試:表示特定范圍內(nèi)的“邊界”的輸入(例如,對(duì)于整數(shù)輸入而言,是最大和最小整數(shù)以及-1、0、+1);以及應(yīng)使輸出在輸出范圍的類似邊界出現(xiàn)跨變的輸入值。

          異常測(cè)試:能觸發(fā)故障模式或異常模式的測(cè)試。

          錯(cuò)誤推測(cè):根據(jù)以前的經(jīng)驗(yàn)或者從測(cè)試類似程序獲得的經(jīng)驗(yàn)進(jìn)行的測(cè)試。

          隨機(jī)測(cè)試:通常,這是效率最低的一種測(cè)試方法,但卻仍然廣泛用于評(píng)估用戶界面代碼的魯棒性。

          性能測(cè)試:由于性能預(yù)期是產(chǎn)品要求的一部分,因此性能分析屬于功能測(cè)試的范疇。

          由于黑匣子測(cè)試僅取決于程序要求及其I/O行為,因此一旦完成功能要求的編寫,即可開發(fā)這類測(cè)試。這使得黑匣子測(cè)試?yán)痰拈_發(fā)可以與余下的系統(tǒng)設(shè)計(jì)同步進(jìn)行。

          與所有測(cè)試一樣,功能測(cè)試應(yīng)被設(shè)計(jì)得具有破壞性,也即,要試圖證明程序無法工作。這包括使輸入通道過載、隨意地敲打鍵盤,以及故意地做程序員認(rèn)為會(huì)破壞其程序的所有事情。

          作為研發(fā)產(chǎn)品經(jīng)理,這是我的主要測(cè)試方法之一。如果產(chǎn)品在經(jīng)過40個(gè)小時(shí)的極限測(cè)試(abuse testing)后,并沒發(fā)現(xiàn)任何嚴(yán)重或者致命的缺陷,那么就可以發(fā)布這個(gè)產(chǎn)品了。如果找到了一個(gè)重大的缺陷,那么修正這個(gè)缺陷后,還必須重復(fù)前面的測(cè)試步驟。

          2.覆蓋測(cè)試

          功能測(cè)試的缺點(diǎn)是其很少執(zhí)行全部代碼。覆蓋測(cè)試則試圖規(guī)避這個(gè)缺點(diǎn),它采用的方法是(理想地)確保每一條代碼語句、判定點(diǎn)或者判定路徑都至少被測(cè)試一次。覆蓋測(cè)試還可以顯示已經(jīng)訪問的數(shù)據(jù)空間大小。

          覆蓋測(cè)試也稱為白匣子測(cè)試或玻璃匣子測(cè)試,這類測(cè)試的設(shè)計(jì)需要全面了解軟件的實(shí)現(xiàn)方式,也就是說,它要“看到匣子里面”。白匣子測(cè)試?yán)昧嗽创a所能提供的方便。

          白匣子測(cè)試充分借力了程序員對(duì)程序API、內(nèi)部控制結(jié)構(gòu)的知識(shí),分享了程序員的異常處理能力。由于白匣子測(cè)試取決于具體的實(shí)現(xiàn)決策,因此要到應(yīng)用代碼完成后,才能動(dòng)手設(shè)計(jì)這類測(cè)試。

          系統(tǒng)的角度來看,覆蓋測(cè)試是最重要的測(cè)試,這是因?yàn)橹灰惆盐找言诙啻蟪潭壬蠈?duì)代碼進(jìn)行了測(cè)試,你就可很好地預(yù)警出現(xiàn)未發(fā)現(xiàn)缺陷的風(fēng)險(xiǎn)。白匣子測(cè)試的示例包括:

          語句覆蓋:選擇的測(cè)試案例可以至少將程序中的每一條語句執(zhí)行一次。

          判定或分支覆蓋:選擇的測(cè)試?yán)炭梢允姑恳粋€(gè)分支(條件為真和假的路徑)至少執(zhí)行一次。

          條件覆蓋:選擇的測(cè)試?yán)炭梢詮?qiáng)制判定中的每一個(gè)條件(項(xiàng))都包含所有可能的邏輯值。

          理論上,白匣子測(cè)試可以利用或控制所需的任何對(duì)象來執(zhí)行其測(cè)試。因此,白匣子測(cè)試可能使用JTAG接口強(qiáng)制設(shè)定特定的存儲(chǔ)器值作為測(cè)試的一部分。實(shí)踐上,白匣子測(cè)試可以分析邏輯分析儀報(bào)告的執(zhí)行路徑。

          3.灰匣子測(cè)試

          由于白匣子測(cè)試可以深入代碼內(nèi)部,因此與黑匣子測(cè)試相比,這類測(cè)試的維護(hù)成本更高。只要要求和I/O關(guān)系保持穩(wěn)定,黑匣子測(cè)試就會(huì)一直有效;但每次修改代碼后,可能都需要重新進(jìn)行白匣子測(cè)試。因此成本效益最高的白匣子測(cè)試一般是那些在不深入編程細(xì)節(jié)的情況下利用實(shí)現(xiàn)知識(shí)進(jìn)行的測(cè)試。

          較少涉及代碼細(xì)節(jié)的測(cè)試有時(shí)也稱為灰匣子測(cè)試。當(dāng)與“錯(cuò)誤推測(cè)”配合使用時(shí),灰匣子測(cè)試非常有效。如果你知道(或者至少猜到)代碼中的弱點(diǎn)在哪里,那么你就可以設(shè)計(jì)出對(duì)這些弱點(diǎn)“施壓”的測(cè)試案例。

          因?yàn)檫@些測(cè)試覆蓋了代碼的特定部分,因此這些測(cè)試是灰匣子測(cè)試;因?yàn)檫@些測(cè)試是根據(jù)可能會(huì)出現(xiàn)哪些錯(cuò)誤的猜測(cè)而選擇的,因此這些測(cè)試是錯(cuò)誤推測(cè)測(cè)試。

          在整合新功能與穩(wěn)定的舊代碼庫時(shí),這種測(cè)試策略非常有用。由于代碼庫已經(jīng)過全面的測(cè)試,因此將測(cè)試重點(diǎn)集中在新、舊代碼交集處可以起到事半功倍的效果。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          關(guān)鍵詞: 軟件測(cè)試 嵌入式

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉