軟件測試發(fā)展 40 多年長期實(shí)踐總結(jié)歸納出基本的測試原理與測試特性準(zhǔn)則,被業(yè)界普遍接受和遵循。對測試設(shè)計(jì)、執(zhí)行和管理均具有工程指導(dǎo)意義
軟件測試
     原理 1: 測試可以證明缺陷存在,但不能證明缺陷不存在  測試可證明軟件產(chǎn)品是失敗的,即說明軟件中有缺陷但測試不能證明軟件中沒有缺陷。
     原理 2: 窮盡測試是不可能的測試若考慮所有可能的輸入值及其組合,并結(jié)合所有前置條件窮盡測試是不可能的。實(shí)際測試過程中必須根據(jù)風(fēng)險(xiǎn)和優(yōu)先級,控制測試工作量。
     原理 3: 測試活動(dòng)應(yīng)盡早開始在軟件生命周期中,測試活動(dòng)應(yīng)盡早實(shí)施,并聚焦于定義的目標(biāo)上,盡早發(fā)現(xiàn)缺陷。
     原理 4: 缺陷集群性通常情況下,缺陷并非平均而是集群分布,大多數(shù)的缺陷只存在于測試對象的小部分中。所謂的缺陷集群性,即‘8/2 現(xiàn)象’
     原理 5: 殺蟲劑悖論若同樣的測試用例被一再重復(fù)執(zhí)行, 則會(huì)減少測試的有效性。先前沒有發(fā)現(xiàn)的缺陷反復(fù)使用同樣的測試用例也不會(huì)被重新發(fā)現(xiàn)。戰(zhàn)勝這種“抗藥性”,應(yīng)對測試用例進(jìn)行修正或更新,從而發(fā)現(xiàn)更多的缺陷。
軟件測試
     原理 6: 測試依賴于測試內(nèi)容測試必須與應(yīng)用系統(tǒng)運(yùn)行環(huán)境及使用中固有風(fēng)險(xiǎn)相適應(yīng)。沒有兩個(gè)系統(tǒng)可以完全相同的方式進(jìn)行測試。對于每個(gè)軟件系統(tǒng),測試出口準(zhǔn)則等應(yīng)依據(jù)其使用的環(huán)境分別量體定制
     原理 7: 沒有失效就是有用的系統(tǒng)是一種謬論測試找到 Bug、 并修正缺陷,并非保證整個(gè)系統(tǒng)達(dá)到用戶預(yù)期要求