開發和測試的兩大難題:Regression Bug和Late Discovery Bug

發表于:2007-04-22來源:作者:點擊數: 標簽:開發測試兩大Regression難題
什么是Regression Bug ?Regression Bug,就是由于 開發 新特性或Fix Bug導致以前正常工作的特性罷工了。這種情況,通常出現在產品的開發中。 為了便于分析,Regression Bug又分為Release Regression和Build Regression。 Release Regression指的是和上一個

什么是RegressionBug?Regression Bug,就是由于開發新特性或Fix Bug導致以前正常工作的特性罷工了。這種情況,通常出現在產品的開發中。
 
為了便于分析,Regression Bug又分為Release Regression和Build Regression。

Release Regression指的是和上一個產品版本相比,出現的Bug。
Build Regression的解釋就更復雜些。通常開發軟件的一個版本的過程中,會有很多Build,通常測試會根據需要每天或每隔幾天取一個Build進行測試。相對于前某個Build的Regression Bug就是Build Regression。
 
產生Regression Bug的主要原因是:
      
單元測試沒有做充分。     
隔山打牛的Bug,單元測試很難做到。    
測試環境問題

另外,通常Regression Bug也有較高的誤報率,或者爭議比例較大。
 
控制Regression Bug的方法通常從強調單元測試開始,然后是控制Bug的Reopen率,增加Code Review的頻率,引入自動測試。但是,Regression Bug在全部Bug中的比例,在通過上述方法控制到20%到30%后,開始出現難以下降的趨勢。
 
Late Discovery Bug則是QA之痛。用質量的術語來說,就是漏檢。每個Release都會發現無數上個版本測試沒有發現的Bug。通常這也會達到20%到30%。
 
產生Late Discovery Bug的主要原因是:
測試覆蓋率。通過黑盒測試,要想做到100%分支的Cover率,是不可能的。這樣,總會有漏掉的Bug。
燈下黑,就是個人的測試盲區。每個人都有腦筋死角或盲區,先入為主的認識會讓人們不能發現很明顯的問題。
 
解決的方法有:
      
增加Ad Hoc測試,就是不按照事先設計好的Case執行的測試。
交叉測試,減少測試誤區。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97