不管是要理解測試,仍是作好軟件測試,都要抓住這7個核心問題:html
測試選擇標準是選擇測試集或肯定⼀個測試集是否滿⾜指定目標的方法。測試充分性標準能夠用來決定什麼時候測試充分或者是否完成。markdown
經過一系列程序的執⾏對測試的效率進⾏分析。對將要執行的測試用例的選擇因其目標而異, 即測試集的效率評價基於具體想要實現的目標。oop
在以尋找缺陷爲目標的測試活動中, 是否可以致使系統失效,這是測試是否成功的標準。這與測試軟件是否知足設計規約或其它屬性有很大的不一樣, 後者的成功取決於軟件在現實的測試用例和測試環境中不出現失效。測試
Oracle是決定在給定的測試條件下程序運⾏是否正確的判斷依據,以 相應地給出測試「經過」或「失效」的裁決。有許多不一樣種類的Oracle, 如明確的需求規約、行爲模型以及代碼註釋。機器Oracle的自動化較爲困難和昂貴。spa
測試理論反對給⼀系列成功的測試賦予不正當的信任。不幸的是, ⼤大多數 創建的理論是消極的, 即它們將測試難以達到的功能確⽴爲能夠達到功能 的對⽴面。一個關於此的名⾔爲 Dijkstra所說的「程序的測試能夠代表bug的存在, 卻永遠沒法肯定bug完全消失」。最顯而易⻅的緣由是完整的測 試在現實的軟件中是不可能的, 正由於如此, 測試必須由⻛險驅動並被視 爲一種風險管理策略。設計
不可行路徑即爲不能夠由輸⼊數據執⾏的控制流路徑。這是基於路徑測試 的一個顯著問題, 在由測試輸⼊實行控制流路徑的⾃動衍生中表現尤其明 顯。code
「軟件可測性」有兩個相關但不一樣的含義: ⼀方面,它指滿⾜一個給定測試,覆蓋標準的難易程度;另⼀方面表⽰,當一個軟件存在缺陷時,⼀個測試集能夠暴露出缺陷的可能性。這兩個含義都很重要。orm
參讀連接:htm