不要讓這10個(gè)驗(yàn)證思維毀掉你
[導(dǎo)讀]1、這是繼承的代碼,不需要驗(yàn)證。你100%確定這個(gè)代碼經(jīng)過完備驗(yàn)證么?你確定沒有人后來(lái)修改過么?你確定和這個(gè)代碼相關(guān)的一切都沒有變化么??2、我可以在5分鐘內(nèi)想出一個(gè)補(bǔ)丁。只要你確定你的驗(yàn)證環(huán)境不會(huì)成為一個(gè)屎山。問問你自己,一周以后你還記得這段代碼是什么意思么?與其花幾個(gè)小時(shí)修改...
1、這是繼承的代碼,不需要驗(yàn)證。
你100%確定這個(gè)代碼經(jīng)過完備驗(yàn)證么?你確定沒有人后來(lái)修改過么?你確定和這個(gè)代碼相關(guān)的一切都沒有變化么??2、我可以在5分鐘內(nèi)想出一個(gè)補(bǔ)丁。只要你確定你的驗(yàn)證環(huán)境不會(huì)成為一個(gè)屎山。問問你自己,一周以后你還記得這段代碼是什么意思么?與其花幾個(gè)小時(shí)修改驗(yàn)證環(huán)境的bug,花幾分鐘寫一個(gè)健壯的代碼難道不值得么?
3、在開始做的時(shí)候再計(jì)劃。即使你的任務(wù)看起來(lái)像小菜一碟,也要提前計(jì)劃。你會(huì)驚訝地發(fā)現(xiàn)很多問題可以完全避免。
Proper Planning Prevents Poor Performance
4、這個(gè)測(cè)試非常簡(jiǎn)單,不需要一個(gè)測(cè)試計(jì)劃。將測(cè)試計(jì)劃文檔作為你的工作內(nèi)容之一。測(cè)試計(jì)劃就是對(duì)自己工作的要求。如果這是一個(gè)簡(jiǎn)單的任務(wù),那么就在紙上寫一個(gè)半頁(yè)的測(cè)試計(jì)劃。?5、驗(yàn)證不是產(chǎn)品,不需要保持軟件標(biāo)準(zhǔn)。驗(yàn)證不是產(chǎn)品,但仍然在處理數(shù)千上萬(wàn)行的代碼。對(duì)于代碼,最好確保有一定程度的一致性,更不用說(shuō)應(yīng)該確保沒有程序錯(cuò)誤。
6. 沒有時(shí)間添加注釋。還記得上次你花了半天的時(shí)間定位別人的代碼嗎?那你自己的代碼怎么樣?最好為每一個(gè)test case添加注釋,并且保持更新。?7.這個(gè)激勵(lì)簡(jiǎn)單,讓我們force來(lái)自外部接口的信號(hào)。force是毒藥,可能在后期被遺忘。在tapeout前一周需要進(jìn)行排查,要格外小心。
8.必須一直在后臺(tái)回歸么僅僅回歸是不足夠的,必須有一個(gè)回歸監(jiān)測(cè)器來(lái)監(jiān)視和分析結(jié)果,否則,你只會(huì)磨損你的服務(wù)器。
9.?我們已經(jīng)達(dá)到了100%的覆蓋率,無(wú)需運(yùn)行更多的測(cè)試事實(shí)上覆蓋模型只能捕獲您所想到的內(nèi)容。顯然,一個(gè)隨機(jī)的testbench能夠生成額外的場(chǎng)景,這可能會(huì)發(fā)現(xiàn)一個(gè)意外的bug。所以在100%以后,不要停止回歸,應(yīng)該繼續(xù)增強(qiáng)功能覆蓋率模型。
10. 驗(yàn)證應(yīng)該在尋找bug。這是一個(gè)常見的誤解。驗(yàn)證應(yīng)專注于構(gòu)造足夠完備、健壯和高效的Testbench。蟲子(bug)會(huì)自己出來(lái)的。
你100%確定這個(gè)代碼經(jīng)過完備驗(yàn)證么?你確定沒有人后來(lái)修改過么?你確定和這個(gè)代碼相關(guān)的一切都沒有變化么??2、我可以在5分鐘內(nèi)想出一個(gè)補(bǔ)丁。只要你確定你的驗(yàn)證環(huán)境不會(huì)成為一個(gè)屎山。問問你自己,一周以后你還記得這段代碼是什么意思么?與其花幾個(gè)小時(shí)修改驗(yàn)證環(huán)境的bug,花幾分鐘寫一個(gè)健壯的代碼難道不值得么?
3、在開始做的時(shí)候再計(jì)劃。即使你的任務(wù)看起來(lái)像小菜一碟,也要提前計(jì)劃。你會(huì)驚訝地發(fā)現(xiàn)很多問題可以完全避免。
Proper Planning Prevents Poor Performance
4、這個(gè)測(cè)試非常簡(jiǎn)單,不需要一個(gè)測(cè)試計(jì)劃。將測(cè)試計(jì)劃文檔作為你的工作內(nèi)容之一。測(cè)試計(jì)劃就是對(duì)自己工作的要求。如果這是一個(gè)簡(jiǎn)單的任務(wù),那么就在紙上寫一個(gè)半頁(yè)的測(cè)試計(jì)劃。?5、驗(yàn)證不是產(chǎn)品,不需要保持軟件標(biāo)準(zhǔn)。驗(yàn)證不是產(chǎn)品,但仍然在處理數(shù)千上萬(wàn)行的代碼。對(duì)于代碼,最好確保有一定程度的一致性,更不用說(shuō)應(yīng)該確保沒有程序錯(cuò)誤。
6. 沒有時(shí)間添加注釋。還記得上次你花了半天的時(shí)間定位別人的代碼嗎?那你自己的代碼怎么樣?最好為每一個(gè)test case添加注釋,并且保持更新。?7.這個(gè)激勵(lì)簡(jiǎn)單,讓我們force來(lái)自外部接口的信號(hào)。force是毒藥,可能在后期被遺忘。在tapeout前一周需要進(jìn)行排查,要格外小心。
8.必須一直在后臺(tái)回歸么僅僅回歸是不足夠的,必須有一個(gè)回歸監(jiān)測(cè)器來(lái)監(jiān)視和分析結(jié)果,否則,你只會(huì)磨損你的服務(wù)器。
9.?我們已經(jīng)達(dá)到了100%的覆蓋率,無(wú)需運(yùn)行更多的測(cè)試事實(shí)上覆蓋模型只能捕獲您所想到的內(nèi)容。顯然,一個(gè)隨機(jī)的testbench能夠生成額外的場(chǎng)景,這可能會(huì)發(fā)現(xiàn)一個(gè)意外的bug。所以在100%以后,不要停止回歸,應(yīng)該繼續(xù)增強(qiáng)功能覆蓋率模型。
10. 驗(yàn)證應(yīng)該在尋找bug。這是一個(gè)常見的誤解。驗(yàn)證應(yīng)專注于構(gòu)造足夠完備、健壯和高效的Testbench。蟲子(bug)會(huì)自己出來(lái)的。