從1個中心到5個要素 金字塔與軟體測試

2021-06-06 16:48:46 字數 1713 閱讀 2552

埃及金字塔的神秘,不僅是因為它的規模巨集偉、結構精密,而且它的興起和演變至今只是乙個傳說,成為千古之謎。而軟體測試,也感覺和金字塔有一種神秘的關係,為什麼這樣說呢?

金字塔中有神奇的**分割數φ,其值是個無窮小數,若只取三位小數便是0.618。如用金字塔的高除以底邊長,即1÷1.618 = 0.618。而金字塔許多特徵資料,和13世紀數學家法布蘭斯所提到的奇異數字的組合,有許多巧合之處。這些奇異數字的組合是1、1、2、3、5、8、13、21、34、55、89、144、233…它們任何兩個連續的比率都接近0.618,如3/5、5/8、34/55、55/89、89/144等。而且金字塔有乙個頂點、五個面、八個邊,總數為十三個層面,這些特徵資料也和上述奇異數字非常吻合。

首先,軟體測試的出發點就是質量,軟體測試的一切工作應該圍繞質量而開展。質量是軟體測試的中心,可以看做是金字塔的頂點,如圖1-1所示。測試的其他部分就是支撐這個頂點的測試人員、測試資源、測試技術和測試流程。因此,構成軟體測試的5個要素就是:質量、人員、技術、資源、流程。

這樣,5

個要素構成了5個面,每個面由3

個要素構成,代表著軟體測試的工作面。具體是怎樣的工作面?請往下看,自然會越來越清楚。

在這金字塔構成中,還有每兩個要素構成的8條邊,每條邊代表兩個要素之間的關係,如何處理這些關係,也就決定著測試能否獲得成功。基於要素、工作面、要素之間的關係,我們確定了13項軟體測試原則、21個關鍵域。針對軟體測試關鍵域,每個軟體組織可以了解自己在這個領域的水平,持續進行改進。最後,列出目前所使用的各種軟體測試方法,並將這些方法應用於軟體測試實際工作之中。所以軟體測試可概括為:

從1

個中心到

5個要素

質量(quality)是軟體測試的中心,這是毋庸置疑的。測試是質量保證的重要手段之一,測試本身就是為質量服務的。測試能否通過,其檢驗的標準是使用者的需求,也就是質量的標準。所以,在軟體測試的5

個要素中,質量是核心,其他

4個要素要服務於質量,服從於質量。

如果要問,除了質量,還有什麼是最重要的?那自然是測試人員。人是決定的因素,決定了技術和流程的執行。像軟體開發這樣的智力活動,要強調「以人為本」的管理文化,才能真正發揮每個人的潛力,以最有效的方法完成測試工作。

如果繼續追問下去,在軟體測試過程中,哪兩樣東西是我們必須關注的?答案應該是「測試覆蓋率」和「效率(productivity)」。如何保證質量,乙個重要的衡量方法就是測試的覆蓋率,包括使用者實際需求的覆蓋率和**覆蓋率。在保證質量的前提下,確定任務的優先順序,採取正確的策略和方法,包括自動化測試方法,以高效的方法完成測試。

一而再、再而三,關注了「測試覆蓋率」和「效率」,拿什麼來保證呢?這不外乎三個方面,就是測試人員、測試流程和測試的技術。就人員來說,要從招聘、培訓和考核等各個環節來培育良好的團隊文化,樹立正確的工作態度,強化質量意識,提高團隊的戰鬥力,構建卓越的測試團隊。無論是採用敏捷的測試流程還是傳統的測試流程,一定要結合具體的產品和技術特點,因地制宜,形成適合自己的、有效的測試流程。測試技術比較豐富,因而下面各章的討論會很多,從客戶端到伺服器端,從黑盒測試到白盒測試,從靜態測試到動態測試,全力構造乙個完整的測試技術體系,使之滿足測試工作的需要。這些內容,可以用圖1-2形象地描述,使我們一目了然。

軟體測試的金字塔體系可以基於上一節的描述進行擴充,得到如下結構,更接近於一串神秘的數字。

最後,總結一下軟體測試的5

個要素。

5個工作面

基於軟體測試金字塔的構成,我們好好研究其5個工作面,如圖1-3所示。

軟體測試的金字塔體系 從1個中心到5個要素

軟體測試的金字塔體系 從1個中心到5個要素 很小的時候就對埃及的金字塔感興趣,不僅是因為它的規模巨集偉 結構精密,而且它的興起和演變至今只是乙個傳說,成為千古之謎。這其中就有神奇的 分割數 其值是個無窮小數,若只取三位小數便是0.618。如用金字塔的高除以底邊長,即1 1.618 0.618。而金字...

月球再添5個「中國地名」

圖 1 嫦娥四號著陸區地理實體命名影像圖 記者從國家航天局獲悉,2019 年 2 月 15 日,中國國家航天局 中國科學院和國際天文學聯合會聯合召開新聞發布會,向全世界發布嫦娥四號著陸區域月球地理實體命名。2019 年 2 月 4 日,國際天文學聯合會 iau 批准了利用探月工程嫦娥二號和嫦娥四號高...

c 乙個中心,兩個基本點

c 是一種安全的 穩定的 簡單的 優雅的,由c和 c 衍生出來的物件導向的程式語言。它在繼承c和c 強大功能的同時去掉了一些它們的複雜特性 例如沒有巨集以及不允許多重繼承 我們學過 vb,我們也了解一點 c 現在在學起 c 來,就有了另乙個機會去了解和摸索 任何一種程式語言的規律。c 對我們來說,並...