軟件測試的7個基本原則

畢生所學,得到最重要的東西是一種以原則為基礎(chǔ)的生活方式,是它幫助我發(fā)現(xiàn)真相是什么,并據(jù)此如何行動。
– Ray Dalio《原則》
原則一:測試證明軟件存在缺陷
時至今日,依然有不少人容易犯錯:沒有發(fā)現(xiàn)錯誤的測試說明軟件沒有缺陷。
這個原則可以用另一種方式來描述: 測試的本質(zhì)是證明軟件存在缺陷,而不是軟件沒有任何缺陷。
測試只能證明軟件是存在缺陷的(證偽),而不是證明軟件是沒有缺陷的(證實)。
原則二:窮盡測試是不可能的
測試數(shù)據(jù)、輸入和測試場景的所有組合是不可能的,因為它需要大量的時間。相反,測試團隊只能專注于一些重要的指標,例如:設(shè)置測試策略的風險和優(yōu)先級。一般來說,項目周期里永遠不可能允許測試團隊在項目中進行大量有效的組合測試。
比如測試一個簡單的計算器,你可以嘗試1+1,1+2,1+3,1+n……,但是時間上允許你把所有的數(shù)字都考慮進去做詳盡測試嗎?顯然是不可能的,從功能本身出發(fā)也算是多余操作。
隨著系統(tǒng)承載業(yè)務(wù)多,代碼規(guī)模也越龐大,算法邏輯復(fù)雜度也越高。要讓測試完全覆蓋是不可能的。那難道不測?非也!我們可以采取以下策略:
1、精準測試:改動什么測什么;
2、二八原則:只測重點;
3、等價劃分;
等等
原則三:盡早介入測試
這條很重要,但是對測試的要求也會更高。
“早期的鳥兒有蟲吃”或者是“早起的蟲子被鳥吃”,對,說的就是這個理兒,早,是我們解決問題的有效辦法。
必須盡早介入測試活動,為軟件開發(fā)的下一階段做好準備。只要生成產(chǎn)品需求或文檔,測試人員甚至就可以開始測試。

另外,盡早介入測試,測試人員能夠更全面的了解需求和項目整體進度,知己知彼百戰(zhàn)不殆,說的就是這個理兒。
盡早介入測試原則與測試左移和測試前移具有異曲同工之妙。
原則四:缺陷具有集群性
之前聽過一種理論,二八原則,即:80%的錯誤是由20%的模塊引起的。
缺陷聚類指的是在幾個模塊中發(fā)現(xiàn)了大部分缺陷。這一原則要求測試團隊利用自己的知識和經(jīng)驗,確定要測試的潛在模塊。這一預(yù)測有助于節(jié)省時間和精力,因為團隊只需要關(guān)注那些 “敏感” 領(lǐng)域。
然而,這種方法也有缺點: 一旦測試人員只專注于所有團隊的一小塊區(qū)域,他們可能會錯過其他區(qū)域的錯誤。
原則五:殺蟲劑悖論
當我們反復(fù)使用相同的殺蟲劑的時候,會有少量害蟲產(chǎn)生免疫而存活下來,使得殺蟲劑失去藥效。
原則六:測試是上下文相關(guān)的
各種產(chǎn)品或項目包含不同的元素、特征和要求。因此,測試人員不能對不同的項目應(yīng)用相同的測試方法。例如,銀行行業(yè)的應(yīng)用程序應(yīng)該比娛樂軟件需要做更多的測試。
原則七:無錯誤謬論
在 原則一:測試顯示軟件存在缺陷 中說明,測試是為了降低缺陷存在的可能性而開展的活動,即便多次測試都沒有發(fā)現(xiàn)任何缺陷,也不能證明軟件是完美的。
Appium移動端自動化測試--基礎(chǔ)預(yù)熱 Appium移動端自動化測試--搭建測試環(huán)境 Appium移動端自動化測試--錄制測試用例并運行 Appium移動端自動化測試--使用IDE編輯并強化腳本 Appium移動端自動化測試--控件定位方法 Appium移動端自動化測試--元素操作與觸摸動作 Appium移動端自動化測試--搭建模擬器和真機環(huán)境 Appium移動端自動化測試--測試用例改造 Appium移動端自動化測試--capability使用和常用設(shè)備交互命令
軟件自動化測試交流群已創(chuàng)建,公號回復(fù)入群即可獲取入群二維碼。
評論
圖片
表情
