靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試課件.ppt

靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試課件.ppt

ID:57188504

大小:143.00 KB

頁(yè)數(shù):31頁(yè)

時(shí)間:2020-08-02

靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試課件.ppt_第1頁(yè)
靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試課件.ppt_第2頁(yè)
靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試課件.ppt_第3頁(yè)
靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試課件.ppt_第4頁(yè)
靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試課件.ppt_第5頁(yè)
資源描述:

《靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、主要內(nèi)容1靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試的含義2代碼檢查3靜態(tài)結(jié)構(gòu)分析4程序插樁5邏輯覆蓋白盒測(cè)試可分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。靜態(tài)測(cè)試是一種不通過執(zhí)行程序而進(jìn)行測(cè)試的技術(shù),其關(guān)鍵功能是檢查軟件的表示和描述是否一致,沒有沖突或者沒有歧義。側(cè)重于糾正軟件系統(tǒng)在描述、表示和規(guī)格上的錯(cuò)誤,是任何進(jìn)一步測(cè)試的前提。動(dòng)態(tài)測(cè)試需要軟件執(zhí)行,當(dāng)軟件系統(tǒng)在模擬或真實(shí)環(huán)境中執(zhí)行之前、之中和之后,對(duì)軟件系統(tǒng)行為的分析是動(dòng)態(tài)測(cè)試的主要特點(diǎn)。它顯示一個(gè)系統(tǒng)在檢查狀態(tài)下是正確還是不正確。靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試的含義最常見的靜態(tài)測(cè)試是找出源代碼的語法錯(cuò)誤,可由編譯器來完成,因編譯器可逐行分

2、析檢驗(yàn)程序的語法,找出錯(cuò)誤并報(bào)告。除此之外,測(cè)試人員須采用人工方法來檢驗(yàn)程序,有些地方存在非語法方面錯(cuò)誤,只能通過人工檢測(cè)的方法來判斷。人工檢測(cè)的方法主要有代碼檢查法、靜態(tài)結(jié)構(gòu)分析法等。3.1靜態(tài)測(cè)試代碼檢查法主要是通過桌面檢查,代碼審查和走查方式,對(duì)以下內(nèi)容進(jìn)行檢查:(1)檢查代碼和設(shè)計(jì)的一致性;(2)代碼的可讀性及對(duì)軟件設(shè)計(jì)標(biāo)準(zhǔn)的遵循情況;(3)代碼邏輯表達(dá)的正確性;(4)代碼結(jié)構(gòu)的合理性;(5)程序中不安全、不明確和模糊的部分;(6)編程風(fēng)格方面的問題等。1代碼檢查法(1)桌面檢查(2)代碼審查(3)走查代碼檢查方式代碼會(huì)審是由一組人通

3、過閱讀、討論和爭(zhēng)議對(duì)程序進(jìn)行靜態(tài)分析的過程。代碼審查小組成員:組長(zhǎng):能力較強(qiáng)的程序員待審程序的設(shè)計(jì)者或程序員測(cè)試專家代碼審查時(shí)應(yīng)注意問題:提出的建議應(yīng)針對(duì)程序本身,而不應(yīng)針對(duì)程序員。程序員對(duì)整個(gè)審查過程采取積極和建設(shè)性的態(tài)度。代碼走查(codewalkthrough)走查是以小組為單元進(jìn)行代碼閱讀的,同樣也是一系列規(guī)程和錯(cuò)誤檢查技術(shù)的集合。人員組成一位經(jīng)驗(yàn)豐富的程序員一位程序設(shè)計(jì)語言專家一位程序員新手一位其他不同項(xiàng)目的人員一位該軟件編程小組的成員必須修改的問題(3)程序沒有注釋程序=代碼+注釋注釋語句/總代碼行數(shù)=1/5~1/4子函數(shù)max沒

4、有返回值類型精度丟失問題建議修改的問題(3)main函數(shù)沒有返回值類型和參數(shù)表(默認(rèn)為voidmain(void))1行代碼只定義1個(gè)變量。程序適當(dāng)加一些空行程序中存在未使用的變量#includemax(floatx,floaty){floatz;z=x>y?x:y;return(z);}main(){floata,b;intc,d;scanf("%f,%f",&a,&b);c=max(a,b);printf("Maxis%d",c);}測(cè)試人員通過使用測(cè)試工具分析程序源代碼的系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)接口、內(nèi)部控制邏輯等

5、內(nèi)部結(jié)構(gòu),生成函數(shù)調(diào)用關(guān)系圖、模塊控制流圖、內(nèi)部文件調(diào)用關(guān)系圖等各種圖形、圖表,清晰地標(biāo)識(shí)整個(gè)軟件的組成結(jié)構(gòu)。通過分析上述圖表,包括控制流分析、數(shù)據(jù)據(jù)流分析、接口分析、表達(dá)式分析等,使其便于閱讀與理解,然后可以通過分析這些圖表,檢查軟件是否存在缺陷或錯(cuò)誤。2靜態(tài)結(jié)構(gòu)分析法靜態(tài)結(jié)構(gòu)分析法通常采用以下方法進(jìn)行源程序的靜態(tài)分析:(1)通過各種圖表對(duì)源程序進(jìn)行靜態(tài)分析常用的各種引用表主要有:①標(biāo)號(hào)交叉引用表②變量交叉引用表③子程序(宏、函數(shù))引用表④等價(jià)表⑤常數(shù)表①函數(shù)調(diào)用關(guān)系圖:列出所有函數(shù),用連線表示調(diào)用關(guān)系,通過應(yīng)用程序各函數(shù)之間的調(diào)用關(guān)系展示

6、系統(tǒng)的結(jié)構(gòu)。②模塊控制流圖:由許多結(jié)點(diǎn)和連接結(jié)點(diǎn)的邊組成的圖形,其中每個(gè)結(jié)點(diǎn)代表一條或多條語句,邊表示控制流向,可直觀反映出一個(gè)函數(shù)的內(nèi)部結(jié)構(gòu)。常用的關(guān)系圖、控制流圖靜態(tài)錯(cuò)誤分析主要用于確定在源程序中是否有某類錯(cuò)誤或“危險(xiǎn)”結(jié)構(gòu)。①類型和單位分析②引用分析③表達(dá)式分析④接口分析(2)錯(cuò)誤靜態(tài)分析在軟件動(dòng)態(tài)測(cè)試中,程序插樁是一種基本的測(cè)試手段,有著廣泛的應(yīng)用。程序插樁方法是借助往被測(cè)程序中插入操作,來實(shí)現(xiàn)測(cè)試目的的方法,即向源程序中添加一些語句,實(shí)現(xiàn)對(duì)程序語句的執(zhí)行、變量的變化等情況進(jìn)行檢查。3.2程序插樁技術(shù)想了解一個(gè)程序在某次運(yùn)行中所有可執(zhí)

7、行語句被覆蓋的情況,或是每個(gè)語句的實(shí)際執(zhí)行次數(shù),最好的辦法是利用插樁技術(shù)。以計(jì)算整數(shù)X和整數(shù)Y的最大公約數(shù)程序?yàn)槔f明插樁方法的要點(diǎn)。圖3-1給出了這一程序的流程圖。圖3-1插樁后求最大公約數(shù)程序的流程圖設(shè)計(jì)插樁程序時(shí)需要考慮的問題包括:①探測(cè)哪些信息;②在程序的什么部位設(shè)置探測(cè)點(diǎn);③需要設(shè)置多少個(gè)探測(cè)點(diǎn);④程序中特定部位插入某些用以判斷變量特性的語句。如.NET里的插入斷言語句:Debug.Assert(this.textBox3.Text.Length>0,“輸入值為空!");inta=Int32.Parse(this.textBox3

8、.Text);邏輯覆蓋是白盒測(cè)試中動(dòng)態(tài)測(cè)試技術(shù)主要方法之一,是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的測(cè)試技術(shù),通過對(duì)程序邏輯結(jié)構(gòu)的遍歷實(shí)現(xiàn)程序的覆蓋,要求測(cè)試人員對(duì)程序的邏輯

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。