版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件工程第七章第一頁,共三十頁,2022年,8月28日Contents7.4測試用例設計()軟件危機(1.2)
7.5調試技術和策略7.6軟件測試工具第二頁,共三十頁,2022年,8月28日2例:程序Triangle讀入三個整數值,這三個整數代表同一個三角形三條邊的長度,程序根據這三個值判斷三角形屬于不等邊、等腰或等邊三角形中的那一種。第三頁,共三十頁,2022年,8月28日3abcTrianglea,b,c三角形的類型?第四頁,共三十頁,2022年,8月28日4starta<b+c?b<a+c?c<a+b?a=b?b=c?印出“不是三角形”印出“等邊三角形”印出“等腰三角形”印出“不等邊三角形”a=c?b=c?FTFFTTTTFFFFTTstop程序流程圖程序圖第五頁,共三十頁,2022年,8月28日5黑盒測試(等價劃分)
正常的三角形(a,b,c)不等邊三角形(8,10,12);(10,8,12);(10,12,8)等邊三角形(10,10,10)等腰三角形(10,10,17);(10,17,10);(17,10,10)第六頁,共三十頁,2022年,8月28日6黑盒測試(等價劃分)
退化的三角形(a,b,c)不等邊三角形(10,6,4)等邊三角形(0,0,0)等腰三角形(10,5,5);(5,10,5);(10,5,5)第七頁,共三十頁,2022年,8月28日7黑盒測試(等價劃分)
不能構成三角形的非法數據(a,b,c)a+b<c(10,10,21)b+c<a(21,10,10)c+a<b(10,21,10)第八頁,共三十頁,2022年,8月28日8黑盒測試(邊界值分析)一條邊長度為零的情況(0,10,12);(10,0,12);(10,12,0)兩條邊的長度為零的情況(0,0,17);(0,17,0);(17,0,0)三條邊的長度為零的情況(0,0,0)第九頁,共三十頁,2022年,8月28日9輸入數據中包含負整數(-10,-10,-10)……輸入數據不全(不足三個正整數)(10,-,-)……輸入數據中包含非整數型的數據(a,b,c)(1.2,6e-4,7.8)……黑盒測試(錯誤推測)第十頁,共三十頁,2022年,8月28日10調試(Debug)軟件調試是在進行了成功的測試之后才開始的工作。它與軟件測試不同,調試的任務是進一步診斷和改正程序中潛在的錯誤。調試活動由兩部分組成:
確定程序中可疑錯誤的確切性質和位置。對程序(設計,編碼)進行修改,排除這個錯誤。
第十一頁,共三十頁,2022年,8月28日11調試工作是一個具有很強技巧性的工作。軟件運行失效或出現問題,往往只是潛在錯誤的外部表現,而外部表現與內在原因之間常常沒有明顯的聯系。如果要找出真正的原因,排除潛在的錯誤,不是一件易事??梢哉f,調試是通過現象,找出原因的一個思維分析的過程。
第十二頁,共三十頁,2022年,8月28日12調試的步驟(1)從錯誤的外部表現形式入手,確定程序中出錯位置;(2)研究有關部分的程序,找出錯誤的內在原因;(3)修改設計和代碼,以排除這個錯誤;(4)重復進行暴露了這個錯誤的原始測試或某些有關測試。
第十三頁,共三十頁,2022年,8月28日13從技術角度來看,查找錯誤的難度在于:現象與原因所處的位置可能相距甚遠。當其它錯誤得到糾正時,這一錯誤所表現出的現象可能會暫時消失,但并未實際排除?,F象實際上是由一些非錯誤原因(例如,舍入不精確)引起的。第十四頁,共三十頁,2022年,8月28日14現象可能是由于一些不容易發(fā)現的人為錯誤引起的。錯誤是由于時序問題引起的,與處理過程無關?,F象是由于難于精確再現的輸入狀態(tài)(例如,實時應用中輸入順序不確定)引起?,F象可能是周期出現的。在軟、硬件結合的嵌入式系統中常常遇到。
第十五頁,共三十頁,2022年,8月28日15幾種主要的調試方法調試的關鍵在于推斷程序內部的錯誤位置及原因。可以采用以下方法:強行排錯 這種調試方法目前使用較多,效率較低。它不需要過多的思考,比較省腦筋。例如:
通過內存全部打印來調試,在這大量的數據中尋找出錯的位置。第十六頁,共三十頁,2022年,8月28日16
在程序特定部位設置打印語句,把打印語句插在出錯的源程序的各個關鍵變量改變部位、重要分支部位、子程序調用部位,跟蹤程序的執(zhí)行,監(jiān)視重要變量的變化。
自動調試工具。利用某些程序語言的調試功能或專門的交互式調試工具,分析程序的動態(tài)過程,而不必修改程序。
第十七頁,共三十頁,2022年,8月28日17 應用以上任一種方法之前,都應當對錯誤的征兆進行全面徹底的分析,得出對出錯位置及錯誤性質的推測,再使用一種適當的調試方法來檢驗推測的正確性?;厮莘ㄕ{試
這是在小程序中常用的一種有效的調試方法。
一旦發(fā)現了錯誤,人們先分析錯誤征兆,確定最先發(fā)現“癥狀”的位置。第十八頁,共三十頁,2022年,8月28日18
然后,人工沿程序的控制流程,向回追蹤源程序代碼,直到找到錯誤根源或確定錯誤產生的范圍。例如,程序中發(fā)現錯誤處是某個打印語句。通過輸出值可推斷程序在這一點上變量的值。再從這一點出發(fā),回溯程序的執(zhí)行過程,反復考慮:“如果程序在這一點上的狀態(tài)(變量的值)是這樣,那么程序在上一點的狀態(tài)一定是這樣...”,直到找到錯誤的位置。
第十九頁,共三十頁,2022年,8月28日19歸納法調試歸納法是一種從特殊推斷一般的系統化思考方法。歸納法調試的基本思想是:從一些線索(錯誤征兆)著手,通過分析它們之間的關系來找出錯誤。
收集有關的數據
列出所有已知的測試用例和程序執(zhí)行結果??茨男┹斎霐祿倪\行結果是正確的,哪些輸入數據的運行結果有錯誤。
第二十頁,共三十頁,2022年,8月28日20
組織數據
由于歸納法是從特殊到一般的推斷過程,所以需要組織整理數據,以發(fā)現規(guī)律。常以3W1H形式組織可用的數據:“What”列出一般現象;“Where”說明發(fā)現現象的地點;“When”列出現象發(fā)生時所有已知情況;“How”說明現象的范圍和量級;第二十一頁,共三十頁,2022年,8月28日21第二十二頁,共三十頁,2022年,8月28日22“Yes”描述出現錯誤的3W1H;“No”作為比較,描述了沒有錯誤的3W1H。通過分析找出矛盾來。
提出假設 分析線索之間的關系,利用在線索結構中觀察到的矛盾現象,設計一個或多個關于出錯原因的假設。如果一個假設也提不出來,歸納過程就需要收集更多的數據。此時,應當再設計與執(zhí)行一些測試用例,以獲得更多的數據。
第二十三頁,共三十頁,2022年,8月28日23
證明假設把假設與原始線索或數據進行比較,若它能完全解釋一切現象,則假設得到證明;否則,就認為假設不合理,或不完全,或是存在多個錯誤,以致只能消除部分錯誤。第二十四頁,共三十頁,2022年,8月28日24演繹法調試
演繹法是一種從一般原理或前提出發(fā),經過排除和精化的過程來推導出結論的思考方法。演繹法排錯是測試人員首先根據已有的測試用例,設想及枚舉出所有可能出錯的原因做為假設;然后再用原始測試數據或新的測試,從中逐個排除不可能正確的假設;最后,再用測試數據驗證余下的假設確是出錯的原因。第二十五頁,共三十頁,2022年,8月28日25
列舉所有可能出錯原因的假設
把所有可能的錯誤原因列成表。通過它們,可以組織、分析現有數據。
利用已有的測試數據,排除不正確的假設
仔細分析已有的數據,尋找矛盾,力求排除前一步列出所有原因。如果所有原因都被排除了,則需要補充一些數據(測試用例),以建立新的假設。第二十六頁,共三十頁,2022年,8月28日26
改進余下的假設
利用已知的線索,進一步改進余下的假設,使之更具體化,以便可以精確地確定出錯位置。
證明余下的假設第二十七頁,共三十頁,2022年,8月28日27調試原則在調試方面,許多原則本質上是心理學方面的問題。調試由兩部分組成,調試原則也分成兩組。確定錯誤的性質和位置的原則用頭腦去分析思考與錯誤征兆有關的信息。避開死胡同。第二十八頁,共三十頁,2022年,8月28日28只把調試工具當做輔助手段來使用。利用調試工具,可以幫助思考,但不能代替思考。避免用試探法,最多只能把它
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝修進度款支付合同
- 藥品冷鏈運輸保密合同
- 商業(yè)空間裝修施工合同范本
- 包包購銷合同
- 咨詢服務合同終止協議書年
- 互聯網廣告投放策略與實踐案例
- 建筑項目居間合同
- 出租打印機合同年
- 圖書購銷合同范例
- 工程管理咨詢合同
- 2 找春天 公開課一等獎創(chuàng)新教學設計
- 2025年江蘇護理職業(yè)學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年江蘇南京水務集團有限公司招聘筆試參考題庫含答案解析
- 護理人文知識培訓課件
- 建筑工程施工安全管理課件
- 2025年春新人教版數學七年級下冊教學課件 7.2.3 平行線的性質(第1課時)
- 安徽省合肥市2025年高三第一次教學質量檢測地理試題(含答案)
- 2025年上半年畢節(jié)市威寧自治縣事業(yè)單位招考考試(443名)易考易錯模擬試題(共500題)試卷后附參考答案
- 處方點評知識培訓
- 2025年新合同管理工作計劃
- 2020譯林版高中英語選擇性必修二單詞默寫表
評論
0/150
提交評論