《Visual Basic語言程序設(shè)計(jì)教程(第二版)》課件第15章 程序調(diào)試與軟件測試_第1頁
《Visual Basic語言程序設(shè)計(jì)教程(第二版)》課件第15章 程序調(diào)試與軟件測試_第2頁
《Visual Basic語言程序設(shè)計(jì)教程(第二版)》課件第15章 程序調(diào)試與軟件測試_第3頁
《Visual Basic語言程序設(shè)計(jì)教程(第二版)》課件第15章 程序調(diào)試與軟件測試_第4頁
《Visual Basic語言程序設(shè)計(jì)教程(第二版)》課件第15章 程序調(diào)試與軟件測試_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

15.1錯誤類型

程序調(diào)試就是對程序進(jìn)行測試并查找出錯誤所在。VisualBasic的錯誤類型可以分為語法錯誤、編譯錯誤、運(yùn)行錯誤和邏輯錯誤。1.語法錯誤通常是由于不正確書寫代碼而產(chǎn)生的。例如:多寫、漏寫、關(guān)鍵字寫錯,標(biāo)點(diǎn)符號使用不當(dāng)?shù)取τ谶@種錯誤,用VisualBasic中提供的自動語法檢查功能就可解決。當(dāng)輸入一行代碼并回車后,VisualBasic系統(tǒng)就立即檢測出錯誤,出錯的那一行變成紅色,出錯部分被高亮顯示并彈出消息對話框指出錯誤的原因,對通過基本語法檢查的語句,會自動將對象、常數(shù)等首字母變?yōu)榇髮?,自動調(diào)整各單詞之間的空格等。15.1錯誤類型2.編譯錯誤編譯錯誤是指單擊了“啟動”按鈕,VB開始運(yùn)行程序前,先編譯執(zhí)行的程序段首產(chǎn)生的錯誤。此類錯誤是由于用戶未定義變量、遺漏關(guān)鍵字等原因而產(chǎn)生的。這時VB也彈出一個對話框,提示錯誤信息。出錯的那行被高亮顯示,同時VB停止編譯。這時,用戶必須單擊“確定”按鈕,關(guān)閉出錯提示對話框,然后對出錯行進(jìn)行修改。15.1錯誤類型3.運(yùn)行錯誤運(yùn)行時的錯誤是VB在編譯通過后,運(yùn)行代碼時發(fā)生的錯誤。這類錯誤往往是由指令代碼執(zhí)行了非法操作引起的。例如,除法運(yùn)算中除數(shù)為零,類型不匹配,訪問文件時文件夾或文件找不到等。4.邏輯錯誤邏輯錯誤是指程序能正常運(yùn)行但是沒有得到預(yù)期結(jié)果的錯誤。例如,運(yùn)算符使用不正確,語句的次序不對,循環(huán)語句的起始、終值不正確。通常,邏輯錯誤不會產(chǎn)生錯誤提示信息,故錯誤較難排除,需要程序員仔細(xì)閱讀分析程序,并具有調(diào)試程序的經(jīng)驗(yàn)。15.2調(diào)試與排錯VB雖不能診斷或更正錯誤,但是提供了一些非常有用的工具,幫助分析運(yùn)行是如何從過程的一部分流動到另一部分,分析變量和屬性是如何隨著語句的執(zhí)行而改變的。使用調(diào)試工具,可以能深入到應(yīng)用程序內(nèi)部去觀察,從而確定產(chǎn)生錯誤的原因。15.2.1調(diào)試工具VisualBasic6.0提供了強(qiáng)大的調(diào)試工具,可以在“調(diào)試”菜單中找到,也可以在“調(diào)試”工具欄中找到。通過它們可以便捷有效地檢測出程序中邏輯錯誤地點(diǎn)和原因。

“調(diào)試”工具“調(diào)試”工具用途運(yùn)行從設(shè)計(jì)模式切換到運(yùn)行模式或從中斷模式切換到運(yùn)行模式中斷從運(yùn)行模式切換到中斷模式結(jié)束從中斷模式或運(yùn)行模式切換到設(shè)計(jì)模式切換斷點(diǎn)程序會連續(xù)運(yùn)行到光標(biāo)所在行后轉(zhuǎn)入中斷模式,暫停應(yīng)用程序的執(zhí)行逐語句程序逐條語句執(zhí)行,每執(zhí)行一條語句后轉(zhuǎn)入中斷模式逐過程程序?qū)⒄麄€函數(shù)或過程作為一條語句來執(zhí)行跳出程序?qū)⑦B續(xù)執(zhí)行完該過程的其余部分,返回調(diào)用過程的下一條語句并轉(zhuǎn)入中斷模式本地窗口顯示當(dāng)前過程中變量的值立即窗口當(dāng)應(yīng)用程序處于中斷模式時,允許運(yùn)行代碼或查詢變量值監(jiān)視窗口顯示選定表達(dá)式的值快速窗口當(dāng)應(yīng)用程序處于中斷模式時,列出表達(dá)式的當(dāng)前值調(diào)用堆棧在中斷模式中,顯示一個對話框,其中列出所有被調(diào)用且未完成運(yùn)行的過程15.2調(diào)試與排錯15.2.2調(diào)試方法VisualBasic6.0提供了強(qiáng)大的調(diào)試工具,可以在“調(diào)試”菜單中找到,也可以在“調(diào)試”工具欄中找到。通過它們可以便捷有效地檢測出程序中邏輯錯誤地點(diǎn)和原因。1.使用斷點(diǎn)斷點(diǎn)是一行加有標(biāo)記的語句,程序執(zhí)行到該行時會暫停下來(斷點(diǎn)語句并未被執(zhí)行),這時可進(jìn)行各種調(diào)試工作。在程序調(diào)試過程中,不僅需要設(shè)置斷點(diǎn),而且需要變換斷點(diǎn)的位置,清除前面設(shè)置的斷點(diǎn)。斷點(diǎn)的設(shè)置既可以在設(shè)計(jì)時完成,也可以在中斷模式下切換。15.2調(diào)試與排錯(1)設(shè)置斷點(diǎn)在代碼窗口中將光標(biāo)移動到欲設(shè)置斷點(diǎn)的語句行,按F9鍵或單擊語句行首的灰色標(biāo)記區(qū),也可以通過執(zhí)行【調(diào)試】→【切換斷點(diǎn)】命令完成斷點(diǎn)的設(shè)置。(2)取消斷點(diǎn)單擊語句行首的灰色標(biāo)記區(qū)中的斷點(diǎn)標(biāo)記,也可以將光標(biāo)移動到斷點(diǎn)所在的行后,執(zhí)行“調(diào)試”菜單中的“切換斷點(diǎn)”命令或按F9鍵,就可以將該斷點(diǎn)清除掉。如果希望清除程序中設(shè)置的所有斷點(diǎn),可以按Ctrl+Shift+F9鍵或執(zhí)行“調(diào)試”→“清除所有斷點(diǎn)”命令。15.2調(diào)試與排錯2.跟蹤執(zhí)行軌跡當(dāng)已經(jīng)知道某行語句存在問題時,使用斷點(diǎn)查找錯誤是個有效的方法,但通常程序出錯的具體位置并不容易確定,只能夠猜測到在某個范圍內(nèi)可能存在問題,這需要在此范圍內(nèi)跟蹤程序的執(zhí)行結(jié)果,一條條地單步執(zhí)行語句,這種方式稱為“跟蹤”。VB提供了4種跟蹤方式:逐語句、逐過程、跳出、和運(yùn)行到光標(biāo)處。

注意:這4種方式都只能在中斷模式下使用。15.2調(diào)試與排錯(1)逐語句逐語句執(zhí)行又稱為單步執(zhí)行,一次執(zhí)行一條語句(不包括說明性語句和注釋行),每執(zhí)行完一條語句后就轉(zhuǎn)入中斷模式。在逐語句調(diào)試下,用戶可以使用調(diào)試工具欄或F8鍵進(jìn)入“逐語句”跟蹤方式。繼續(xù)逐語句執(zhí)行。(2)逐過程在執(zhí)行一般代碼語句時,“逐過程”與“逐語句”相似,只有在當(dāng)前的語句含有一個對過程的調(diào)用時,兩者才會有差異?!爸鹫Z句”將進(jìn)入被調(diào)用的過程,并在該過程中執(zhí)行一個語句,與它不同的是,“逐過程”把被調(diào)用的過程視為一個基本單位來執(zhí)行,然后轉(zhuǎn)回到當(dāng)前過程的下一語句。要使代碼按這種方式執(zhí)行,單擊“調(diào)試”工具欄上的“逐過程”按鈕。在現(xiàn)實(shí)調(diào)試中,一般可以交替使用“逐語句”和“逐過程”。通過“逐過程”,可以跳過不想測試的過程代碼,縮短調(diào)試時間;而通過“逐語句”,則可以詳細(xì)測試可能出現(xiàn)錯誤的代碼。用戶可以使用調(diào)試工具欄或Shift+F8鍵進(jìn)入“逐過程”跟蹤方式。15.2調(diào)試與排錯(3)跳出跳出與前面兩種方式也很類似,它連續(xù)執(zhí)行當(dāng)前過程的剩余部分,并在調(diào)用過程的下一行中斷執(zhí)行。(4)運(yùn)行到光標(biāo)處如果比較肯定錯誤可能發(fā)生在某行代碼中,這時就不需要單步調(diào)試執(zhí)行,跳過對無關(guān)代碼的跟蹤,從光標(biāo)處開始程序的分析。要采取“運(yùn)行到光標(biāo)處”調(diào)試方法。先將光標(biāo)置于該行代碼上,按Ctrl+F8鍵或執(zhí)行“調(diào)試”菜單中的“運(yùn)行到光標(biāo)處”命令,程序就會執(zhí)行到光標(biāo)處后轉(zhuǎn)入中斷模式。15.2調(diào)試與排錯3.使用調(diào)試窗口VB提供了4個調(diào)試窗口:本地窗口、立即窗口、監(jiān)視窗口及調(diào)用堆棧窗口,用于在跟蹤過程中監(jiān)視變量、表達(dá)式的取值情況。用戶可以在“視圖”菜單中相應(yīng)的命令打開它們。(1)“本地”窗口“本地”窗口的功能是在中斷模式下,顯示當(dāng)前過程的所有變量和活動窗體的所有屬性,并能改變它們的值?!氨镜亍贝翱诳梢燥@示當(dāng)前過程中所有變量的值。但需要注意,“本地”窗口只能顯示本過程,一般都與“單步執(zhí)行”配合使用。15.2調(diào)試與排錯(2)“立即”窗口“立即”窗口的功能是幫助用戶檢查變量或?qū)傩缘闹?,同時也可以通過它重新設(shè)置變量或?qū)傩缘闹?。其?yōu)點(diǎn)是:不中斷程序執(zhí)行即可看到結(jié)果,以及不影響原有窗體外觀。在程序進(jìn)入中斷模式后,一般會自動彈出“立即”窗口,如果界面上沒有顯示出“立即”窗口,可執(zhí)行“視圖”菜單中的“立即窗口”子菜單來打開它。(3)“監(jiān)視”窗口“監(jiān)視”窗口的功能是幫助用戶自動對監(jiān)視表達(dá)式所定義的表達(dá)式進(jìn)行監(jiān)視,當(dāng)應(yīng)用程序進(jìn)入中斷模式后,這些監(jiān)視表達(dá)式會出現(xiàn)在“監(jiān)視”窗口中,可在此處觀察它們的值。15.2調(diào)試與排錯(4)“調(diào)用堆棧”窗口的使用。通過這個窗口可以顯示正在執(zhí)行的過程、程序和方法程序。第1個程序運(yùn)行時,該程序名列在“調(diào)用堆?!贝翱谥?,如果調(diào)用了第1個程序中的子程序或子過程,同時又在執(zhí)行第2個程序,則兩個程序的名字均顯示在“調(diào)用堆?!贝翱谥小?5.3軟件測試

軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。測試時要根據(jù)軟件開發(fā)各個階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)的一批有代表性的測試用例,并利用這些測試用例運(yùn)行程序,以發(fā)現(xiàn)錯誤的過程。軟件測試分單元測試、集成測試、驗(yàn)收測試幾個階段:1)單元測試在編碼完成之后由編程人員自己完成;2)集成

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論