軟件測試需要一個“自覺”的過程 軟件測試工具
軟件開發和使用的歷史已經留給了我們很多由于軟件缺陷而導致的巨大財力、物力損失的經驗教訓。這些迫使我們這些軟件測試工程師們必須采取強有力的軟件測試措施來檢測未發現的隱藏的軟件缺陷。軟件測試的重要性越來越突顯。
生產軟件的最終目的是為了滿足客戶需求,我們以客戶需求作為評判軟件質量的標準,認為軟件缺陷(Software Bug)的具體含義包括下面幾個因素:
l 軟件未達到客戶需求的功能和性能;
l 軟件超出客戶需求的范圍;
l 軟件出現客戶需求不能容忍的錯誤;
l 軟件的使用未能符合客戶的習慣和工作環境。
考慮到設計等方面的因素,我們還可以認為軟件缺陷還可以包括軟件設計不符合規范,未能在特定的條件(資金、范圍等)達到最佳等?上У氖,我們中的很多人更傾向于把軟件缺陷看成運行時出現問題上來,認為軟件測試僅限于程序提交之后。
在目前的國內環境下,我們幾乎看不到完整準確的客戶需求說明書,加以客戶的需求時時在變,追求完美的測試變得不太可能。因此作為一個優異的測試人員,追求軟件質量的完美固然是我們的宗旨,但是明確軟件測試現實與理想的差距,在軟件測試中學會取舍和讓步,對軟件測試是有百益而無一弊的。
下面是一些軟件測試的常識,對這些常識的理解和運用將有助于我們在進行軟件測試時能夠更好的把握軟件測試的尺度。
軟件測試是不完全的(測試不完全)
很顯然,由于軟件需求的不完整性、軟件邏輯路徑的組合性、輸入數據的大量性及結果多樣性等因素,哪怕是一個極其簡單的程序,要想窮盡所有邏輯路徑,所有輸入數據和驗證所有結果是非常困難的一件事情。我們舉一個簡單的例子,比如說求兩個整數的最大公約數。其輸入信息為兩個正整數。但是如果我們將整個正整數域的數字進行一番測試的話,從其數目的無限性我們便可證明是這樣的測試在實際生活中是行不通的,即便某一天我們能夠窮盡該程序,只怕我們乃至我們的子孫都早已作古了。為此作為軟件測試,我們一般采用等價類和邊界值分析等措施來進行實際的軟件測試,尋找最小用例集合成為我們精簡軟件測試復雜性的一條必經之道。
文章來源于領測軟件測試網 http://www.kjueaiud.com/