한 줄로 먼저 말하면:
테스트 방법(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
이렇게 나누면 훨씬 명확하다.
'엔지니어 background지식' 카테고리의 다른 글
| 임베디드 소프트웨어 구조_어떤 개념인가 (0) | 2026.03.27 |
|---|---|
| 설계서에서 인터페이스란? (0) | 2026.03.03 |
| PIN 정보는 어느 문서에? (0) | 2026.01.16 |
| 시스템 아키텍처 중 요구사항 표현 해석 (1) | 2026.01.16 |
| MBD 개발 (0) | 2026.01.13 |