本文發(fā)散式分享幾個(gè)有效的bug發(fā)現(xiàn)手段或者驗(yàn)證方法。
一、final chk
final chk的思想是在執(zhí)行完成一個(gè)測(cè)試用例(或者一個(gè)簡(jiǎn)單的命令)之后,然后查看下當(dāng)前設(shè)計(jì)DUT的狀態(tài)。比如說(shuō)一個(gè)cacheline,在完成一筆read/write之后,該cacheline應(yīng)該是可以被替換(evict)的。
形象一點(diǎn),當(dāng)你在飯店吃完飯,座位資源應(yīng)該是能夠被釋放掉的。
這種驗(yàn)證方法就是驗(yàn)證設(shè)計(jì)DUT的自我清除能力。一個(gè)很簡(jiǎn)單的final chk方法就是在完成任何一個(gè)測(cè)試用例之后,可以隨機(jī)發(fā)送一些常規(guī)操作,可能有幸能夠發(fā)現(xiàn)這類問(wèn)題。但是最完備,但可能粗暴的方法就是執(zhí)行完一個(gè)測(cè)試用例之后,用探針查看DUT的狀態(tài)和參考模型的狀態(tài)(所有寄存器和變量的值都是一個(gè)符合預(yù)期的值)。
時(shí)間足夠并且驗(yàn)證人員了解DUT實(shí)現(xiàn)的情況下,個(gè)人傾向后者即使用最完備的方式檢查所有設(shè)計(jì)狀態(tài)。
二、default test
設(shè)計(jì)DUT中會(huì)存在很多的default:語(yǔ)句,看起來(lái)不是主要分支,但很多時(shí)候default分支也做了很多非常關(guān)鍵的事情,甚至default分支會(huì)比一些主要分支更加復(fù)雜和繁忙。
對(duì)于一個(gè)用戶,很多時(shí)候不做決定,傾向于留白,只會(huì)去配置自己會(huì)修改的寄存器配置。default test是指驗(yàn)證人員做盡量少的實(shí)際工作,接受默認(rèn)值,然后執(zhí)行一些操作。
“江湖不是打打殺殺,江湖是人情世故”。
很多時(shí)候,default test case fail,設(shè)計(jì)可能會(huì)說(shuō)不符合實(shí)際約束,用戶應(yīng)該怎樣怎樣~這個(gè)時(shí)候就涉及到驗(yàn)證和設(shè)計(jì)的話語(yǔ)權(quán)問(wèn)題了。從驗(yàn)證的角度看,最好是default場(chǎng)景下,芯片是能夠work的。如果在正式發(fā)布的產(chǎn)品中,用戶不愿再配置而希望使用默認(rèn)值,就非常令人尷尬。
審核編輯:湯梓紅
-
命令
+關(guān)注
關(guān)注
5文章
738瀏覽量
22897 -
BUG
+關(guān)注
關(guān)注
0文章
156瀏覽量
16030 -
DUT
+關(guān)注
關(guān)注
0文章
191瀏覽量
12962
原文標(biāo)題:分享幾個(gè)bug發(fā)現(xiàn)手段-final chk、default test、stress test、fault injection
文章出處:【微信號(hào):數(shù)字芯片實(shí)驗(yàn)室,微信公眾號(hào):數(shù)字芯片實(shí)驗(yàn)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
為昕科技VXIN原理圖工具Jupiter使用發(fā)現(xiàn)問(wèn)題BUG
multisim11中無(wú)意發(fā)現(xiàn)的BUG?。。。?/a>
測(cè)試UCOSII消息隊(duì)列發(fā)現(xiàn)一個(gè)BUG
發(fā)現(xiàn)Tardis的PDA的一個(gè)BUG怎么解決?
在學(xué)習(xí)使用SMALL RTOS時(shí)發(fā)現(xiàn)一個(gè)BUG如何解決呢?
蘋(píng)果iOS 10.2默默修復(fù)了兩個(gè)未被發(fā)現(xiàn)的神級(jí)BUG,你知道?
IOS 10.3.1正式版緊急發(fā)布,修復(fù)BUG

評(píng)論