什麼是軟體測試的七項原則?恐怕很多從業者都不清楚

儘管大部分軟件測試人員,都不太care軟件測試理論,但在一些面試中,尤其是筆試部分,除了實操技能,企業對於應聘者的理論基礎,也是有要求的。

像“什麼是自動化測試?”、“畫出V模型”、“阿爾法測試和貝塔測試的區別”等等,這些都是應聘者在筆試中經常會碰到的一些考題。不過偶爾,面試官也會出一些類似“軟件測試的七項原則”這樣比較少見的問題。而這種時候,很多基礎知識不牢的應聘者,便難免會頭腦發懵。

什麼是軟件測試的七項原則?恐怕很多從業者都不清楚

1.測試儘早介入

從分析不同的測試模型來看,測試介入的越早越好。

為什麼測試要儘早介入呢?這要先弄清楚軟件測試的目的是什麼?簡單的來說就是保證軟件質量,降低成本。測試人員一般都在需求階段就開始介入,這時測試的對象就是需求。

軟件測試的目的是保證質量,預防風險,降低成本,其中成本包括缺陷的修復成本,缺陷有一個特點就是越早發現的缺陷,修復成本越低,這也是為什麼測試要儘早介入,就是為了能夠在需求階段就能找出需求與設計方面的缺陷,降低後期的修復成本。

2.窮盡測試是不可能

現在的軟件規模越來越大,複雜度越來越高,想做到完全性的測試就完全不可能的。就是軟件的規模和複雜度有所減少,但要做完全測試也是無法做到的。

在測試階段,軟件測試人員可以根據風險和優先級來進行集中測試和高強度測試,從而保證軟件的質量。

3.測試顯示軟件存在缺陷

如果說公司的決策層想通過軟件測試來證明軟件中不存在缺陷,那是行不通的。測試人員只能證明軟件中存在缺陷,但並不能證明軟件中沒有缺陷,軟件完美。

軟件測試人員可以通過軟件測試活動,找出軟件中大部分缺陷,避免軟件在上線後給用戶帶損失,給公司帶來風險。

4.缺陷集群性

世界上萬事萬物都符合二八原則,比如著名的財富理論:世界20%的人掌握了世界上80%的財富。還有成長理論:判斷一個人是否成功,主要看他20%的業餘時間做什麼事情。

軟件測試也符合二八原則:

1)功能:一個軟件20%為主要功能,會花費軟件測試人員80%的時間。

2)缺陷:一個功能模塊發現的缺陷越高,那存在的未被發現的缺陷也越高,故,發現的缺陷與未發現的缺陷成正比。

5.殺蟲劑悖論

只要做過軟件測試的測試人員都會發現一個有趣的現象:開發剛轉測試當天,測試人員是一個bug接一個bug的提,但隨著測試進度的推進,每天發現在的缺陷會越來越少,到最後簡直就是不能夠發現缺陷了。

但是能說這個軟件中不存在缺陷麼?小編相信哪個測試人員都沒有這樣的自信,敢保證自己測試的軟件中沒有bug了。可是,測試人員為什麼就是發現不了呢?

這是因為測試人員對缺陷產生了免疫能力,就算是一個bug放在測試人員面前,測試人員也不一定能發現。這就像害蟲對殺蟲劑產生了免疫,殺不死一樣的。

那應該怎麼解決這個問題呢?

解決方案有:

1. 內部測試人員交叉測試,這也是大部分軟件測試從業者經常提到的一個方法。

2.測試用例常用常更新,在測試過程中根據軟件的特性修改測試用例。

3.不變地變化測試方法,不要使用單一的測試方法去測試軟件,根據軟件內容使用不同的測試手段、測試方法。

根據上面三種方法交叉執行,從而發現更多的缺陷,保證軟件質量,降低風險。

6.測試活動依賴於測試內容

在面試過程中有時總會遇到面試官部“做軟件測試什麼最重要”,想來做過測試的都知道“需求”最重要,對測試人員來說是需求,對公司來說就是業務。

根據業務的不同,軟件測試內部也分不同的行業,比如遊戲行業,金融行業,電商行業等等。

不同的行業,測試活動的開展都有所有不同,比如工具的選擇,測試流程都不盡相同,所以軟件測試活動的開展依賴於所測試的內容。

7.無錯就是好是謬論

無錯,對軟件測試人員來說可望不可即的。那真的無錯的軟件就是好的軟件麼?

假設一個軟件完全沒有bug,完美無缺,但是不符合用戶的需求,那能說這個軟件是OK的麼?所以判斷一個軟件的好與不好,主要依據的還是用戶需求,是否實現用戶所期盼的結果。


分享到:


相關文章: