[Site Map][소프트웨어목차]

 

연관토픽

 

 

개념

  • 각 개별 조건식이 다른 개별 조건식에 영향을 받지 않고 전체 조건식의 결과에 독립적으로 영향을 주도록 함으로써, 조건 커버리지(Condition Coverage)와 분기 커버리지(Decision Coverage)를 보완해서 만든 테스트 커버리지 접근 방법
  • 다른 상태(condition)들의 변동이 없고 자신의 상태가 변경되었을 때 결과 값에 영향을 미치는 경우 해당 상태는 MC/DC를 만족한다고 할 수 있음
  • 전체 조합을 테스트 하는 것은 현실적으로 불가능, 의미있게 조합수를 줄여 테스트 하자는 것이 변경조건/결정 커버리지의 핵심

 

 

 

MC/DC 커버리지의 핵심

  • 전체 조합을 테스트 하는 것은 현실적으로 불가능, 의미있게 조합수를 줄여 테스트 하자는 것
  • 각 개별 조건이 다른 개별 조건에 영향을 받지 않으면서 전체 조건식의 결과 값에 독립적으로 영향을 주는 조건을 MC/DC 테스트 커버리지로 선정하는 것

 

 

 

테스트 커버리지 간 포함관계

  • MC/DC는 높은 수준의 테스트 커버리지로 SW 안정성 테스트에 중요

 

 

 

MC/DC 특징

특징 설명
전체 조건식
최소 한번 수행
프로그램에 있는 모든 결정포인트  전체 조건식은 적어도 한번 모든 가능한 결과값을 취함
모든 개별 조건식
최소 한번 수행
프로그램에 있는 모든 결정포인트  모든 개별 조건식은 적어도 한번 모든 가능한결과값 취함
개별 조건식은 결과에 
독립적영향
결정 포인트에 있는 각각의 개별 조건식은 결정 포인트의 결과값에 독립적으로 영향

 

 

 

MC/DC 결정 테이블(테스트 케이스)

  • A, B는 개별 조건식
  • (A and B)는 전체 조건식
개별 조건식 전체 조건식 MC/DC 테스트
케이스 여부
설명
A B A and B
T T T Y - A가 B에 독립적 , B가 A에 독립적으로 전체 조건식에 영향
- A, B 중 한 개의 값을 변경하면 전체 조건식에 영향
T F F Y - B가 A 에 독립적
- B를 T로 변경하면 전체 조건식이 T로 변경 , 독립적으로 영향
F T F Y - A가 B에 독립적
- A를 T로 변경하면 전체 조건식이 T로 변경
F F F   - A, B 둘 중 어느 하나라도 변경하더라도 전체 조건식은 변경 없음
- MC/DC 커버리지에서 제외

 

 

 

MC/DC 만족 케이스

(출처 : MC/DC 커버리지란 무엇인가요?, http://support.suresofttech.com/ko/support/solutions/articles/5000705873-mc-dc-%EC%BB%A4%EB%B2%84%EB%A6%AC%EC%A7%80%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80%EC%9A%94-, 2022.03.03)

  • a 조건을 기준으로 MC/DC를 만족하는 경우는 (1, 5) 테스트 케이스
  • b 조건을 기준으로 MC/DC를 만족하는 경우는 (1, 3) 테스트 케이스
  • c 조건을 기준으로 MC/DC를 만족하는 경우는 (1, 2) 테스트 케이스

 

 

 

MC/DC 테스트 케이스 생성 절차

단계 설명
결정 table 의 대각선값 설정 - 대각선으로 1 과 0 을 지정
Neutral Value 설정 - 각각 개별 Condition이 취할 수 있는 값 중, Decision의 Outcome에 영향을 주지 않는 값
- 개별조건식이 ‘OR’인 경우 0, 개별조건식이 ‘AND’인 경우 1을 삽입
중복값 제거 - 같은 결과값을 보이는 커버리지 제거
테스트 상황 구성 - 구성된 조건별 실제 데이터를 통해 작성
  • 프로그램에 있는 모든 결정 포인트 내의 전체 조건식은 적어도 한 번 모든 가능한 결과값을 취함
  • 프로그램에 있는 모든 결정 포인트 내의 모든 개별 조건식은 적어도 한번 모든 가능한 결과값 취함
  • 프로그램에 있는 모든 결정 포인트 내의 모든 개별 조건식은 적어도 한번 모든 가능한 결과값 취함

 

 

 

MC/DC 테스트 케이스 생성 예시

단계 세부 내용
수행 예제
결정 Table 대각선값결정
Neutral Value 설정
중복값 제거
테스트 상황 구성
  • 중복값을 제거할 때 순서는 중요치 않고 시간적인 효율성을 고려하여 판단
  • 테스트 상황으로 구성된 조합의 개수는(조건식의 개수+ 1) 

 

 

 

모범답안

  1. [답안] MC/DC(1교시)
  2. [답안] MC/DC(1교시)

 

 

 

참고 사이트

  1. MC/DC 커버리지란 무엇인가요?

 

 

 

 

+ Recent posts