軟件測試技術04-動態(tài)測試-白盒測試_第1頁
軟件測試技術04-動態(tài)測試-白盒測試_第2頁
軟件測試技術04-動態(tài)測試-白盒測試_第3頁
軟件測試技術04-動態(tài)測試-白盒測試_第4頁
軟件測試技術04-動態(tài)測試-白盒測試_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

易禹2023/1/14軟件測試技術第四講:動態(tài)測試-白盒測試最基本的白盒測試–插樁法2printflogSystem.out.println在被測程序中插入操作(探測器),實現(xiàn)探查和監(jiān)控的功能。功能:檢查程序的走向、計數(shù)、中間變量、…基本概念3通過運行被測試程序,檢查運行結果,分析其性能。組成部分;構造測試用例;運行程序;分析結果。動態(tài)測試分類4單元測試:對軟件的各個模塊進行測試;集成測試:檢查各單元之間的接口是否正確,非漸增和漸增式測試;組裝測試:單元測試的擴展,若干個單元間數(shù)據(jù)傳輸測試;確認測試:對組裝測試結果的檢驗,用戶參與或主導的測試過程;系統(tǒng)測試:測試系統(tǒng)在真實條件下的運行情況(負載、安全、疲勞等等)。驗收測試:購買者對軟件的測試。驗收測試系統(tǒng)測試確認測試單元/集成測試手動測試“白盒”測試5與“黑盒”測試對應,在熟悉程序內(nèi)部邏輯和結構設計的基礎上進行的測試。測試內(nèi)容:對程序所有獨立執(zhí)行路徑進行一次測試;對所有邏輯判定的兩種情形至少測試一次;在循環(huán)的邊界和運行的邊界限內(nèi)執(zhí)行循環(huán)體;測試內(nèi)部數(shù)據(jù)結構的有效性?!鞍缀小睖y試的目標6如果要測試下面的函數(shù),需要構造哪些測試用例?范例程序:行1publicintfunc(inta,intb,intx){行2if((a>1)&&(b==0))行3x=x/a;行4if((a==2)||(x>1))行5x=x+1;行6returnx;行7}范例程序的流程圖7邏輯覆蓋的原則8是指在熟悉程序內(nèi)部的邏輯結構基礎上的測試方法,又可以細分為:語句覆蓋保證每一條語句都至少執(zhí)行一次;路徑為ACE的測試用例(例如:a=2,b=0,x=3);邏輯覆蓋的原則9缺點:覆蓋不完整,忽略了IF語句為假的情況;沒有測試IF語句的每一個邏輯表達式?!鞍缀小睖y試之判斷覆蓋保證每一個分支至少執(zhí)行一次;如兩個測試用例(ACD和ABE)判斷覆蓋的缺點:覆蓋程度不高?!鞍缀小睖y試之條件覆蓋10每個條件組合獲得各種可能的結果;“白盒”測試之條件覆蓋11如果選用兩個測試用例來覆蓋:a=2,b=0,x=4,路徑:ACE;a=1,b=1,x=1,路徑:ABD;判斷覆蓋vs.條件覆蓋12判斷覆蓋關心判定表達式的結果,而條件覆蓋關心每個表達式的取值,不關心整個判定表達式的最終值;判斷覆蓋不能涵蓋條件覆蓋,反之亦然。例如,下面的用例僅滿足條件覆蓋,不滿足判斷覆蓋:a=2,b=0,x=1,路徑:ACE;a=1,b=1,x=2,路徑:ABE;“白盒”測試之其他覆蓋13判斷/條件覆蓋:判斷中每個條件的所有取值至少執(zhí)行一次,同時每個判斷的所有結果至少執(zhí)行一次。例如:路徑:ACE和ABD就滿足判斷/條件覆蓋。條件組合覆蓋:各種條件組合至少出現(xiàn)一次,如判斷(a>1)&&(b==0)共有4種組合。路徑覆蓋:所有可能的路徑至少執(zhí)行一次,范例程序共4條路徑。“白盒”測試練習14請說出下面的程序最少需要幾個測試用例以滿足判斷覆蓋和條件組合覆蓋?行1publicintfunc(inta,intb,intc){行2if((a>b)&&(a>c))行3a=b+c;行4if(b>c)行5b=a-c;行6returnc;行7}參考答案15判斷覆蓋 2條件組合覆蓋 6動態(tài)測試之路徑測試16是根據(jù)程序邏輯所產(chǎn)生的路徑設計測試用例的方法,常用的有:DD(Decision-To-Decision)路徑測試:基于路徑覆蓋的思想,考慮各分支的覆蓋情況,壓縮串行部分;DD路徑測試壓縮圖:用來反映程序的分支情況,方便進行測試用例設計;DD路徑據(jù)稱可以發(fā)現(xiàn)約85%的缺陷!DD路徑測試壓縮圖實例17其中:數(shù)字表示行號,字母表示壓縮合并的節(jié)點。基本路徑測試18現(xiàn)實程序中可能的路徑一般是天文數(shù)字!解決辦法:壓縮覆蓋的路徑數(shù)到一定限度內(nèi),如語句覆蓋。McCabe提出了基本路徑測試,保證每條語句至少執(zhí)行一次,而且判斷能取真、假兩種值。McCabe圈復雜度V(G)V(G)=m?n+2,其中m:弧數(shù)n:節(jié)點數(shù)McCabe圈復雜度示例19右圖的圈復雜度是多少?V(G)=17?13+2=6,表示有6條獨立的路徑。獨立路徑與判定節(jié)點20獨立路徑:一條完整的路徑,至少包含一條前面路徑未包含的邊;圈復雜度決定了獨立路徑的條數(shù);決定獨立路徑的關鍵:判定節(jié)點。獨立路徑示例21測試用例設計22為每一條獨立路徑設計可強制執(zhí)行的測試用例;這些測試用例可以保證:語句覆蓋:每一條語句都被執(zhí)行了一次;每個判斷條件都分別去過真和假兩個值。23請畫出下面程序的流程圖,計算圈復雜度和獨立路徑,并設計測試范例。 publicintfunc(inta,intb){行1 intm=1;行2 if(a<b){//交換a,b的值,保證b<=a行3 m=a;行4 a=b;行5 b=m;}行6 while(m!=0){行7 m=a%b;行8 a=b;行9 b=m;}行10 returna;}“白盒”測試練習參考答案24圈復雜度3,獨立路徑和測試用例為:1?2?6?10,[無];1?2?3?4?5?6?7?8?9?10,[a=8,b=24];1?2?6?7?8?9?10,[a=3,b=2];白盒測試應用策略25一般策略:先靜態(tài)后動態(tài):覆蓋率測試一般使用基本路徑測試,重點模塊可應用多種覆蓋率標準;單元測試以代碼檢查、邏輯覆蓋為主;

集成測試再增加靜態(tài)結構分析;

系統(tǒng)測試中黑盒和白盒測試相結合。覆蓋測試工具EclEmma26Eclipsecommunity

溫馨提示

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

評論

0/150

提交評論