본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

Test Case; 테스트 케이스

특정 요구사항을 만족하는지 확인하기 위한 입력값, 실행 조건, 기대 결과의 집합

  • 테스트를 언제 누가 수행해도 같은 결과가 나오도록 하는 것이 목적이다.
  • 무엇을 확인하려는 것인지가 분명해야 하며, 하나의 테스트 케이스는 하나의 확인 목적을 갖는 것이 좋다.

ISO/IEC/IEEE 29119-3 등에서 정의하는 항목이다.

  • 식별자(ID)
  • 테스트 항목 / 대상
  • 입력 명세
  • 출력 명세 (기대 결과)
  • 환경 설정 (하드웨어, 소프트웨어, 데이터)
  • 특수 절차 요구사항
  • 의존성 (선행 테스트 케이스)
  • 블랙박스 테스트 기반 : 명세를 보고 도출한다.
    • 동등 분할 : 입력 값을 같은 결과가 나오는 그룹으로 나누고 각 그룹에서 하나씩 고른다.
    • 경계값 분석 : 그룹의 경계에서 오류가 자주 나므로 경계값을 고른다.
    • 원인-결과 그래프, 오류 예측, 결정 테이블
  • 화이트박스 테스트 기반 : 코드 구조를 보고 도출한다.
    • 커버리지를 기준으로 삼는다. 구문, 결정, 조건 커버리지 등

테스트 계획을 세워 목표·범위·방법을 정한 뒤에 테스트 케이스를 작성한다. "목표와 방법을 결정하기 전에 테스트 케이스부터 작성한다"는 순서가 거꾸로다.

  1. 테스트 계획 — 테스트 목표, 범위, 방법(전략), 일정, 종료 기준을 정한다
  2. 테스트 분석·설계 — 요구사항에서 테스트 조건을 뽑고 테스트 케이스를 만든다
  3. 테스트 실행 — 케이스를 수행하고 결과를 기록한다
  4. 결과 평가 — 테스트 오라클로 기대 결과와 비교해 통과·실패를 판정한다

프로그램에 결함이 있어도 어떤 입력에서는 정상 결과가 나온다. 그래서 결함을 드러낼 수 있는 입력을 골라 케이스를 만드는 것이 중요하다.

  • 테스트 오라클 : 기대 결과가 맞는지 판단하는 기준
  • 테스트 시나리오 : 테스트 케이스 여러 개를 수행 순서대로 묶은 것
  • 테스트 스크립트 : 테스트 케이스를 자동화 도구가 실행할 수 있게 작성한 것