엔지니어 background지식

'테스트 방법' vs 'test case 도출 방법'

아즈마민초 2026. 4. 10. 14:15

한 줄로 먼저 말하면:

테스트 방법(Test method)은 “어떤 방식으로 검증할 것인가”이고,
Test case 도출 방법은 “무슨 시험 케이스를 어떤 논리로 뽑아낼 것인가”이다.

즉,

  • 테스트 방법 = 시험의 실행 방식 / 검증 접근
  • 테스트 케이스 도출 방법 = 시험할 입력, 조건, 시나리오를 만드는 방법

1. 개념 비교

1) 테스트 방법(Test method)

이건 말 그대로
어떤 방식으로 대상이 요구사항을 만족하는지 확인할 것인가에 대한 것이다.

예를 들면:

  • 요구사항 기반 테스트
  • 인터페이스 테스트
  • fault injection test
  • back-to-back test
  • boundary test
  • robustness test
  • integration test
  • scenario-based test

즉, 시험의 “종류”나 “검증 방식”에 가깝다.


2) Test case 도출 방법

이건
개별 테스트 케이스를 어떤 기준으로 뽑을 것인가에 대한 것이다.

예를 들면:

  • equivalence partitioning
  • boundary value analysis
  • decision table
  • state transition 기반 도출
  • error guessing
  • requirement-based derivation
  • interface combination 기반 도출
  • fault model 기반 도출

즉, 시험 케이스를 만드는 “기법”이다.

 

2. 쉽게 구분하는 질문

이렇게 생각하면 쉽다.

테스트 방법에 대한 질문

  • 이 요구사항을 어떤 방식으로 검증하지?
  • 시험을 정상 동작으로 볼까, fault injection으로 볼까, 인터페이스 중심으로 볼까?

Test case 도출 방법에 대한 질문

  • 그 시험 방식 안에서 케이스를 어떻게 뽑지?
  • 경계값을 볼까?
  • 상태 전이를 기준으로 만들까?
  • 조합을 기준으로 만들까?

3. 비유로 보면

예를 들어 네가 학생의 수학 실력을 확인한다고 해보자.

테스트 방법

  • 필기시험으로 볼지
  • 구술시험으로 볼지
  • 실습형으로 볼지

Test case 도출 방법

  • 쉬운 문제/보통 문제/어려운 문제로 나눌지
  • 단원별 대표 문제를 뽑을지
  • 자주 틀리는 함정을 넣을지

 

4. ISO 26262 맥락에서 차이

ISO 26262에서는 안전 요구사항 검증을 할 때 단순히 “테스트를 했다”가 아니라,

  • 적절한 테스트 방법을 선택해야 하고
  • 그 안에서 충분하고 타당한 테스트 케이스 도출 방법으로 케이스를 만들어야 한다

는 식으로 보는 게 맞다.

즉, 둘은 대체 관계가 아니라 상하 관계에 가깝다.

  • 먼저 테스트 방법을 정하고
  • 그 다음 그 방법 안에서 test case를 도출한다

5. 예시 1: 센서 입력 범위 검증

요구사항:

입력 전압이 0.5V~4.5V 범위를 벗어나면 100ms 이내 fault를 검출해야 한다.

테스트 방법

  • 요구사항 기반 테스트
  • boundary/robustness test
  • fault injection test

여기서 “어떤 방식으로 검증할지”를 정한 것

Test case 도출 방법

  • boundary value analysis로 도출
  • equivalence partitioning으로 도출

예를 들면 케이스는 이렇게 나온다.

  • 0.5V 정상 경계
  • 4.5V 정상 경계
  • 0.49V 비정상
  • 4.51V 비정상
  • 중간 정상값 2.5V
  • open/short fault 조건

여기서 0.49V, 4.51V 같은 값은 도출 방법으로 뽑힌 것이다.


6. 예시 2: 상태 기반 안전 메커니즘

요구사항:

시스템이 Normal 상태에서 fault가 검출되면 Safe state로 전이해야 한다.

테스트 방법

  • state transition test
  • integration test

Test case 도출 방법

  • state transition diagram 기반 도출

케이스 예:

  • Normal → Fault detected → Safe state
  • Startup → Fault detected → Safe state
  • Safe state에서 reset 후 recovery 여부
  • Fault cleared without reset 시 전이 금지 여부

여기서 “state transition test”는 테스트 방법이면서,
좀 더 엄밀히는 state transition model을 이용해 케이스를 도출하는 방식도 포함한다.

그래서 실무에서는 둘이 겹쳐 보일 수 있다.
하지만 구분하면:

  • 방법: 상태 전이 관점으로 검증한다
  • 도출 방법: 상태도에서 가능한 전이를 기준으로 케이스를 만든다

7. 예시 3: 인터페이스 검증

요구사항:

ECU는 CAN 메시지의 checksum 오류를 검출하고 해당 데이터를 무시해야 한다.

테스트 방법

  • interface test
  • fault injection test

Test case 도출 방법

  • error class 기반 도출
  • equivalence partitioning
  • message field combination 기반 도출

케이스 예:

  • 정상 checksum 메시지
  • checksum 오류 1비트
  • checksum 오류 다중 비트
  • DLC 정상/비정상 조합
  • 메시지 timing 지연 동반
  • checksum 오류 + counter 오류 동시 발생

여기서 “interface test”는 방법이고,
어떤 오류 패턴을 넣을지 고르는 건 도출 방법이다.

 

8. 왜 실무에서 헷갈리나

헷갈리는 이유는 어떤 용어는 두 영역에 걸치기 때문이다.

예를 들어:

  • boundary test
  • state transition test
  • fault injection test

이런 건 문맥에 따라

  • 테스트 방법처럼 쓰이기도 하고
  • test case 도출의 근거처럼 쓰이기도 한다

그래서 문서 쓸 때는 분리해서 쓰는 게 좋다.

예를 들면:

  • Test method: fault injection test
  • Test case derivation method: identified fault modes, boundary values, and interface error combinations

이렇게 나누면 훨씬 명확하다.