2010-05-17 5 views
4

여러 조건 커버리지라는 흰색 상자 테스트 방법을 사용하는 경우 모든 조건문을 사용합니까 아니면 여러 조건을 사용하는 테스트만을 사용합니까? 어쩌면 그 이름의 단서가 될지 모르겠지만.여러 조건 커버리지 테스트

그래서 나는 다음과 같은 방법

void someMethod() 
    { 

     if(a && b && (c || (d && e))) //Conditional A 
     { 

     } 

     if(z && q) // Conditional B 
     { 
     } 

    } 

난 그냥 "조건 A"에 대한 진실 테이블을 생성 마십시오, 또는 나는 또한 조건 B를 수행 할 경우?

덕분에,

+0

가 보이는 만들 더 조건 (A)에 의해 실행되는 코드 및 조건 B에 의해 그 기능이 테스트 다른 방법에 있어야처럼 independantly – CaffGeek

답변

1

내가, 당신이 당신의 문제의 코드를 작성하는 방법을 여기에 뭔가가 될 수 있지만, 조건 A와 B는 서로 완전히 독립적입니다. 따라서 두 조건을 모두 테스트하지 않는 한 모든 코드를 다루지는 않습니다.

+0

예 - 그렇지 않습니다. 그러나 그것은 제가 언급 한 용어 다중 조건입니다. 구체적으로이 용어는 A 나 B에만 적용됩니다. –

+0

여러 조건에 대한 나의 이해는 각 결정 내에서 조건의 모든 조합이 테스트된다는 것을 의미합니다. 테스트 할 값이 두 개 이상있을 때마다 필요합니다. 즉, 조건 B가 내 책에서 자격을 얻는다는 의미입니다. –

1

여러 조건이 적용될 때 다음을 발견했습니다. 이것은 이름에서 알 수 있듯이 다중 조건 커버리지가 여러 문장이있는 조건부에만 적용됨을 나타냅니다. 다음과 같은 조건에 따라서

:

if ((a>0)&&(b<=4)&&(c>0)) 

우리는 다음과 같은

Test Case a > 0 b <= 4 c > 0 
MCC1  F  F   F 
MCC2  F  F   T 
MCC3  F  T   F 
MCC4  F  T   T 
MCC5  T  F   F 
MCC6  T  F   T 
MCC7  T  T   F 
MCC8  T  T   T 
관련 문제