- 測試設計思想
- 周海旭編著
- 687字
- 2024-12-27 21:34:17
1.4.1 正確性判定問題
在各個領域中,針對被測對象功能的測試是最普遍的、占比最多的測試活動。如前所述,當被測對象的現實結果與理想結果完全一致時,稱被測對象是“正確”的。顯然,只要找到一個缺陷,我們就可以判定被測對象并非正確。通常來說這并不難。但我們要如何確定被測對象確實是正確的呢?這就是“正確性判定問題”。
如果一個被測對象通過了測試,沒有暴露出任何缺陷,我們能聲明該被測對象是正確的嗎?從測試者的角度講,顯然我們很愿意給出這樣擲地有聲的結論,它有力地表明了測試的價值。更何況,對一些安全攸關、風險敏感的領域和產品來說,正確性判定是真實且迫切的需求。然而遺憾的是,在實際工程中進行正確性判定的難度非常大。
絕大多數情況下,測試是基于具體事件的。也就是說,首先找到與理想有關的所有可能的具體事件,然后從中選擇一部分,在特定的環境予以實現,觀察這些事件的實際結果與理想結果的異同。這就是測試活動的一般過程。我們稱所有可能的具體事件的集合為“測試輸入空間”,稱其中被選中用于測試的具體事件為“測試用例”。“正確”的含義是被測對象不存在任何缺陷,理想與現實在任何可能的情形下都完全相符。要確認這一點,就意味著測試者必須考察與理想有關的所有事件,任何一個都不能放過。換言之,測試必須覆蓋測試輸入空間的每一個角落。很多時候,需要無窮多的測試用例,或者說需要投入無窮多的成本,這并非可取之舉。正因如此,有測試者認為,測試只能證明缺陷存在,而不能證明缺陷不存在。
盡管如此,判定被測對象的正確性,仍然是測試者在質量評估方向的極致追求。很多研究和實踐圍繞這一問題展開,并切實地推動了測試理論與技術的發展。