軟件測試工作的三重境界(4)

發表于:2014-08-04來源:uml.org.cn作者:不詳點擊數: 標簽:測試計劃
測試人員進行漏測分析時,免不了對問題進行追本溯源。軟件是由開發人員設計出來的,所以漏測分析活動少不了開發人員在場,甚至有時還會涉及需求設

  測試人員進行漏測分析時,免不了對問題進行追本溯源。軟件是由開發人員設計出來的,所以漏測分析活動少不了開發人員在場,甚至有時還會涉及需求設計人員。關于漏測分析的追本溯源,這里有一個關于開發與測試之間的工作關系像修筑堤壩一樣的有趣比喻,如圖2?11所示。開發人員設計軟件就像修筑一道堤壩,如果堤壩在結構上存在問題,當洪水沖擊時,可能不只是局部的泄漏,而是直接的決堤,猶如軟件的崩潰。高高的堤壩,難免會存在漏水的小洞,或滲水的小孔,就好像軟件中存在的小Bug。越是在堤壩基部的漏水或滲水問題越難發現,解決的代價也越大。

  在設計時要把結構建牢,不存在漏洞當然更好,這是一種防范。如果超越防范界線,把設計帶出的大洞小孔遺留到測試環節,它只好拿著各種放大鏡(使用各種方法)來檢測,以網羅各種深深淺淺、大大小小的問題,最后通過“打補丁”的方式,堵住堤壩上的“百孔千瘡”。

  圖2-5缺陷的防堵與堤壩的防堵形象理解示意圖

  2、缺陷的防堵

  在對缺陷的防與堵方面,測試是發現問題的中間角色,告訴開發人員哪里漏水或滲水了。防與堵的工作是由建堤者來做的。當然,防是主動的,堵是被動的,主動變為被動后,中間經歷了資源與時間的投入,誠然即使是同一個 Bug,它們的代價也是完全不一樣的。這種堵越在后面,影響越大,代價也就越大,如圖2-6所示(摘自《代碼大全》)是一個根據缺陷出現的階段來增加測試成本的例子。

  圖2-6 根據缺陷的引入和檢測時間,修正同一缺陷所需的平均成本

  如上圖2-6所示為在需求階段引入的一個缺陷。如果立即發現了此問題,修改成本只需要1美元,但如果在系統測試階段發現它,修改成本就增加了10倍。更為嚴重的是,如果在版本發布后用戶端發現了此問題,則需付出10倍以上甚至是100倍的代價。缺陷在系統中的時間越長,解決它的代價就越大,因為時間越長,開發與測試人員修改的成本就越高,還將影響大面積的用戶端升級。

原文轉自:http://www.uml.org.cn/Test/201306184.asp

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