當前位置:編程學習大全網 - 源碼下載 - 關於軟件測試的邏輯覆蓋

關於軟件測試的邏輯覆蓋

首先這道白盒測試理論題,應選擇,B

A,錯誤,判定覆蓋只是對各個判定節點的結果進行測試設計,不壹定就能保證所有語句都覆蓋的了。例如:測試判斷節點當a=5或!=5時,b=1或c=2,確認b,c結果後,我們就完成了判定節點的測試。但是妳的d=?妳搞不清楚。妳還需要路徑覆蓋與語句覆蓋

funciton_test1(int a){

int b=0;

int c=0;

int d=0;

if(a==5)

b=1;

else

c=2;

d=b+c;

return d;

}

C,錯誤,條件覆蓋的檢錯能力是否強過路徑覆蓋不好說。但是可以清楚知道條件覆蓋是邏輯點測試,路徑覆蓋是邏輯線測試,語句覆蓋只是代碼面覆蓋測試了(註:語句覆蓋可不是邏輯面測試,就有人會問了,那邏輯面怎麽測試?其實窮盡所有邏輯線就是保證程序的邏輯面了,又有人會問,為什麽所有邏輯點測試不能保證邏輯線,甚至是邏輯面呢這裏我們要清楚程序可不是只由判定結構的語句組成的,它們還有順序結構語句,循環結構語句。上面的例子就說明了問題)。

D,錯誤,滿足了路徑覆蓋不壹定就滿足條件組合覆蓋,首先條件覆蓋就時針對判定覆蓋而言的。條件覆蓋是針對條件去覆蓋,判定覆蓋是針對判斷結果去覆蓋。

例如:這裏調用function_test2我們輸入a為1,3,6查看結果,此為條件覆蓋. 使得結果a=1 或者a=2(兩種結果都要走壹遍)此為判定覆蓋。而壹次輸入a=1,a=6 此為路徑覆蓋(將兩種結果情況路徑覆蓋掉)。。這樣來看發現a=3的情況漏測試了(為什麽要測試3參考等價類與邊界值方法)。多句嘴,路徑覆蓋其實就是已結果為導向的,多少個不同結果就是多少個不同路徑,但各種條件的覆蓋就容易漏掉,所以路徑覆蓋要保證條件的覆蓋,這也就有了判定條件覆蓋的概念

function_test2(int a){

if(a>=3)

a=2;

else

a=1;

return a;

}

下面是某文章內容,供參考

白盒測試是通過對程序內部結構的分析、檢測來尋找問題。

白盒測試可以把程序看成裝在壹個透明的白盒子裏,也就是清楚了解程序結構和處理過程,檢查是否所有的結構及路徑都是正確的,檢查軟件內部動作是否按照設計說明的規定正常進行。白盒測試又稱結構測試。

1 白盒測試基本技術: 詞法分析與語法分析,靜態錯誤分析,程序插樁技術。

2 白盒測試方法 

2.1 代碼檢查法:代碼檢查方式(桌面檢查,代碼審查,走查),代碼檢查項目,編碼規範,代碼檢

查規則,缺陷檢查表。

2.2 靜態結構分析法。

2.3 靜態質量試題法。

2.4 邏輯覆蓋法

語句覆蓋:選擇足夠多的測試數據,使測試程序中每條語句至少執行壹次。

判定覆蓋(分支覆蓋):設計足夠多的測試用例,使用得程序中的每個判定至少都獲得壹次“真值”或“假值”;或者說使用得程序中的每壹個取“真”分支和取“假”分支至少經歷壹次。

條件覆蓋:構造壹組測試用例,使得每壹判定語句中每個邏輯條件的可能值至少滿足壹次。

條件判定組合覆蓋:設計足夠的測試用例,使用得判定中每個條件的所有可能(真/假)至少出現壹次,並且每個判定本身的判定結果(真/假)也至少出現壹次。

多條件覆蓋:設計足夠的測試用例,使得每個判定中條件的各種可能組合都至少出現壹次。

2.5 基本路徑測試法

程序的控制流圖(學會通過看程序塊畫出控制流圖)。

程序環路復雜性(即McCabe復雜性度量)環路復雜性V(G)=判斷結點數+1.

基本路徑測試法步驟:   

以詳細設計或源代碼作為基礎,導出程序的控制流圖;

計算得到的控制流圖G的環路復雜性V(G);

確定線性無關的路徑的基本集;

生成測試用例,確保基本路徑集中每條路徑的執行.

2.6 其他白盒測試方法:域測試,符號測試,Z路徑覆蓋,程序編譯

  • 上一篇:怎麽把圖片文件在SQL server數據庫中保存為二進制記錄?(註:不是用圖片路徑),最好有源代碼。
  • 下一篇:fiddler抓包詳細教程--接口測試
  • copyright 2024編程學習大全網