如前所說,由于軟件系統越來越復雜,不管是需求分析、程序設計等都面臨越來越大的挑戰。軟件缺陷的產生,首先是不可避免的。其次,造成軟件缺陷的主要原因有哪些?我們可以從軟件本身、團隊工作和技術問題等多個方面分析,比較容易確定造成軟件缺陷的主要因素,歸納如下。
1技術問題
· 算法錯誤:在給定條件下沒能給出正確或準確的結果。
· 語法錯誤:一般情況下,對應的編程語言編譯器可以發現這類問題;對于解釋性語言,只能在測試運行的時候發現。
· 計算和精度問題:計算的結果沒有滿足所需要的精度。
· 系統結構不合理、算法不科學,造成系統性能低下。
· 接口參數傳遞不匹配,導致模塊集成出現問題。
2團隊工作
· 系統分析時對客戶的需求不是十分清楚,或者和用戶的溝通存在一些困難。
· 不同階段的開發人員相互理解不一致,軟件設汁對需求分析結果的理解偏差,編程人員甜系統設計規格說明書中某些內容重視不夠,或存在著誤解。
· 設計或編程上的一些假定或依賴性,沒有得到充分的溝通。
3軟件本身
· 文檔錯誤、內容不正確或拼寫錯誤。
· 沒有考慮大量數據使用場合,從而可能會引起強度或負載問題。
· 對程序邏輯路徑或數據范圍的邊界考慮不夠周全,漏掉某幾個邊界條件造成的容量或邊界錯誤。
· 對一些實時應用系統,要進行精心設計和技術處理,保證精確的時間同步,否則容易引起時間L不協稠、不一致性帶來的問題。
· 沒有考慮系統崩潰后的自我恢復或數據的異地備份、災難性恢復等問題,從而存在系統安全性、可靠性的隱患。
· 硬件或系統軟件卜存在的錯誤。
· 軟件開發標準或過程上的錯誤。
文章來源于領測軟件測試網 http://www.kjueaiud.com/