白盒測(cè)試靜態(tài)分析參考_第1頁
白盒測(cè)試靜態(tài)分析參考_第2頁
白盒測(cè)試靜態(tài)分析參考_第3頁
白盒測(cè)試靜態(tài)分析參考_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上白盒測(cè)試一般會(huì)用到靜態(tài)分析和動(dòng)態(tài)分析兩類技術(shù)。常用的有: 靜態(tài)分析:控制流分析、數(shù)據(jù)流分析、信息流分析等 動(dòng)態(tài)分析:邏輯覆蓋測(cè)試(分支測(cè)試、路徑測(cè)試等)、程序插裝等控制流以下是幾個(gè)相關(guān)概念 程序元素:一個(gè)程序元素通常是一個(gè)條件,一個(gè)簡單的語句或者一塊語句(多個(gè)連續(xù)語句) 控制流關(guān)系:一個(gè)程序的控制流關(guān)系(Control Flow Relation)敘述了程序元素和它們執(zhí)行的次序之間的聯(lián)系 控制流圖:對(duì)應(yīng)于控制流關(guān)系的圖被稱為控制流圖 控制流矩陣:由控制流圖得到,反映相鄰程序元素之間的先后順序關(guān)系控制流分析步驟 確定所有程序元素 根據(jù)程序元素之間的相互關(guān)系得到控制流圖

2、將控制流圖轉(zhuǎn)換成控制流矩陣 通過數(shù)據(jù)結(jié)構(gòu)的形式把控制流矩陣表示出來 借助算法對(duì)控制流進(jìn)行分析,找出存在的問題控制流矩陣:1:語句有先后順序關(guān)系,0:語句無先后順序關(guān)系1234562131411516171二維數(shù)組:A66A00= A11= A22= A33=A44=A35=A52=1,其他為0控制流分析能發(fā)現(xiàn)的問題通過對(duì)控制流信息進(jìn)行分析,確保寫出的程序不應(yīng)包含: 轉(zhuǎn)向并不存在的標(biāo)號(hào); 沒有用的語句標(biāo)號(hào); 從程序入口進(jìn)入后無法達(dá)到的語句; 不能達(dá)到停機(jī)語句的語句。數(shù)據(jù)流數(shù)據(jù)流分析最初是隨著編譯系統(tǒng)要生成有效的目標(biāo)碼而出現(xiàn)的,這類方法主要用于代碼優(yōu)化。數(shù)據(jù)流分析法關(guān)鍵是數(shù)據(jù)的定義和引用。 數(shù)據(jù)的

3、定義:如果程序中某一語句執(zhí)行時(shí)能改變某程序變量V的值,則稱V是被該語句定義的。 數(shù)據(jù)的引用:如果一語句的執(zhí)行引用了內(nèi)存中變量V的值,則說該語句引用變量V。數(shù)據(jù)流分析步驟 根據(jù)代碼得到數(shù)據(jù)流表 分析數(shù)據(jù)流表找到以下兩種錯(cuò)誤: 1、變量未定義但被引用 2、變量定義但未被引用 根據(jù)分析結(jié)果對(duì)代碼進(jìn)行修正和優(yōu)化9123101165784節(jié)點(diǎn)被定義變量被引用變量1X,Y,Z2XW,X3X,Y4Y,Z5YV,Y6ZV,Z7VX8WY9ZV10ZZ11Z問題:節(jié)點(diǎn)2:W未定義被引用節(jié)點(diǎn)5:V第一次未定義被引用節(jié)點(diǎn)6:V第一次未定義被引用,Z定義未被引用節(jié)點(diǎn)8:W定義未被引用信息流分析 信息流分析可以導(dǎo)出程序

4、的信息流關(guān)系,為軟件開發(fā)和確認(rèn)提供了十分有益的工具。信息流分析法可以通過三個(gè)關(guān)系表給出,這三個(gè)關(guān)系為: 輸入變量和語句關(guān)系:輸入變量直接或間接影響語句的執(zhí)行 語句和輸出變量關(guān)系:語句執(zhí)行直接或間接影響變量的輸出 輸入和輸出變量關(guān)系:輸入變量直接或間接影響輸出變量信息流分析步驟 根據(jù)代碼得到三個(gè)關(guān)系表:輸入變量和語句關(guān)系表、語句和輸出變量關(guān)系表、輸入和輸出變量關(guān)系表 分析輸入變量和語句關(guān)系表,查看對(duì)未定義的變量所有可能的引用,根據(jù)語句的執(zhí)行情況來判斷是哪個(gè)輸入變量未定義 分析語句和輸出變量關(guān)系表,查看所有可能會(huì)影響輸出變量取值的語句,根據(jù)語句的執(zhí)行情況來判斷是哪句語句導(dǎo)致輸出變量錯(cuò)誤 分析輸入和輸出變量關(guān)系表,查看所有可能影響輸出變量取值的輸入變量,判斷輸出變量會(huì)不會(huì)由一些非法的變量導(dǎo)出12345beginQ: = 0; R: = M;while R>=N do beginQ: = Q+1;R: = R

溫馨提示

  • 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)論