정보처리기사/소프트웨어 개발

테스트 용어 및 오라클 유형 정리

glorypang 2025. 10. 5. 01:13
728x90
반응형
SMALL

핵심 용어

  • 테스트 시나리오 (Test Scenario)
    사용자의 목표/흐름 단위의 테스트 아이디어.
    예) “회원 가입 → 이메일 인증 → 첫 로그인”
  • 테스트 케이스 (Test Case)
    시나리오를 구체화한 실행 단위.
    보통 입력값, 절차, 예상 결과, 사전/사후 조건을 포함.
    예) “이메일 형식이 유효할 때 가입 성공(HTTP 201, 환영 메일 발송)”
  • 테스트 데이터 (Test Data)
    테스트에 쓰이는 구체 값/상태(계정, 상품, 날짜, 파일 등).
    예) email=valid@ex.com, password=P@ssw0rd!, 쿠폰=만료
  • 테스트 오라클 (Test Oracle)
    실행 결과가 옳은지 판단해 주는 기준/메커니즘.
    예) “응답 코드 201이어야 한다”, “합계=항목합의 총합”

관계 요약: 시나리오(큰 흐름) → 그 흐름을 케이스로 쪼갬 → 각 케이스는 데이터로 실행 → 결과를 오라클로 판정.


테스트 오라클의 유형

  • 참 오라클 (True Oracle)
    모든 입력에 대해 정확한 기대 결과를 알 수 있음(전수 판정).
    예) 수학 함수 검증용 정확 해가 있는 경우.
  • 샘플링 오라클 (Sampling Oracle)
    일부 입력에 대해서만 기대 결과 제공.
    예) 경계값·대표값에 대해서만 정답 테이블을 갖춤.
  • 휴리스틱 오라클 (Heuristic / Partial Oracle 개선형)
    특정 값은 정답을 알고, 나머지는 규칙/추정으로 합리성 판정.
    예) 총합=항목합, 불변식 유지(단조 증가, 범위 제한)로 “이상 여부” 판단.
  • 일관성 검사(회귀) 오라클 (Consistency/Regression Oracle)
    이전 실행 결과와 동일한가로 판정(스냅샷/골든 마스터 비교).
    예) 동일 입력에 대한 출력 파일 해시/화면 스냅샷 비교.

예시

  • 시나리오: “장바구니 결제”
  • 케이스: “재고가 1개일 때 결제 성공 후 재고 0으로 감소”
  • 데이터: itemId=1001, stock=1, qty=1, coupon=null
  • 오라클:
    • 참/샘플링: 미리 계산된 기대 응답(JSON)과 완전 일치
    • 휴리스틱: 결제금액 = 단가×수량 - 할인, 재고=기존−수량 등 불변식 검사
    • 일관성: 직전 릴리스와 응답 스키마/필드 값이 동일
728x90
반응형
LIST