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