현재 위치 - 중국 분류 정보 발표 플랫폼 - 중고환승안내 - 논리적 적용 범위 용어에 대한 자세한 설명 및 예

논리적 적용 범위 용어에 대한 자세한 설명 및 예

문장 커버리지(Statement Coverage) SC(Statement Coverage)는 프로그램의 각 실행문이 적어도 한 번씩 실행되도록 여러 테스트 케이스를 설계하고 테스트 중인 프로그램을 실행하는 것입니다. 여기서 "여러 개"는 사용되는 테스트 사례가 적을수록 좋다는 의미입니다. 문장 커버리지는 주로 테스트에서 결함이나 잘못된 문장을 찾아냅니다.

예를 들어 위의 Coverage 클래스 코드에서 a 경로에서 c 경로, e 경로가 모든 실행문의 경로이므로 테스트 케이스를 디자인하기 위해 ace 경로를 선택하면 모든 실행 파일을 커버할 수 있습니다. 진술.

문장 적용 범위 공식: 문 적용 범위 = 평가된 문 수/전체 실행 가능한 문 수 x 100

문장 적용 범위의 단점: 프로그램 실행 로직의 적용 범위가 매우 제한적입니다. 분기 적용 범위라고도 하는 결정 적용 범위 DC(결정 적용 범위)는 각 결정의 실제 분기와 거짓 분기가 적어도 한 번 평가되도록 여러 테스트 사례를 설계하고 테스트 중인 프로그램을 실행하는 것을 의미합니다. 예를 들어 위의 Coverage 클래스 코드에서 ace, abd 경로, abe 경로, acd 경로 4개 경로는 모두 적용 범위 요구 사항을 충족하는 경로입니다.

결정 범위 공식: 결정 범위 = 평가된 결정 분기 수/전체 결정 분기 수 X100

결정 경로 적용 범위(DDP) = 평가된 결정 경로 수 /총 결정 경로 수 값입니다.

예를 들어, 위 Coverage 클래스 코드의 8행 "if (A==2 or Xgt; 1)",

는 A==2 또는 Xgt; 1 코드 9행에서 판단 커버리지는 "(A==2 or Xgt; 1)" 수식 전체의 값만 고려하고, 수식(A==)의 내부 변수 값은 고려하지 않습니다. 2 및 상황이 고려됩니다). Condition Coverage CC(Condition Coverage)는 각 결정문의 각 논리 조건의 가능한 값이 한 번 이상 만족되도록 충분한 테스트 케이스를 설계하고 테스트 중인 프로그램을 실행하는 것입니다.

조건 커버리지 공식 : 조건 커버리지 = 평가된 조건값 개수/전체 조건값 개수 X100

조건 커버리지의 단점: 각 식만 고려 결정 문은 각 조건부 분기를 고려하지 않습니다(또는 모든 분기를 포함하지 않음). 즉, 결정 적용 범위를 충족할 수 없습니다.

예를 들어 위의 Coverage 클래스 코드에는 두 가지 결정이 있습니다. 명령문, 이는 각각 코드의 3행과 8행입니다. 조건부 적용 범위의 정의에 따라 "(Agt; 1 및 B==0)" 및 "(A==2 또는 Xgt; 1)" 두 수식의 변수 값을 고려해야 합니다. Decision Condition Coverage CDC(Condition/Decision Coverage)는 Decision에서 각 조건의 모든 가능성(참/거짓)이 한 번 이상 나타나도록 충분한 테스트 케이스를 설계하고, 각 Decision 자체의 판단 결과도 한 번 이상 나타나도록 합니다.

조건 커버리지 결정 공식: 조건부 커버리지 = 평가된 조건값 및 결정 분기의 수/(전체 조건 값의 수 + 전체 결정 분기의 수)

예를 들어 위의 Coverage 클래스 코드는 4개의 분기 경로인 path ace, path abd, path abe, path acd(결정 적용 범위)를 고려할 뿐만 아니라 "(Agt; 1 및 B==)도 고려합니다. 0)" 및 "(A==2 또는 Xgt;1)" 두 조건(조건 적용 범위)의 각 식의 값입니다.

결정 조건 적용의 단점: 단일 결정이 전체 결과에 미치는 영향을 고려하지 않으며, 논리적 오류를 찾을 수 없습니다.

보충: 판정 조건 적용 범위 수정

수정된 판정 조건 적용 단위의 시작 및 종료는 적어도 한 번 호출되어야 하며 프로그램의 각 판단 분기가 실행되어야 합니다. 적어도 한 번은. 프로그램 내에서 논리연산(AND, OR 등)을 통해 판단을 이루는 기본적인 불리언 조건은 각 조건이 가능한 모든 값을 취해야 하며, 각 조건은 판단 결과에 독립적인 영향을 미친다. 다중 조건 커버리지(Multiple Condition Coverage) MCC(Multiple Condition Coverage)라고도 불리는 조건 조합 커버리지는 각 결정에서 가능한 다양한 조건 조합이 적어도 한 번은 나타나도록 충분한 테스트 케이스를 설계합니다(영역을 숫자 축 형태로 나누고, 교차점을 추출하고, 최소 테스트 케이스를 설정합니다.) 이 방법에는 "분기 커버리지"와 "조건부 커버리지"의 다양한 요구 사항이 포함됩니다. 만족 조건 조합 커버리지는 판단 조건 커버리지, 조건 커버리지, 판단 조건 커버리지를 모두 만족해야 합니다.

예를 들어 위 Coverage 클래스의 "if(A==2 or Xgt; 1)" 코드의 8번째 줄에서 가능한 모든 조건 조합은 다음과 같습니다.

" A==2,Xgt;1", "A==2,Xlt;=1" 및 "A!=2,Xgt;1". 조건부 커버리지에서는 이 세 가지 유형 중 하나만 고려하면 되고, 조건부 결합 커버리지에서는 모두 고려하면 됩니다.

조건 조합 커버리지 공식 : 조건 조합 커버리지 = 평가된 조건 값 조합 수/전체 조건 값 조합 수

조건 조합 커버리지의 단점: 판단 문이 많을수록 조건 조합 값도 많아집니다. 경로 적용 범위, 프로그램의 가능한 모든 경로를 실행하기에 충분한 테스트 케이스를 설계하십시오.

경로 적용 범위 공식: 경로 적용 범위 = 실행된 경로 수/프로그램의 총 경로 수.

장점: 경로 커버리지는 커버리지 비율이 가장 높은 커버리지 기술입니다.

경로 적용 범위 테스트 단계:

1. 프로그램 흐름 그래프를 제어 흐름 그래프로 변환

2. /p>

3. 경로 그래프를 생성합니다.

5. 디코딩 후 실행 경로를 얻습니다. . 경로 열거를 통해 특정 경로 테스트 케이스를 생성합니다.

7. 수정된 조건부 판단 범위(MC/DC) 각 프로그램 모듈의 진입점과 종료점은 최소 한 번 호출되는 것으로 간주되어야 하며, 각 프로그램의 판단은 가능한 모든 결과에 대해 이루어져야 합니다. 프로그램의 결정은 논리 연산자(and, or)로 연결된 bool 조건으로 분해되며 각 조건은 결정의 결과 값과 독립적입니다.