程序插樁的技術(shù).ppt_第1頁
程序插樁的技術(shù).ppt_第2頁
程序插樁的技術(shù).ppt_第3頁
程序插樁的技術(shù).ppt_第4頁
程序插樁的技術(shù).ppt_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

程序插樁技術(shù) 田潔 在軟件動(dòng)態(tài)測(cè)試中 程序插樁是一種基本的測(cè)試手段 有著廣泛的應(yīng)用 程序插樁方法 借助往被測(cè)程序中插入操作 來實(shí)現(xiàn)測(cè)試目的的方法 即向源程序中添加一些語句 實(shí)現(xiàn)對(duì)程序語句的執(zhí)行 變量的變化等情況進(jìn)行檢查 最簡單的插樁 在程序中插入打印語句printf 語句 最大公約數(shù)算法之更相減損術(shù) 在我國古代的數(shù)學(xué)著作 九章算術(shù) 中 就介紹了 約分術(shù) 可半者半之 不可半者 副之分母 子之?dāng)?shù) 以少減多 更相減損 求其等也 以等數(shù)約之 現(xiàn)代語言表述算法 第一步 任意給頂兩個(gè)正整數(shù) 判斷他們是否都是偶數(shù) 若是 則用2約簡 若不是則執(zhí)行第二步 第二步 以較大的數(shù)減較小的數(shù) 接著把所得的差與較小的數(shù)比較 并以大數(shù)減小數(shù) 第三步 繼續(xù)這個(gè)操作 直到所得的減數(shù)和差相等為止 則這個(gè)等數(shù)就是所求的最大公約數(shù) 注意 其中所說的 等數(shù) 就是最大公約數(shù) 求 等數(shù) 的辦法是 更相減損 法 即輾轉(zhuǎn)相除法 例 用更相減損術(shù)求98與63的最大公約數(shù) 解 由于63不是偶數(shù) 把98和63以大數(shù)減小數(shù) 并展轉(zhuǎn)相減98 63 3563 35 2835 28 728 7 1414 7 7所以 98和63的最大公約數(shù)等于7 程序插樁技術(shù) 如果我們想要了解一個(gè)程序在某次運(yùn)行中所有可執(zhí)行語句被覆蓋的情況 或是每個(gè)語句的實(shí)際執(zhí)行次數(shù) 最好的辦法是利用插樁技術(shù) 這里僅以計(jì)算整數(shù)X和整數(shù)Y的最大公約數(shù)程序?yàn)槔?說明插樁方法的要點(diǎn) 程序插樁技術(shù) 例 求取兩個(gè)整數(shù)X和Y的最大公約數(shù)程序如下 intgsd intX intY intQ X intR Y while Q R if Q R Q Q R elseR R Q returnQ 程序插樁技術(shù) 可以根據(jù)程序繪制出其流程圖為了記錄改程序中語句的執(zhí)行次數(shù) 我們使用插樁技術(shù)插入如下語句 C i C i 1 i 1 2 6插樁之后的流程圖如下 程序插樁技術(shù) 在程序入口處插入對(duì)計(jì)數(shù)器C i 的初始化語句 在程序出口處加入打印語句 圖中虛線框中的內(nèi)容并不是源程序的內(nèi)容 而是我們?yōu)榱擞涗浾Z句的執(zhí)行次數(shù)而插入的 虛線框中的程序就是為了完成計(jì)數(shù) 形式就是C n C n 1 n 1 2 3 n 該程序從入口開始 到出口執(zhí)行結(jié)束 凡經(jīng)歷的計(jì)數(shù)語句都能記錄下該程序點(diǎn)的執(zhí)行次數(shù) 如果我們?cè)诔绦虻娜肟谔庍€插入了對(duì)計(jì)數(shù)器C i 初始化的語句 在出口處插入了打印這些計(jì)數(shù)器的語句 就構(gòu)成了完整的插樁程序 它就能記錄并輸出在各程序點(diǎn)上語句的實(shí)際執(zhí)行次數(shù) 程序插樁技術(shù) 程序插樁技術(shù) 右圖為插樁之后的程序 箭頭所指為插入的語句 源程序的語句已略去 設(shè)計(jì)插樁程序時(shí)需要考慮的問題包括 探測(cè)哪些信息 在程序的什么部位設(shè)置探測(cè)點(diǎn) 需要設(shè)置多少個(gè)探測(cè)點(diǎn) 程序中特定部位插入某些用以判斷變量特性的語句 第1個(gè)問題具體問題具體分析 第2個(gè)問題 在實(shí)際測(cè)試通常在下面一些部位設(shè)置探測(cè)點(diǎn) 程序塊的第1個(gè)可執(zhí)行語句之前for do do while dountil等循環(huán)語句處 if elseif else及endif等條件語句各分支處 輸入 輸出語句之后 函數(shù) 過程 子程序調(diào)用語句之后 return語句之后goto語句之后 第3個(gè)問題 需要考慮如何設(shè)置最少探測(cè)點(diǎn)方案 第4個(gè)問題

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論