軟體測試的金字塔體系

2021-06-19 00:47:46 字數 2408 閱讀 7946

很小的時候就對埃及的金字塔感興趣,不僅是因為它的規模巨集偉、結構精密,而且它的興起和演變至今只是乙個傳說,成為千古之謎。這其中就有神奇的**分割數φ,其值是個無窮小數,若只取三位小數便是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個要素。

1)  質量:軟體質量是軟體測試的目標,也是軟體測試工作的中心,一切從質量出發,也就是一切從客戶需求出發。任何違背質量的東西都是問題,測試就是要找出這些問題。

2)  人員:人是決定的因素,測試人員的態度、素質、能力決定著測試的效果,對測試產品的質量也有很大的影響。測試人員因素包括測試組織結構、角色和責任的定義。

3)  技術:軟體測試技術,包括方法、工具。

4)  資源:主要是指測試環境中所需要的硬體裝置、網路環境,甚至包括測試資料。另外乙個重要因素就是測試時間,時間也是測試的資源,但測試人員不能看做資源,每個人的能力千差萬別,不同的測試人員擔任不同的角色,不能相互代替。這也是軟體圖書的經典之作——《人件》[1]的作者反對將人作為資源對待的原因。

5)  流程:從測試計畫和測試用例的建立、評審到測試的執行、報告,設定每個階段的進出標準。

5個工作面

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

1)質量-人員-技術:團隊建設,包括人員的招聘、培訓、考核等。

2)質量-人員-資源:成本管理,人員和軟硬體資源都是測試的投入,但同時必須將人和軟硬體資源區別對待,不要將人也作為軟硬體資源那樣處理,否則會帶來較多的問題。

3)質量-技術-流程:技術和流程結合起來就是一種測試架構或測試框架,通過技術,將流程融入系統或工具中,流程的執行才能穩定、有效。技術通過框架固化,技術才能發揮最大效益。

4)質量-流程-資源:基礎設施,構建測試環境,將測試建立在堅固、流程的基礎設施之上。

5)人員-技術-流程-資源:專案管理,在一定的質量標準下,如何平衡這些要素、如何獲得最大的生產力,就是軟體測試專案管理的主要任務。

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

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

軟體測試中的殺蟲劑效應與金字塔模型

今天包括後面的文章,我們除了聊自動化以外,也來聊一下軟體測試中的一些基礎知識。基礎知識也非常重要,對手工測試如此,對自動化測試同樣如此。殺蟲劑效應 英文名叫pesticide paradox,原本指的是在農場裡為了對付破壞農作物的害蟲,農業專家開發出了對應的殺蟲劑,剛開始效果很好,但是隨著時間的流逝...

通往成功的金字塔

在我看來,通往成功 的金字塔是由它們組成的 1.態度 2.方法 3.目標 4.策略 5.戰術 6.執行 我們把所有的時間都花在執行 上,碌碌無為,斤斤計較那些瑣碎的細節。你發現了沒有 沒有人因為執行 傻瓜 指南上的方法而成功。譯註 dummies叢書,是國外一種流行的指南叢書 戰術只是告訴你應該做什...