您的位置:首頁 > 業(yè)內(nèi)資訊 > 測試代碼時你可能會犯的11個錯誤
7、沒有實(shí)際測試代碼
經(jīng)?梢钥吹綔y試新手創(chuàng)建過于復(fù)雜的模型以及不能實(shí)際測試代碼的設(shè)置程序。他們可能會驗(yàn)證模擬代碼是否正確,或者模擬代碼是否和真正代碼做相同的事情,或沒有任何斷言而只是執(zhí)行代碼。這樣的“測試”都是白費(fèi)力氣,特別是如果它們的存在只是為了提高代碼覆蓋率水平的話。
8、擔(dān)心代碼覆蓋率
代碼覆蓋率的理念很崇高,但往往實(shí)際價值有限。知道運(yùn)行測試的時候有多少代碼被執(zhí)行應(yīng)該是有用的,但因?yàn)樗豢紤]正在執(zhí)行代碼的測試的質(zhì)量,因此就變得沒有意義。代碼覆蓋率在它數(shù)值非常高或非常低的時候,是挺博人眼球的。如果非常高,就表明,比起帶來的價值,過多的代碼可能正在被測試。非常低的代碼覆蓋率表明有可能代碼的測試不夠。因?yàn)檫@樣模棱兩可的意思,有的人就不知道單一片段的代碼是否應(yīng)該進(jìn)行測試。我用一個簡單的問題來明確這一點(diǎn):代碼是否包含重大的復(fù)雜性?如果包含,那么你需要一些測試。如果沒有的話,你就不需要。測試屬性訪問器不過是浪費(fèi)時間。如果它們失敗的話,那么比起你正在寫的代碼,你的代碼體系出現(xiàn)了一些更根本的問題。如果你不用看一段代碼,就立即知道一切,那么它就不重大。這不僅適用于代碼,也適用于你寫代碼。如果我們在任意點(diǎn)重訪代碼,那么它就需要測試。如果在現(xiàn)有代碼中發(fā)現(xiàn)過bug,那就說明這一塊的代碼對其復(fù)雜性沒有進(jìn)行充分的測試。
9、著眼于一種類型的測試
一旦你開始測試,很容易只糾結(jié)于一種風(fēng)格的測試。這是一個錯誤。只用一種類型的測試,你就不能充分測試系統(tǒng)的所有部分。你需要單元測試來確認(rèn)代碼的各個組件是否能夠正確工作。你需要集成測試來確認(rèn)不同組件是否能夠協(xié)同工作。你需要自動化UI測試來驗(yàn)證軟件是否可以如預(yù)期使用。最后,你需要為任何不容易自動化的部分和探索性嘗試進(jìn)行手動測試。
10、著眼于短期測試
來自于測試的價值大多數(shù)會隨著時間的推移而獲得。測試不應(yīng)該只存在用于確認(rèn)事情是否正確寫入,而應(yīng)該隨著時間的推移繼續(xù)起作用,并且對于代碼庫做其他的改變。有回歸錯誤或新的異常,那么測試應(yīng)該重復(fù)運(yùn)行以盡早發(fā)現(xiàn)問題,這將意味著錯誤和異?梢愿欤阋撕透菀妆恍迯(fù)。沒有變化(人為錯誤)可自動和快速執(zhí)行的測試,是為什么編碼測試如此有價值的原因。
小編推薦閱讀男孩第4季促銷宣布“ Supe Lives Matter”和“使美國再次超級”
閱讀Prime視頻現(xiàn)在可能有廣告,但是亞馬遜不會關(guān)閉FreeVee
閱讀一個安靜的地方:第一天預(yù)告片揭示了外星人來到地球的那一天
閱讀在有限的時間內(nèi),Amazon的狂歡漫畫豪華版在亞馬遜享受50%的折扣
閱讀13代i9+滿血RTX4060,機(jī)械師曙光16Pro開啟預(yù)售!
閱讀艾克索拉:一家創(chuàng)辦17年的全球化公司,正在凸顯“沉淀”對游戲支付的價值
閱讀燃的不止卡塔爾!2022英特爾大師挑戰(zhàn)賽網(wǎng)咖及電競酒店聯(lián)賽燃情謝幕
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2024 haote.com 好特網(wǎng)