CS 길라잡이
정보처리기사 이론
읽기 설정
글꼴 조합

제목 · 본문 순서예요. 선택하면 지금 읽는 화면에 적용돼요.

글꼴 출처 ↗
읽기 글자 크기

정보처리기사 · 테스트 설계·검증 · 13/16

같은 처리 영역과 경계에서 입력 고르기

정상 입력 세 개가 통과하면 잘못된 입력도 막았다고 볼 수 있을까?

같은 처리가 예상되는 영역을 나누고 처리가 바뀌는 경계 근처를 따로 확인한다. 정상 값만 여러 개 고르는 것과는 다르다.

가상 도서관은 대출 기간을 정수 1~21일로 받기로 했다. 먼저 정수 입력을 0 이하·1~21·22 이상으로 나누면 허용 여부가 같은 세 영역이 된다. 각 영역의 대표값으로 −4·8·30을 고를 수 있다. 다만 같은 영역이 같은 결함을 드러낸다는 것은 테스트 설계의 가정이다. 대표값 하나로 그 영역의 모든 값이 옳다고 증명하지는 않는다.

이번에는 유효 구간의 끝점 1과 21 주변에서 0·1·2·20·21·22를 고른다. 이 집합은 두 끝점의 안쪽·끝·바깥쪽을 비교하려고 직접 정한 것이다. 특정 시험 체계의 모든 경계값 커버리지를 달성했다고 부르지 않는다. 소수 2.5와 문자열 '21'은 정수 영역 밖의 입력이므로 별도로 확인한다. 빈 값·단위·화면에서 숫자로 바꾸는 규칙도 실제 요구에 따라 추가해야 한다.

예상 결과는 실행 전에 이 업무 규칙에서 적는다. 21을 거부하는 구현을 보고 예상값도 거부로 바꾸면 경계 오류가 가려진다. 아래 함수는 입력을 숫자로 자동 변환하지 않는다. 화면의 문자열을 어떻게 해석할지는 이 함수 앞단의 별도 계약이다.

  1. 01 →

    입력 계약을 적는다

  2. 02 →

    처리 영역을 나눈다

  3. 03 →

    대표값·경계를 고른다

  4. 04

    예상 결과와 비교한다

같은 상황에서 비교하기

개념의 기준과 확인할 점
개념기준확인할 점
동등 분할같은 처리로 예상하는 영역의 대표값무효 영역도 나눴는가
경계 근처 선택규칙이 바뀌는 끝점과 이웃 값어느 끝점을 어떤 간격으로 봤는가
입력 형식 검사정수·소수·문자열 등 표현의 차이형 변환과 업무 범위를 섞지 않았는가

도서관 예제로 따라가기

function acceptDays(days) {
  return Number.isInteger(days) && days >= 1 && days <= 21;
}
창작 JavaScript 예제 · 격리된 Node 실행으로 확인
입력예상 결과선택한 이유
0거부하한 바로 밖
1허용하한
2허용하한 바로 안
20허용상한 바로 안
21허용상한
22거부상한 바로 밖
2.5거부정수가 아님
'21' · 문자열거부자동 변환하지 않는 계약

0·1·2와 20·21·22를 묶어 비교한다. 2.5와 문자열 '21'도 거부한다. 숫자 21과 같은 글자로 보인다는 이유로 문자열까지 허용하지 않는다. 이 표는 도서 대출 DB의 실제 데이터가 아니라 새로 만든 입력 계약의 결과다.

내 말로 설명해 보기

8·9·10만 확인한 테스트에 무엇을 보태겠는가? 입력 계약과 선정 이유를 함께 설명해 보자.

0/6,000자 · 브라우저 저장 · 계정 동기화 없음

설명한 뒤 점검하기

설명 예시 확인

세 값은 모두 허용 영역 안이다. 0·1·2와 20·21·22로 두 끝점 주변을 비교하고 정수 계약에 맞춰 2.5와 문자열도 별도로 본다. 예상 허용 여부는 구현 출력이 아니라 합의한 규칙에서 정한다.

암기한 문장과 같을 필요는 없어요. 개념의 기준과 예외가 맞는지 비교하세요.

참고한 자료

동등 분할·경계값·문장과 분기·수정 확인과 회귀 ↗

ISTQB CTFL v4.0.1 · 2024-09-15 · © ISTQB 및 저자 · 개념 분류 참고, 독립 해설 · 확인 2026-10-28

테스트 오라클과 테스트의 한계 ↗

SWEBOK 공개 위키 · Software Testing · 게시일 미표시 · 개념 참고 · 확인 2026-10-28

이전 개념 자료와의 연결

이전 자료에서 다룬 주제를 이어받아 설명과 예시를 다시 썼어요.