歡迎來到合肥浪訊網(wǎng)絡(luò)科技有限公司官網(wǎng)
  咨詢服務(wù)熱線:400-099-8848

web開發(fā)名稱解說-關(guān)于過錯

發(fā)布時間:2020-09-05 文章來源:本站  瀏覽次數(shù):2528

因為對過錯有不同的了解和知道,所以目前還沒有一個一致的過錯分類辦法。過錯難于分類的原因,一方面是因為一個過錯有許多預(yù)兆,因而它能夠被歸入不同的類。因而DEF檢驗中呈現(xiàn)的過錯甲方建議按照(1)分類

(1) 按過錯的影響和后果分類

§ 較小過錯:只對體系輸出有一些非實質(zhì)性影響。如,輸出的數(shù)據(jù)格局不合要求等。

§ 中等過錯:對體系的運轉(zhuǎn)有部分影響。如輸出的某些數(shù)據(jù)有過錯或呈現(xiàn)冗余。

§ 較嚴(yán)峻過錯:體系的行為因過錯的干擾而呈現(xiàn)顯著不合情理的現(xiàn)象。比如開出了0.00元的支票,體系的輸出徹底不行信賴。

§ 嚴(yán)峻過錯:體系運轉(zhuǎn)不行跟蹤,一時不能掌握其規(guī)則,時好時壞。

§ 十分嚴(yán)峻的過錯:體系運轉(zhuǎn)中突然停機,其原因不明,無法軟發(fā)動。

§ 最嚴(yán)峻的過錯:體系運轉(zhuǎn)導(dǎo)致環(huán)境損壞,或是形成事端,引起生命、產(chǎn)業(yè)的丟失。

(2) 按過錯的性質(zhì)和規(guī)模分類

B.從軟件測驗觀點動身,把軟件過錯分為5類。

① 功用過錯

§ 規(guī)范闡明過錯:規(guī)范闡明或許不徹底,有二義性或自身對立。

§ 功用過錯:程序?qū)崿F(xiàn)的功用與用戶要求的不一致。這常常是因為規(guī)范闡明中包含過錯的功用、多余的功用或遺失的功用所致。

§ 測驗過錯:軟件測驗的規(guī)劃與實施產(chǎn)生過錯。軟件測驗自身也或許產(chǎn)生過錯。

§ 測驗規(guī)范引起的過錯:對軟件測驗的規(guī)范要挑選恰當(dāng),若測驗規(guī)范太雜亂,則導(dǎo)致測驗進程犯錯的或許就大。

② 體系過錯

§ 外部接口過錯:外部接口指如終端、打印機、通訊線路等體系與外部環(huán)境通訊的手段。所有外部接口之間,人與機器之間的通訊都運用形式的或非形式的專門協(xié)議。假如協(xié)議有錯,或太雜亂,難以了解,致使在運用中犯錯。此外還包含對輸入/輸出格局過錯了解,對輸入數(shù)據(jù)不合理的容錯等等。

§ 內(nèi)部接口過錯:內(nèi)部接口指程序之間的聯(lián)絡(luò)。它所產(chǎn)生的過錯與程序內(nèi)實現(xiàn)的細(xì)節(jié)有關(guān)。例如,規(guī)劃協(xié)議錯、輸入/輸出格局錯、數(shù)據(jù)保護不行靠、子程序拜訪錯等。

§ 硬件結(jié)構(gòu)過錯:這類過錯在于不能正確地了解硬件怎么工作。例如,忽視或過錯地了解分頁組織、地址生成、通道容量、I/O指令、中斷處理、設(shè)備初始化和發(fā)動等而導(dǎo)致的犯錯。

§ 操作體系過錯:這類過錯首要是因為不了解操作體系的工作機制而導(dǎo)致犯錯。。當(dāng)然,操作體系自身也有過錯,但是一般用戶很難發(fā)現(xiàn)這種過錯。

§ 軟件結(jié)構(gòu)過錯:因為軟件結(jié)構(gòu)不合理或不清晰而引起的過錯。這種過錯通常與體系的負(fù)載有關(guān),而且往往在體系滿載時才呈現(xiàn)。這是最難發(fā)現(xiàn)的一類過錯。例如,過錯地設(shè)置部分參數(shù)或全局參數(shù);過錯地假定寄存器與存儲器單元初始化了;過錯地假定不會產(chǎn)生中斷而導(dǎo)致不能封鎖或開中斷;過錯地假定程序能夠繞過數(shù)據(jù)的內(nèi)部鎖而導(dǎo)致不能封閉或翻開內(nèi)部鎖;過錯地假定被調(diào)用子程序常駐內(nèi)存或十分駐內(nèi)存等等,都將導(dǎo)致軟件犯錯。

§ 操控與次序過錯:這類過錯包含:忽視了時刻要素而損壞了事情的次序;猜想事情呈現(xiàn)在指定的序列中;等候一個不行能產(chǎn)生的條件;漏掉先決條件;規(guī)定過錯的優(yōu)先級或程序狀態(tài);漏掉處理過程;存在不正確的處理過程或多余的處理過程等。

§ 資源管理過錯:這類過錯是因為不正確地運用資源而產(chǎn)生的。例如,運用未經(jīng)獲準(zhǔn)的資源;運用后未釋放資源;資源死鎖;把資源鏈接在過錯的行列中等等。

③ 加工過錯

§ 算術(shù)與操作過錯:指在算術(shù)運算、函數(shù)求值和一般操作進程中產(chǎn)生的過錯。包含:數(shù)據(jù)類型轉(zhuǎn)換錯;除法溢出;過錯地運用關(guān)系比較符;用整數(shù)與浮點數(shù)做比較等。

§ 初始化過錯:典型的過錯有:忘掉初始化工作區(qū),忘掉初始化寄存器和數(shù)據(jù)區(qū);過錯地對循環(huán)操控變量賦初值;用不正確的格局,數(shù)據(jù)或類型進行初始化等等。

§ 操控和次序過錯:這類過錯與體系級同名過錯相似,但它是部分過錯。包含:遺失路徑;不行到達的代碼;不符合語法的循環(huán)嵌套;循環(huán)返回和停止的條件不正確;漏掉處理過程或處理過程有錯等。

§ 靜態(tài)邏輯過錯:這類過錯首要包含:不正確地運用CASE語句;在表達式中運用不正確的否定(例如用“>”代替“<”的否定);對情況不恰當(dāng)?shù)胤纸馀c組合;混雜“或”與“異或”等。

④ 數(shù)據(jù)過錯

§ 動態(tài)數(shù)據(jù)過錯:動態(tài)數(shù)據(jù)是在程序履行進程中暫時存在的數(shù)據(jù)。各種不同類型的動態(tài)數(shù)據(jù)在程序履行期間將同享一個共同的存儲區(qū)域,若程序發(fā)動時對這個區(qū)域未初始化,就會導(dǎo)致數(shù)據(jù)犯錯。因為動態(tài)數(shù)據(jù)被損壞的方位或許與犯錯的方位在距離上相差很遠(yuǎn),因而要發(fā)現(xiàn)這類過錯比較困難。

§ 靜態(tài)數(shù)據(jù)過錯:靜態(tài)數(shù)據(jù)在內(nèi)容和格局上都是固定的。它們直接或間接地呈現(xiàn)在程序或數(shù)據(jù)庫中。由編譯程序或其它專門程序?qū)λ鼈冏鲱A(yù)處理。這是在程序履行前防止靜態(tài)過錯的好辦法,但預(yù)處理也會犯錯。

§ 數(shù)據(jù)內(nèi)容過錯:數(shù)據(jù)內(nèi)容是指存儲于存儲單元或數(shù)據(jù)結(jié)構(gòu)中的位串、字符串或數(shù)字。數(shù)據(jù)內(nèi)容自身沒有特定的含義,除非經(jīng)過硬件或軟件給予解說。數(shù)據(jù)內(nèi)容過錯就是因為內(nèi)容被損壞或被過錯地解說而形成的過錯。

§ 數(shù)據(jù)結(jié)構(gòu)過錯:數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)元素的大小和組織形式。在同一存儲區(qū)域中能夠界說不同的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)過錯首要包含結(jié)構(gòu)闡明過錯及把一個數(shù)據(jù)結(jié)構(gòu)誤作為另一類數(shù)據(jù)結(jié)構(gòu)運用的過錯。這是更風(fēng)險的過錯。

§ 數(shù)據(jù)特點過錯:數(shù)據(jù)特點是指數(shù)據(jù)內(nèi)容的含義或語義。例如,整數(shù)、字符串、子程序等等。數(shù)據(jù)特點過錯首要包含:對數(shù)據(jù)特點不正確地解說,比如錯把整數(shù)當(dāng)實數(shù),答應(yīng)不同類型數(shù)據(jù)混合運算而導(dǎo)致的過錯等。

⑤ 代碼過錯

首要包含:語法過錯;打字過錯;對語句或指令不正確了解所產(chǎn)生的過錯。

(3) 按軟件生存期階段分類

Good enough-Gerhart分類辦法把軟件的邏輯過錯按生存期不同階段分為4類。

① 問題界說(需求分析)過錯

它們是在軟件界說階段,分析員研討用戶的要求后所編寫的文檔中呈現(xiàn)的過錯。換句話說,這類過錯是因為問題界說不滿足用戶的要求而導(dǎo)致的過錯。

② 規(guī)范闡明過錯

這類過錯是指規(guī)范闡明與問題界說不一致所產(chǎn)生的過錯。它們又能夠細(xì)分紅:

§ 不一致性過錯:規(guī)范闡明中功用闡明與問題界說產(chǎn)生對立。

§ 冗余性過錯:規(guī)范闡明中某些功用闡明與問題界說比較是多余的。

§ 不完整性過錯:規(guī)范闡明中缺少某些必要的功用闡明。

§ 不行行過錯:規(guī)范闡明中有些功用要求是不行行的。

§ 不行測驗過錯:有些功用的測驗要求是不現(xiàn)實的。

③ 規(guī)劃過錯

這是在規(guī)劃階段產(chǎn)生的過錯,它使體系的規(guī)劃與需求規(guī)范闡明中的功用闡明不相符。它們又能夠細(xì)分為:

§ 規(guī)劃不徹底過錯:某些功用沒有被規(guī)劃,或規(guī)劃得不徹底。

§ 算法過錯:算法挑選不合適。首要表現(xiàn)為算法的基本功用不滿足功用要求、算法不行行或許算法的功率不符合要求。

§ 模塊接口過錯:模塊結(jié)構(gòu)不合理;模塊與外部數(shù)據(jù)庫的界面不一致,模塊之間的界面不一致。

§ 操控邏輯過錯:操控流程與規(guī)范闡明不一致;操控結(jié)構(gòu)不合理。

§ 數(shù)據(jù)結(jié)構(gòu)過錯:數(shù)據(jù)規(guī)劃不合理;與算法不匹配;數(shù)據(jù)結(jié)構(gòu)不滿足規(guī)范闡明要求。

④ 編碼過錯

編碼進程中的過錯是多種多樣的,大體可歸為以下幾種:數(shù)據(jù)闡明錯、數(shù)據(jù)運用錯、計算錯、比較錯、操控流錯、界面錯、輸入/輸犯錯,及其它的過錯。

在不同的開發(fā)階段,過錯的類型和表現(xiàn)形式是不同的,故應(yīng)當(dāng)采用不同的辦法和策略來進行檢測。

上一條:網(wǎng)站開發(fā)根底知識AJAX...

下一條:SEO優(yōu)化幾大根本準(zhǔn)則...