최종 프로젝트

Chapter.9 최종 실전 자동화 프로젝트 (11)

devjjun 2026. 7. 10. 20:46

TIL(Today I Learned)


1️⃣CSTS 자격증 공부

CSTS 일반등급 9~10장 학습

오늘은 CSTS 일반등급에서 가장 중요한 파트인 9장(구조 기반 테스트)과 10장(명세 기반 테스트)를 집중적으로 학습했다. 단순히 교재를 읽는 것이 아니라 각 테스트 기법이 왜 필요한지, 언제 사용하는지, 그리고 시험에서 어떤 형태로 출제되는지를 이해하는 데 초점을 맞췄다.

9장 구조 기반 테스트

구조 기반 테스트는 프로그램의 내부 코드 구조를 기준으로 테스트를 설계하는 화이트박스 테스트 기법이다. 특히 다양한 커버리지 개념을 명확하게 구분하는 것이 중요했다.

학습한 주요 내용은 다음과 같다.

  • 문장(Statement) 커버리지
  • 결정(Decision) 커버리지
  • 조건(Condition) 커버리지
  • 조건/결정 커버리지
  • MC/DC
  • 다중 조건 커버리지

특히 문장 커버리지와 결정 커버리지의 차이가 시험에서 자주 출제된다는 점을 다시 확인했다. 또한 MC/DC는 각 조건이 결과에 독립적으로 영향을 주는지를 확인하는 기법이라는 점과, 다중 조건 커버리지는 조건의 개수가 n개일 때 2ⁿ개의 조합이 필요하다는 점


10장 명세 기반 테스트

명세 기반 테스트에서는 요구사항을 기준으로 테스트 케이스를 설계하는 다양한 기법을 학습했다.

주요 내용은 다음과 같다.

  • 동등분할
  • 경계값 분석(BVA)
  • Pairwise
  • Each Choice
  • All Combination
  • 결정 테이블
  • 상태 전이 테스트

각 기법의 목적과 적용 상황을 비교하면서 학습했다.

  • 동등분할 : 입력값을 동등 클래스로 나누어 대표값을 선택한다.
  • 경계값 분석 : 오류가 많이 발생하는 경계값을 중심으로 테스트한다.
  • Pairwise : 두 변수 간 모든 조합을 최소 한 번씩 포함한다.
  • Each Choice : 각 선택지가 최소 한 번 이상 등장하도록 구성한다.
  • All Combination : 가능한 모든 조합을 테스트한다.
  • 결정 테이블 : 조건과 규칙이 복잡한 업무 로직에 적합하다.
  • 상태 전이 테스트 : 로그인, ATM, 자동판매기처럼 상태 변화가 있는 시스템을 검증한다.

문제 풀이 및 오답 정리

학습 후 고난도 문제를 풀면서 부족한 부분도 확인할 수 있었다.

1. 문장 커버리지와 결정 커버리지

문장 커버리지 100%를 달성했다고 해서 결정 커버리지까지 만족하는 것은 아니라는 점을 다시 정리했다. 문장 커버리지는 모든 문장이 한 번 이상 실행되면 되지만, 결정 커버리지는 True와 False 경로가 모두 수행되어야 한다.

2. 경계값 분석(BVA)

입력 범위만 선택하는 것이 아니라 최솟값 바로 아래, 최솟값, 최솟값 바로 위, 최댓값 바로 아래, 최댓값, 최댓값 바로 위까지 테스트해야 한다는 점을 다시 확인했다.

예를 들어 입력 범위가 10~20이라면 테스트 데이터는 다음과 같이 구성한다.

  • 9
  • 10
  • 11
  • 19
  • 20
  • 21

3. 구조 기반 테스트와 명세 기반 테스트 구분

커버리지(문장, 결정, 조건, MC/DC)는 모두 구조 기반 테스트에 속한다는 점을 다시 정리했다. 반면 동등분할, 경계값 분석, 결정 테이블, 상태 전이 테스트는 명세 기반 테스트라는 점을 명확하게 구분하자


💡 느낀점

9장과 10장은 CSTS 일반등급에서 가장 비중이 큰 만큼 처음에는 용어가 많아 어렵게 느껴졌지만, 단순 암기보다 왜 이러한 테스트 기법이 필요한지와 어떤 상황에서 사용하는지를 이해하며 학습하니 훨씬 기억에 오래 남았다.

또한 문제를 풀면서 부족한 부분을 바로 확인하고 개념을 다시 정리하는 과정이 이해도를 높이는 데 큰 도움이 되었다. 앞으로는 회독 수를 늘리는 것보다 문제 풀이와 오답 복습을 반복하면서 각 테스트 기법을 상황에 맞게 구분할 수 있도록 학습할 계획이다.