一、 軟件錯(cuò)誤類型分析
(一)程序正確性的差異
- 程序編寫得無(wú)語(yǔ)法錯(cuò)誤
- 程序執(zhí)行中未發(fā)現(xiàn)明顯的運(yùn)行錯(cuò)誤
- 程序中無(wú)不適當(dāng)?shù)恼Z(yǔ)句
- 程序運(yùn)行時(shí)谅畅,能通過(guò)典型的有效測(cè)試數(shù)據(jù)谱煤,而得到正確的預(yù)期結(jié)果
- 程序運(yùn)行時(shí),能通過(guò)典型的無(wú)效測(cè)試數(shù)據(jù)嘉抓,而得到正確的結(jié)果
- 程序運(yùn)行時(shí)索守,能通過(guò)任何可能的數(shù)據(jù),并給出正確的結(jié)果
(二)軟件錯(cuò)誤的分類
- 軟件需求錯(cuò)誤
- 功能和性能錯(cuò)誤
- 軟件結(jié)構(gòu)錯(cuò)誤
- 數(shù)據(jù)錯(cuò)誤
- 軟件實(shí)現(xiàn)和編碼錯(cuò)誤
- 軟件集成錯(cuò)誤
- 軟件系統(tǒng)結(jié)構(gòu)錯(cuò)誤
- 測(cè)試定義與測(cè)試執(zhí)行錯(cuò)誤
軟件錯(cuò)誤分類統(tǒng)計(jì).png
(三)軟件錯(cuò)誤后果
- 較小錯(cuò)誤:對(duì)輸出結(jié)果有非實(shí)質(zhì)性影像抑片。
- 中等錯(cuò)誤:對(duì)系統(tǒng)運(yùn)行有局部的影響卵佛。
- 較嚴(yán)重錯(cuò)誤:系統(tǒng)的行為由于錯(cuò)誤的干擾而出現(xiàn)明顯不合情理的現(xiàn)象。
- 嚴(yán)重錯(cuò)誤:系統(tǒng)運(yùn)行不可跟蹤敞斋,一時(shí)不能掌握其規(guī)律截汪,時(shí)好時(shí)壞。
- 非常嚴(yán)重錯(cuò)誤:系統(tǒng)運(yùn)行中突然停機(jī)植捎,其原因不明衙解,且無(wú)法軟啟動(dòng)。
- 最嚴(yán)重錯(cuò)誤:運(yùn)行被測(cè)軟件導(dǎo)致環(huán)境遭到破壞焰枢,或是造成事故蚓峦。
二舌剂、 程序中隱藏錯(cuò)誤數(shù)量估計(jì)
(一)撒播模型(Seeding Models)
(二)回歸模型
三、 軟件質(zhì)量因素和質(zhì)量特性
(一)把握軟件質(zhì)量
- 軟件需求是衡量軟件質(zhì)量的基礎(chǔ)
- 規(guī)定了的標(biāo)準(zhǔn)是軟件開發(fā)必須遵循的準(zhǔn)則
- 軟件通常有著一些不做明文規(guī)定的隱含需求
軟件質(zhì)量因素.png
(二)質(zhì)量因素與質(zhì)量特性的關(guān)系
質(zhì)量因素可以分解成一些獨(dú)立的質(zhì)量特性(Quality Characteristics)暑椰。
質(zhì)量因素與質(zhì)量特性的關(guān)系.png
四霍转、 軟件質(zhì)量保證的任務(wù)
(一)軟件質(zhì)量保證(SQA-Software quality assurance)
- 采用技術(shù)手段
- 組織正式技術(shù)評(píng)審
- 軟件測(cè)試
- 推行軟件工程標(biāo)準(zhǔn)
- 對(duì)軟件的變更進(jìn)行控制
- 對(duì)軟件質(zhì)量進(jìn)行度量
- 對(duì)軟件質(zhì)量情況及時(shí)記錄和報(bào)告
軟件評(píng)審(Review)是軟件質(zhì)量保證的一個(gè)重要手段。
貫穿開發(fā)過(guò)程中的評(píng)審.png
開發(fā)過(guò)程中錯(cuò)誤模型.png
未經(jīng)軟件評(píng)審的錯(cuò)誤擴(kuò)展.png
經(jīng)過(guò)軟件評(píng)審的錯(cuò)誤擴(kuò)展.png
五一汽、 程序排錯(cuò)
(一)排錯(cuò)工作概述
-
什么是程序排錯(cuò)
測(cè)試是一種檢驗(yàn)避消。測(cè)試以后進(jìn)行的這些工作稱為排錯(cuò)。
排錯(cuò)過(guò)程.png - 排錯(cuò)中遇到的困難
- 心里因素
- 改正一個(gè)錯(cuò)誤時(shí)召夹,有時(shí)可能引進(jìn)兩個(gè)或多個(gè)更多的錯(cuò)誤
- 錯(cuò)誤本身一些特點(diǎn)也增加了排錯(cuò)的困難
(二)排錯(cuò)方法
- 內(nèi)存信息轉(zhuǎn)儲(chǔ)(core dumps)
- 跟蹤
- 打印語(yǔ)句
- 使用排錯(cuò)程序
(三)排錯(cuò)策略
- 試錯(cuò)法(Trial and error)
- 回溯法(Backtracking)
- 向前追蹤(Forwardtracking)
- 二分查找(Binary-Search)逼近法
- 歸納法(Induction)
歸納法排錯(cuò)過(guò)程.png
- 演繹法(Deduction)
演繹法排錯(cuò)過(guò)程.png