




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第五講可靠性與程序設(shè)計風(fēng)格第1頁,共18頁,2023年,2月20日,星期一1.什么是軟件可靠性
軟件可靠性在特定環(huán)境特定時間內(nèi)程序不是擺地運(yùn)行的概率信息安全可靠性:訪問控制、加密程序運(yùn)行可靠性:編程風(fēng)格、測試軟件錯誤統(tǒng)計
功能錯:占整個軟件錯誤27%,是需求分析設(shè)計不完整而引起的系統(tǒng)錯:占整個軟件錯誤16%,是總體設(shè)計錯誤而引起的數(shù)據(jù)錯:占整個軟件錯誤10%,由編碼錯誤引起的編碼錯:占整個軟件錯誤4%,程序員編碼錯誤引起的其它錯:占整個軟件錯誤4%,由文檔錯和硬件錯所引起的第2頁,共18頁,2023年,2月20日,星期一軟件錯誤分類詞法錯誤:打字錯誤語法錯誤:編譯錯誤語義錯誤:連接錯誤邏輯錯誤:運(yùn)行錯誤錯誤越“高級”,解決代價越高昂非常難以發(fā)現(xiàn)的錯誤常常是小錯誤第3頁,共18頁,2023年,2月20日,星期一2.軟件測試評審和測試是發(fā)現(xiàn)錯誤的主要途徑軟件測試就是為了盡可能多地發(fā)現(xiàn)錯誤和缺陷軟件測試不能證明軟件沒有錯誤第4頁,共18頁,2023年,2月20日,星期一測試用例:測試數(shù)據(jù)+預(yù)期結(jié)果不僅設(shè)計合法的測試用例,也要設(shè)計非法的和非預(yù)期的測試用例用少量測試用例發(fā)現(xiàn)盡可能多的錯誤測試用例、測試計劃、測試統(tǒng)計都應(yīng)保留應(yīng)避免程序員測試自己的程序徹底測試整個軟件錯誤群集:若發(fā)現(xiàn)錯誤數(shù)目多,則殘存錯誤數(shù)目也比較多
第5頁,共18頁,2023年,2月20日,星期一單元測試模塊接口測試局部數(shù)據(jù)結(jié)構(gòu)測試路徑測試錯誤處理測試邊界測試:±1驅(qū)動模塊:相當(dāng)于所測模塊的主程序。它接收不同測試用例的測試數(shù)據(jù),并把這些數(shù)據(jù)傳給所測模塊,最后輸出實測結(jié)果樁模塊:也稱存根模塊、連接模塊。用以代替所測模塊調(diào)用的子模塊。樁模塊不需要具備子模塊所有功能,但也不能什么事情都不做,要模擬實際子模塊的功能第6頁,共18頁,2023年,2月20日,星期一組裝測試:也叫做集成測試或聯(lián)合測試,發(fā)現(xiàn)與接口相聯(lián)系的問題
數(shù)據(jù)穿過接口時可能會丟失某個模塊可能會破壞另一個模塊的功能各子模塊組合起來可能達(dá)不到預(yù)期要求的主功能全局?jǐn)?shù)據(jù)結(jié)構(gòu)可能出問題單個模塊可以接受的誤差,裝配以后可能會放大(或積累)到不能接受的程度確認(rèn)測試:又稱驗收測試驗證軟件的功能和性能及其他特性是否與用戶的要求一致軟件需求規(guī)格說明書既是軟件開發(fā)依據(jù),也是軟件驗收標(biāo)準(zhǔn)
第7頁,共18頁,2023年,2月20日,星期一黑盒測試:又稱功能測試,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程等價類劃分:把所有可能的輸入數(shù)據(jù)(有效的和無效的)劃分成若干個等價類,從每個等價類中只取一組數(shù)據(jù)作為測試數(shù)據(jù)邊界值分析:處理邊界情況時程序最容易發(fā)生錯誤。選取剛好等于、稍小于和稍大于等價類邊界值的數(shù)據(jù)作為測試數(shù)據(jù)錯誤推測:靠直覺和經(jīng)驗列舉出程序中可能有的錯誤和容易發(fā)生錯誤的特殊情況,并且根據(jù)它們選擇測試方案,作為輔助手段綜合策略:將各種技術(shù)結(jié)合起來,取長補(bǔ)短,形成綜合的測試策略第8頁,共18頁,2023年,2月20日,星期一白盒測試:又稱結(jié)構(gòu)測試,完全了解程序的結(jié)構(gòu)和處理過程邏輯覆蓋一系列測試過程逐漸進(jìn)行越來越完整的通路測試語句覆蓋:至少每個語句應(yīng)該執(zhí)行一次判定覆蓋:又叫分支覆蓋,不僅每個語句必須至少執(zhí)行一次,而且每個判定的每種可能的結(jié)果都應(yīng)該至少執(zhí)行一次條件覆蓋:不僅每個語句至少執(zhí)行一次,而且使判定表達(dá)式中的每個條件都取到各種可能的結(jié)果。條件覆蓋通常比判定覆蓋強(qiáng)、更細(xì)判定/條件覆蓋:使得判定表達(dá)式中的每個條件都取到各種可能的值,而且每個判定表達(dá)式也都取到各種可能的結(jié)果;也可能有相反的情況條件組合覆蓋:選取足夠多的測試數(shù)據(jù),使得每個判定表達(dá)式中條件的各種可能組合都至少出現(xiàn)一次路徑覆蓋:每條可能路徑都至少執(zhí)行一次第9頁,共18頁,2023年,2月20日,星期一3.軟件糾錯
軟件測試:盡可能多地暴露程序中的錯誤軟件調(diào)試:發(fā)現(xiàn)錯誤的最終目的是為了改正錯誤
調(diào)試方法輸出存儲器內(nèi)容適當(dāng)插入打印語句使用專門的調(diào)試工具:設(shè)置斷點調(diào)試策略試探法:分析錯誤征兆,猜想故障的大致位置回溯法:人工沿程序的控制流往回追蹤程序代碼,直到找出錯誤的根源或確定故障范圍為止歸納法:收集、整理數(shù)據(jù),發(fā)現(xiàn)規(guī)律,提出假設(shè),證明假設(shè)演繹法:從一般原理出發(fā),經(jīng)過刪除和精化推導(dǎo)出結(jié)論第10頁,共18頁,2023年,2月20日,星期一4.編程風(fēng)格高效+技巧安全+可靠時間、空間效率可用性、可維護(hù)性、可移植性良好的編程風(fēng)格可以減少軟件錯誤程序設(shè)計風(fēng)格源程序文檔化:標(biāo)識符名,注釋,視覺組織數(shù)據(jù)說明:變量名,排列順序語句構(gòu)造:易讀>效率,避免復(fù)雜的語句輸入和輸出:校驗,允許缺省值,輸出加注釋效率:追求效率要建立在不損害程序可讀性或可靠性基礎(chǔ)之上。要先使程序正確、再提高效率,要先使程序清晰,再提高程序效率第11頁,共18頁,2023年,2月20日,星期一命名約定當(dāng)同時多個程序員合作從事一個項目時當(dāng)把程序移交給另一個程序員修改和維護(hù)時當(dāng)其他程序員評審程序時當(dāng)程序過大需要分部分考慮時當(dāng)一個項目中頻繁使用不常見詞匯命名約定可以強(qiáng)化相關(guān)項之間的關(guān)系命名約定可以彌補(bǔ)語言的缺陷命名約定可以幫助程序員更快熟悉項目的代碼命名約定可以防止一個變量多名命名約定可以增強(qiáng)程序的可讀性第12頁,共18頁,2023年,2月20日,星期一命名注意事項堅持使用英語命名,不用漢語拼音及縮寫名稱最佳長度:介于MaximumNumberOfPointsSince1896和x之間名稱的作用域:短名稱總是不好么?反義詞可以保持名稱的連續(xù)性:add/removebegin/endcreate/destroyinsert/deletefirst/lastget/releaseincrement/decrementput/getup/downlock/unlockmin/maxnext/previousold/newopen/closeshow/hidesource/destinationstart/stop循環(huán)變量:i/j/k狀態(tài)變量:Flag/StatusFlag/PrintFlag/DataReady/Type臨時變量:temp/t/x邏輯變量:Done/Error/Found/Success常量:PI/CYCLES_NEEDED第13頁,共18頁,2023年,2月20日,星期一匈牙利命名法:見名知義小寫前綴與大小寫混合的單詞組合一整套對子程序和變量的詳細(xì)命名約定發(fā)明者CharlesSimonyi原為匈牙利人組成部分基本類型、一個以上前綴、一個限定詞基本類型(小寫):程序語言中沒有的抽象數(shù)據(jù)類型例如:wn:窗口scr:屏幕區(qū)fon:字體ch:字符pa:段落WNwnMain;SCRscrUserWorkspace;前綴(小寫):標(biāo)準(zhǔn)化的,可以與基本類型組合 例如:a:數(shù)組c:數(shù)目e:數(shù)組元素g:全局變量
i:數(shù)組下標(biāo)m:模塊層次的變量p(lp,np):指針h:處理限定記號(大小寫混合):名稱的描述部分舉例:achDeleteichMinpachInsertcscrMenu第14頁,共18頁,2023年,2月20日,星期一注釋:源代碼中的文檔代碼的重復(fù):沒有附加信息代碼的解釋:應(yīng)當(dāng)改進(jìn)代碼代碼中的標(biāo)記:開發(fā)記錄提示,后續(xù)的工作代碼的總結(jié):增加可讀性代碼意圖的描述:問題一級的注釋要注釋還是不要注釋注釋一定要準(zhǔn)確不精確的(錯誤的)注釋比沒有注釋更糟第15頁,共18頁,2023年,2月20日,星期一序言性注釋安排在每個程序模塊的起始部分,對程序的整體說明,對于理解程序本身具有引導(dǎo)作用程序或模塊的功能方面的說明:程序或模塊標(biāo)題、功能界面描述:調(diào)用形式、輸入輸出參數(shù)的意義、引用的子程序重要變量的使用、限制及其它信息開發(fā)歷史:編者(日期)、審查者(日期)、修改(日期)功能性注釋嵌入在源程序體內(nèi),描述其后的語句或程序段的處理功能描述的對象是一段程序,而不是每一個語句適當(dāng)使用縮進(jìn)和空行,使程序與注釋容易區(qū)別第16頁,共18頁,2023年,2月20日,星期一空間布局每行僅寫一條語
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國玻璃纖維單升降梯市場調(diào)查研究報告
- 2025年中國液壓閘式剪板機(jī)市場調(diào)查研究報告
- 學(xué)??照{(diào)維修合同范本
- 2025年中國無塵氧化銻市場調(diào)查研究報告
- 2025年中國支鍋架市場調(diào)查研究報告
- 鍋爐托管運(yùn)營合同范本
- 2025年中國塑料垃圾容器市場調(diào)查研究報告
- 木作合同范本要求
- 2025年中國剛性卡箍市場調(diào)查研究報告
- 2025年中國全自動液壓制杯機(jī)市場調(diào)查研究報告
- 中學(xué)生勞動安全課件
- 辦公樓維修改造施工方案
- 2024年度教育軟件采購合同
- 2024年醫(yī)療器械經(jīng)營質(zhì)量管理規(guī)范培訓(xùn)課件
- 廣電和通信設(shè)備電子裝接工(高級工)理論考試復(fù)習(xí)題庫(含答案)
- 2024年河南住戶調(diào)查業(yè)務(wù)題庫
- 天車安全操作培訓(xùn)教材
- 《籃球運(yùn)球》教案(共四篇)
- 國企關(guān)于違反“三重一大”決策制度責(zé)任追究辦法
- CRF病例報告表模板
- 九上下冊物理人教版九年級物理全冊第十九章《生活用電》第3節(jié)《安全用電》課件(42張)公開課教案
評論
0/150
提交評論