QA 이론 & 테스트 기법

🔖 상태 전이 테스트(State Transition Testing) 쉽게 이해하기

qa-note 2026. 2. 27. 11:00
반응형

QA를 하다 보면
이런 기능을 자주 만나게 돼요.

  • 로그인 전 / 로그인 후
  • 주문 전 / 결제 중 / 결제 완료 / 취소
  • 활성 / 비활성 / 정지 상태

이런 기능들은 공통점이 있어요.

👉 “상태에 따라 가능한 행동이 달라진다”

이럴 때 사용하는 테스트 기법이
바로 상태 전이 테스트(State Transition Testing)예요.


1️⃣ 상태 전이 테스트란 무엇인가?

✔ 상태 전이 테스트 (State Transition Testing)

시스템이 가질 수 있는 상태(State)와
상태 간 이동(Transition)을 기준으로
정상/비정상 흐름을 검증하는 테스트 기법

핵심은 이거예요.

👉 “이 상태에서, 이 행동이 가능한가?”


2️⃣ 왜 상태 전이 테스트가 필요할까?

상태 개념이 있는 기능에서
이런 버그가 자주 발생해요.

  • 이미 완료된 주문을 다시 결제할 수 있음
  • 로그아웃 상태인데 마이페이지 접근 가능
  • 정지된 계정인데 로그인 가능

👉 상태 전이 누락 = 치명적인 버그로 이어질 수 있어요.


3️⃣ 상태 전이 테스트의 기본 요소

상태 전이 테스트는
아래 4가지를 먼저 정리하는 게 핵심이에요.

요소 설명
상태(State) 시스템이 가질 수 있는 상태
이벤트(Event) 상태를 변경시키는 행동
전이(Transition) 상태 → 상태 이동
결과(Action) 화면/동작 변화

4️⃣ 간단한 예시로 이해하기 (로그인 기능)

📌 상태 정의

  • 로그아웃 상태
  • 로그인 상태

📌 이벤트

  • 로그인 버튼 클릭
  • 로그아웃 버튼 클릭

📋 상태 전이 표

현재 상태 이벤트 다음 상태 결과
로그아웃 로그인 성공 로그인 메인 화면
로그아웃 로그인 실패 로그아웃 오류 메시지
로그인 로그아웃 로그아웃 로그인 화면

👉 이 표가 바로
상태 전이 테스트의 출발점이에요.


5️⃣ 상태 전이 다이어그램으로 생각해보기

글로만 보면 어려우니까
머릿속으로 이렇게 그려보면 좋아요.

 
[로그아웃] --로그인 성공--> [로그인] [로그인] --로그아웃--> [로그아웃]

👉 QA는 이 흐름에서
“없는 길이 열려 있진 않은지”를 보는 거예요.


6️⃣ 실무 예시 (주문 상태)

📌 주문 상태

  • 주문 생성
  • 결제 완료
  • 배송 중
  • 배송 완료
  • 주문 취소

📌 체크 포인트

  • 배송 완료 → 취소 가능? ❌
  • 결제 전 → 배송 중 가능? ❌
  • 결제 완료 → 배송 중 가능? ⭕

👉 불가능한 전이도 반드시 테스트 대상이에요.


7️⃣ 다른 테스트 기법과의 차이

기법 중점
동등 분할 입력값 범위
결정 테이블 조건 조합
상태 전이 상태 흐름

👉 상태 전이는
“흐름 기반 테스트 기법”이라고 보면 돼요.


8️⃣ 신입 QA가 자주 놓치는 포인트

  • 정상 흐름만 테스트함 ❌
  • 이전 상태를 고려하지 않음 ❌
  • 새로고침 / 뒤로가기 누락 ❌

👉 이전 상태를 항상 의식해야
상태 전이 테스트가 제대로 돼요.


9️⃣ QA 실무에서의 활용 팁

  • 기획서에 상태 정의가 없으면
    → QA가 먼저 정리해서 질문하기
  • 표나 다이어그램으로 공유하면
    → 기획/개발 이해도 상승
  • 이슈 설명할 때
    → “상태 전이 오류”라고 말하면 정확함

🔟 정리하며

  • 상태 전이 테스트는
    상태 변화가 있는 기능 필수 테스트 기법
  • 정상 흐름 + 비정상 전이를 함께 봐야 한다
  • QA가 이 기법을 잘 쓰면
    치명적인 서비스 오류를 미리 막을 수 있다

이걸 이해하면
👉 로그인, 주문, 권한 관련 테스트가 훨씬 쉬워져요.

반응형