1. 程式人生 > >白盒測試中邏輯覆蓋的六種方法

白盒測試中邏輯覆蓋的六種方法

   1.語句覆蓋。這個是起碼要做到的覆蓋了,程式裡的每條可執行的語句都要至少執行一次。這個設計起來比較簡單,用例資料很直觀的就能看出來。但是語句裡的判定,分支等就沒什麼意義了。可以說這樣的測試是最低的要求了。
  2.判定覆蓋。每個判斷的真假分支至少執行一次,就是真要至少取一次,假要至少取一次。這個設計起來也不難,覆蓋率要比語句覆蓋高近乎一倍,但是也在判定語句中也會遺漏許多路徑,因為每個條件的取值是不在考慮範圍內的。
  3.條件覆蓋。和判定覆蓋思路一樣,只是把重點從判定移動到條件上來了,每個判定中的每個條件可能至少滿足一次,也就是每個條件至少要取一次真的,再取一次假的。同樣它也會遺漏許多路徑,條件取真假並不能滿足判定也取到真假兩次。
  4.判定條件覆蓋。
既然上面的判定和條件多是片面的,那麼這個兩個覆蓋相結合是呼之欲出判定條件覆蓋。它要求判斷中的每個條件所有可能至少出現一次,並且每個判定本身的判定結果也要出現一次。不要以為這樣就行了,要看看條件,條件和判定不一樣,判定取真假就覆蓋了判定,可是條件取真假兩次完全不能滿足條件的各種組合。所以才有了5~。
  5.條件組合覆蓋。每個判定中條件的各種可能組合至少滿足一次。條件各種可能都出現了,必然把判定給覆蓋了,它覆蓋了上面的4個哦,可是用例數量大大增加了!看專案情況定吧。
  6.路徑覆蓋。概念比較好理解,把所有可能路徑至少都走一遍,但是用例數量可想而知le
  白盒測試法的覆蓋標準有邏輯覆蓋、迴圈覆蓋和基本路徑測試。其中邏輯覆蓋包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。
      六種覆蓋標準:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋發現錯誤的能力呈由弱至強的變化。語句覆蓋每條語句至少執行一次。
判定覆蓋每個判定的每個分支至少執行一次。條件覆蓋每個判定的每個條件應取到各種可能的值。判定/條件覆蓋同時滿足判定覆蓋條件覆蓋。條件組合覆蓋每個判定中各條件的每一種組合至少出現一次。路徑覆蓋使程式中每一條可能的路徑至少執行一次。
  白盒測試也稱結構測試或邏輯驅動測試,它是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行,按照程式內部的結構測試程式,檢驗程式中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用於軟體驗證。
  "白盒"法全面瞭解程式內部邏輯結構、對所有邏輯路徑進行測試。"白盒"法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程式的內部結構,從檢查程式的邏輯著手,得出測試資料。貫穿程式的獨立路徑數是天文數字。但即使每條路徑都測試了仍然可能有錯誤。第一,窮舉路徑測試決不能查出程式違反了設計規範,即程式本身是個錯誤的程式。第二,窮舉路徑測試不可能查出程式中因遺漏路徑而出錯。第三,窮舉路徑測試可能發現不了一些與資料相關的錯誤。

相關推薦

測試邏輯覆蓋方法

   1.語句覆蓋。這個是起碼要做到的覆蓋了,程式裡的每條可執行的語句都要至少執行一次。這個設計起來比較簡單,用例資料很直觀的就能看出來。但是語句裡的判定,分支等就沒什麼意義了。可以說這樣的測試是最低的要求了。  2.判定覆蓋。每個判斷的真假分支至少執行一次,就是真要至少取一次,假要至少取一次。這個設計起來也

測試邏輯覆蓋---軟考

   白盒測試也稱為結構測試,根據程式的內部結構和邏輯來設計測試用例,對程式的路徑和過程進行測試,檢查是否滿足設計的需要。    白盒測試常用的技術是邏輯覆蓋、迴圈覆蓋和基本路徑測試。    本次,小

測試邏輯覆蓋

   語句覆蓋是指選擇足夠的測試用例,使得執行這些測試用例時,被測程式的每個可執行語句都至少執行一次    欲使每個語句都執行一次,只需執行路徑L1(sabcde)即可。 L1=(y=2) and (z=0) or (y>1) and (z=0) and (x>y) 測試用例如下:

軟考總計之測試覆蓋

      白盒測試 中的邏輯覆蓋有分為很多種,在此對其中比較有代表性的幾種覆蓋簡單總結如下: 覆蓋標準 概念 特點 語句覆蓋 選擇足夠多的測試資料,使得被測試程式中每一條

談談測試的幾覆蓋方法

 談談白盒測試中的幾種覆蓋方法  白盒測試用例設計的一個很重要的評估標準就是對程式碼的覆蓋度。一說到覆蓋,大家都感覺非常熟悉,但是常見的覆蓋都有哪些?各自有什麼優缺點?在白盒測試的用例設計中我們應該如何自如地運用呢?今天小編就為大家總結了一下幾種常見的覆蓋以及各自的優缺點。  白盒測試中常見的覆蓋有六種:語句

測試覆蓋的區別

比較常用的邏輯覆蓋測試方法有:語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋、路徑覆蓋。基本路徑測試:在程式控制圖的基礎上,通過分析控制構造的環行復雜性,匯出基本可執行路徑集合,從而設計測試用例的方法。設計出的測試用例要保證在測試中程式的每一個可執行語句至少執行

整理測試邏輯覆蓋

舉例public class Coverage{public void Main(){1 System.out.println("start main function:path a...");2 int A,B,X;3 if(A>1 and B==0){4 X=X/

測試:語句覆蓋、條件覆蓋、判定覆蓋、條件-判定覆蓋、組合覆蓋、路徑覆蓋

語句覆蓋:所有的“語句”都要覆蓋一遍判定覆蓋:包含語句覆蓋,每個判斷T、F各一次條件覆蓋:包含語句覆蓋,每個條件T、F各一次判定條件覆蓋:包含判定覆蓋、條件覆蓋條件組合覆蓋:每個條件的每種組合路徑覆蓋:

【軟體測試測試的條件覆蓋標準強於判定覆蓋(錯)

白盒測試的條件覆蓋標準強於判定覆蓋(錯) 條件覆蓋:每個複合判定表示式的每個簡單判定條件的取真和取假情況至少執行一次; 判定覆蓋:又稱為分支覆蓋,其含義是保證程式中每個判定節點的取真和取假分支至

測試之語句覆蓋

定義: 語句覆蓋旨在讓程式中每個可執行語句至少被執行一次。語句覆蓋一般不會根據原始碼來設計測試用例,而是根據流程圖。 示例: 只要測試用例能讓可執行程式碼塊2和4執行到,則達到了語句覆蓋的目的,為

Junit測試條件組合覆蓋

語句 技術分享 img 覆蓋 table 白盒 最大 題目 print 題目介紹 給定n個整數(可能為負數)組成的序列a[1],a[2],a[3],…,a[n],求該序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。當所給的整數均為負數時定義子段和為0,依此定義,

測試覆蓋方法

版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/write6/article/details/78702977  定義:    白盒測試又稱結構測試,透明盒測試、邏輯驅動測試或基於程式碼的測試。白盒測試是一種測試用例設計方法,

測試覆蓋方式

找了半天的資料,覺得這個比較好。 一、語句覆蓋(Statement coverage) “語句覆蓋”是一個比較弱的測試標準,它的含義是:選擇足夠的測試用例,使得程式中每個語句至少都能被執行一次。 圖6.4是一個被測試的程式,它的源程式是: PROCEDUREM(VA

測試邏輯覆蓋的強弱

常用的軟體測試方法有兩大類:靜態測試方法和動態測試方法。其中軟體的靜態測試不要求在計算機上實際執行所測程式,主要以一些人工的模擬技術對軟體進行分析和測試;而軟體的動態測試是通過輸入一組預先按照一定的測試準則構造的例項資料來動態執行程式,而達到發現程式錯誤的過程。   白

測試覆蓋準則

 白盒測試作為測試人員常用的一種測試方法,越來越受到測試工程師的重視。白盒測試並不是簡單的按照程式碼設計用例,而是需要根據不同的測試需求,結合不同的測試物件,使用適合的方法進行測試。因為對於不同複雜度的程式碼邏輯,可以衍生出許多種執行路徑,只有適當的測試方法,才能幫助我們從程

測試---邏輯路徑覆蓋的五方法和物理路徑覆蓋(一)

一、語句路徑覆蓋:是一個比較弱的邏輯路徑覆蓋標準。是指通過選擇足夠的測試用例,使得執行這些用例時,被測程式的每一個語句至少被執行一次。 舉例:  測試用例  輸入 預期輸出  被測路徑

測試(1)

常用的軟體測試方法有兩大類:靜態測試方法和動態測試方法。其中軟體的靜態測試不要求在計算機上實際執行所測程式,主要以一些人工的模擬技術對軟體進行分析和測試;而軟體的動態測試是通過輸入一組預先按照一定的測試準則構造的例項資料來動態執行程式,而達到發現程式錯誤的過程。

測試邏輯覆蓋

看新定的測試覆蓋率標準,有點暈。 1、語句覆蓋率達到100% 2、分支覆蓋率不低於70% 開始覺得,這兩個限制有點矛盾,語句覆蓋率都達到100%了,分支覆蓋率還沒達到100%?答案:是。舉個例子說明:  if   A   and   B   then   Action1   

測試方法--邏輯覆蓋

本文目的主要為軟考準備的複習內容。 例項程式碼: int method(bool a, bool b, bool c) { 1  int x; 2  x=0; 3  if(a && (b || c)) 4    x=1; 5  return x; } 1

軟體測試 測試--邏輯覆蓋法&基本路徑測試法

白盒測試—邏輯覆蓋法&基本路徑測試法 題目一:使用邏輯覆蓋測試方法測試以下程式段 1.  int logicExample(int x, int y) 2.  { 3.      int magic=0; 4.      if(x>0 &&