Code coverage並非萬能的

2021-05-23 12:14:36 字數 373 閱讀 1142

前面單元測試中提到**覆蓋率,簡單來說**被執行過,就是「覆蓋過」,如果一段程式執行了一組測試用例之後,100%的**被執行了,那麼是否就說明再也不用寫新的測試用例了呢?

答案是否定的。

(1)不同**是否執行,有很多組合,一行**被執行過,沒有問題,並不表明這一行程式在所有可能條件的組合下都能正確無誤地執行。

(2)**覆蓋不能測出還沒有寫的**(缺少的邏輯)導致的錯誤。

比如:a. 沒有檢查過程呼叫的返回值;

b. 沒有釋放資源。

(3)**覆蓋不能測出效能問題。

(4)**覆蓋不能測出時序問題,由時序導致的程式錯誤(例如:執行緒之間的同步)。

(5)**中和使用者介面相關的功能不能簡單地以**覆蓋率來衡量優劣。

並非萬能的XML

並非萬能的xml 左直拳 xml是個炙手可熱的東西,出來很多年了,好象還聽說將取代html 不過直到今天html1.1還健在,其實我認為兩者很大程度上並無可比性 有一次我去面試,人家問我熟不熟悉xml,答曰不會,結果被 人來落閘放狗 地趕了出來。不過看起來,xml比較適合少量的資料,記錄一多,弊端就...

遞迴並非萬能

遞迴的確簡潔,但效能很差,因為它進行了大量重複的計算,如果用遞迴運算做乘法,5 4 5 4 3 2 1 4 3 2 1顯然4 完全可以算一遍,而遞迴結結實實的算了兩遍 如果我們把每一步運算的結果都用字典存起來,那就能減少大量的運算 給出1,2,3,4,5,n 一共n個數,求用它們能夠構成多少種形狀不...

eTOM並非萬金油

支撐系統不僅支撐操作層 通訊產業報 您認為在運營支撐系統建設中需要注意哪些問題?王衛鄉 作為乙個企業來講,從管理的角度可以分為三層。最上面是決策層,中間是管理層,最下面是操作層。整個結構基本上是乙個金字塔形的。最下面的操作層最大,最上面的決策層最小。現在的運營支撐系統最早是從電信網路的執行維護管理系...