본문으로 건너뛰기
SDETRole
SDETRole

용어집 · 테스트 설계

동등 분할

영어: Equivalence partitioning

다른 이름: 동치 분할, 동등 클래스 분할, 동등 분할 테스트, equivalence class partitioning

정의

시스템이 똑같이 처리해야 하는 입력을 그룹으로 나누고, 각 그룹에서 대표값 하나씩만 테스트하는 테스트 설계 기법입니다.

동등 분할(Equivalence partitioning, 동등 클래스 분할이라고도 함)은 가능한 입력을, 모든 값이 같은 동작을 내야 하는 파티션으로 나눕니다. 파티션 안의 한 값이 동작하면 나머지도 동작한다고 가정하고, 한 값이 실패하면 나머지도 같은 방식으로 실패할 가능성이 높다고 봅니다. 그래서 가능한 모든 값 대신 파티션마다 대표값 하나만 테스트합니다.

예시: 18세에서 60세까지 허용

폼이 18세 이상 60세 이하의 정수 나이를 허용합니다.

파티션 유효 여부 대표값 기대 결과
18 미만 무효 10 거부: “18세 이상이어야 합니다”
18~60 유효 35 허용
60 초과 무효 75 거부
숫자가 아님 무효 abc 거부: “숫자를 입력하세요”
빈 값 무효 (공란) 거부: “나이는 필수입니다”
소수 무효 25.5 거부
음수 무효 -5 거부

테스트 7개가 개념적으로 전체 입력 공간을 커버합니다. 이어서 경계값 분석이 결함이 가장 많이 숨어 있는 숫자 파티션의 가장자리 17, 18, 60, 61을 추가합니다. 두 기법은 거의 항상 함께 쓰입니다.

출력과 다른 입력의 분할

파티션은 숫자에만 국한되지 않습니다.

  • 카테고리: 배송 국가 필드는 국내, EU, 기타 국가, 금수 조치 국가로 나뉘며 각각 규칙이 다를 수 있습니다.
  • 출력: 세금 계산기에 세율 구간이 세 개 있다면, 각 구간에 해당하는 입력을 고르세요.
  • 형식: 이메일 주소는 유효, @ 누락, 도메인 누락, 너무 긴 값으로 나뉩니다.

무효 파티션은 하나씩 테스트하기

폼에 필드가 여러 개 있으면 유효 파티션은 자유롭게 조합해도 되지만, 무효 파티션은 다른 필드를 모두 유효하게 두고 하나씩 따로 테스트하세요. 잘못된 나이와 잘못된 이메일을 함께 제출하면 첫 번째 검증 오류가 두 번째를 가릴 수 있어서, 두 검사가 모두 동작하는지 알 수 없습니다.

흔한 실수

  • 잘못된 파티션. 파티션은 명세와 시스템의 실제 동작에서 나옵니다. 코드가 18~25세를 다르게 처리한다면(예: 보험료가 다름), 폼이 모두 허용하더라도 별도의 파티션입니다.
  • 유효 파티션만 테스트하기. 입력 처리 결함의 대부분은 무효 파티션에 있습니다.
  • 파티션에서 멈추기. 파티션당 값 하나로는 경계의 off-by-one 오류를 잡지 못합니다. 경계값을 추가하세요.

SDETRole 전체에서 검색할 내용을 입력하세요.

Pagefind 전문 검색 · 브라우저에서 실행됩니다 검색 페이지 열기 →