首頁技術(shù)文章正文

什么是軟件缺陷?哪些原因會導(dǎo)致軟件缺陷產(chǎn)生?

更新時間:2020-10-09 來源:黑馬程序員 瀏覽量:

軟件缺陷就是通常所說的Bug,它是指軟件中(包括程序和文檔)存在的影響軟件正常運行的問題。IEEE(Institute of Electrical and Electronics Engineers,電氣電子工程師協(xié)會)729-1983標(biāo)準(zhǔn)對軟件缺陷有一個標(biāo)準(zhǔn)的定義:從產(chǎn)品內(nèi)部看,缺陷是產(chǎn)品開發(fā)或維護(hù)過程中存在的錯誤、毛病等各種問題;從產(chǎn)品外部看,缺陷是系統(tǒng)運行過程中某種功能的失效或違背。

軟件缺陷的產(chǎn)生主要是由軟件產(chǎn)品的特點和開發(fā)過程決定的,比如需求不清晰、需求頻繁變更、開發(fā)人員水平有限等。歸結(jié)起來,軟件缺陷產(chǎn)生的原因主要有以下幾點。

(1)需求不明確。軟件需求不清晰或者開發(fā)人員對需求理解不明確,導(dǎo)致軟件在設(shè)計時偏離客戶的需求目標(biāo),造成軟件功能或特征上的缺陷。此外,在開發(fā)過程中,客戶頻繁變更需求也會影響軟件最終的質(zhì)量。

(2)軟件結(jié)構(gòu)復(fù)雜。如果軟件系統(tǒng)結(jié)構(gòu)比較復(fù)雜,很難設(shè)計出一個具有很好層次結(jié)構(gòu)或組件結(jié)構(gòu)的框架,這就會導(dǎo)致軟件在開發(fā)、擴充、系統(tǒng)維護(hù)上的困難。即使能夠設(shè)計出一個很好的架構(gòu),復(fù)雜的系統(tǒng)在實現(xiàn)時也會隱藏著相互作用的難題,而導(dǎo)致隱藏的軟件缺陷。

(3)編碼問題。在軟件開發(fā)過程中,程序員水平參差不齊,再加上開發(fā)過程中缺乏有效的溝通和監(jiān)督,問題累積越來越多,如果不能逐一解決這些問題,會導(dǎo)致最終軟件中存在很多缺陷。

(4)項目期限短?,F(xiàn)在大部分軟件產(chǎn)品開發(fā)周期都很短,開發(fā)團(tuán)隊要在有限的時間內(nèi)完成軟件產(chǎn)品的開發(fā),壓力非常大,因此開發(fā)人員往往是在疲勞、壓力大、受到干擾的狀態(tài)下開發(fā)軟件,這樣的狀態(tài)下,開發(fā)人員對待軟件問題的態(tài)度是“不嚴(yán)重就不解決”。

(5)使用新技術(shù)。現(xiàn)代社會,每種技術(shù)發(fā)展都日新月異。使用新技術(shù)進(jìn)行軟件開發(fā)時,如果新技術(shù)本身存在不足或開發(fā)人員對新技術(shù)掌握不精,也會影響軟件產(chǎn)品的開發(fā)過程,導(dǎo)致軟件存在缺陷。

猜你喜歡:

缺陷報告重要么?報告缺陷注意事項有哪些? 

常見缺陷類型有哪些?

軟件測試缺陷書寫規(guī)范是什么?

測試中遇到問題,如何進(jìn)行缺陷定位?

軟件測試培訓(xùn)課程4.0 


分享到:
在線咨詢 我要報名
和我們在線交談!