도구 소개
데이터 기반 테스트의 품질은 데이터 표의 품질을 넘지 못하며, 손으로 작성한 표는 경계값을 놓치기 쉽습니다. 각 필드를 유형(string, email, number, date, enum, boolean, phone)과 제약 조건(길이 또는 값의 범위, 필수 여부, 허용 값)으로 정의하면 이 생성기가 표를 만듭니다. 기본 유효 행 하나를 만든 다음, 한 번에 정확히 한 필드만 바꾼 행을 만듭니다. 최솟값과 최댓값, 각 한도를 한 단계 벗어난 값, 필수인데 누락된 값, 잘못된 형식의 값입니다. 각 행에는 Accept 또는 Reject 라벨과 “age = 17 (below min 18)” 같은 이유가 붙으므로, 실패한 행은 하나의 규칙을 정확히 가리킵니다. 랜덤 데이터 없이 결정적인 값을 사용하므로 같은 정의는 항상 같은 표를 만들고, 버전 관리의 diff도 읽기 쉽게 유지됩니다.
사용 방법
- 입력마다 필드를 추가하고 이름, 유형, 제약 조건을 지정하세요. 한도가 없으면 최솟값이나 최댓값을 비워 두세요.
- enum은 허용 값을 나열하고, number는 정수만 유효한지 선택하세요.
- 미리보기를 검토하고 유효, 경계값, 무효 행으로 필터링하세요.
- 스프레드시트 기반 테스트에는 CSV로, 코드의 매개변수화 테스트에는 JSON으로 내보내세요.
테스트 데이터 템플릿 생성기 자주 묻는 질문
자동화 테스트에서 결과물을 어떻게 사용하나요?
JSON 배열을 불러와 하나의 테스트를 매개변수화하세요. 각 행의 data를 보내고, expected가 “Accept”이면 성공을, “Reject”이면 유효성 검사 오류를 어설션합니다. reason은 그대로 명확한 테스트 이름이 됩니다. 예를 들어 Vitest/Jest의 test.each나 JUnit 5의 @MethodSource와 함께 사용할 수 있습니다.
누락된 값은 어떻게 표현되나요?
CSV에서는 빈 셀, JSON에서는 null로 표현됩니다. API가 키 누락과 명시적인 null을 구분한다면, 키를 생략한 케이스를 별도로 추가하세요.
왜 랜덤 데이터를 쓰지 않나요?
랜덤 값은 실패를 재현하기 어렵고 표를 검토하기도 어렵게 만듭니다. 경계값 테스트에는 최솟값, 그보다 하나 작은 값 같은 정확한 값이 필요하므로 이 도구는 고정된 값을 생성합니다. 현실적인 랜덤 레코드가 필요하다면 테스트 데이터 생성기를 사용하세요.