T도구모음

Mock 데이터 생성기

필드 스키마를 정의하면 실감나는 가짜 JSON 데이터를 즉시 생성합니다. 프론트엔드 개발 시 유용합니다.

프리셋 템플릿

필드 스키마 정의

Mock 데이터 생성기 — 인프라 및 개발 관점 개요

Mock 데이터(가짜 데이터)는 소프트웨어 개발 라이프사이클 전반에서 필수적인 역할을 합니다. 프론트엔드-백엔드 병렬 개발, E2E 테스트 자동화, 부하 테스트, 데모 환경 구축 등 실제 데이터 없이도 시스템을 검증해야 하는 모든 상황에서 활용됩니다. 이 도구는 JSON Schema 기반 필드 정의로 한국어에 특화된 실감나는 데이터를 브라우저 내에서 즉시 생성합니다. 생성된 데이터는 MSW(Mock Service Worker), JSON Server, Mirage JS 등의 목 서버에 바로 투입할 수 있습니다.

테스트 데이터 생성 전략과 표준

ISO/IEC 29119(소프트웨어 테스팅 표준)에서는 테스트 데이터 설계를 테스트 프로세스의 핵심 활동으로 정의합니다. 효과적인 Mock 데이터는 다음 원칙을 따릅니다:

  • 현실성(Realism): 실제 데이터 분포와 유사한 값 범위, 포맷, 상관관계를 가져야 합니다
  • 재현성(Reproducibility): 시드(seed) 기반 생성으로 동일 데이터를 반복 생성할 수 있어야 합니다
  • 경계값 포함(Boundary Coverage): 최소/최대값, 빈 문자열, null 등 에지 케이스를 포함해야 합니다
  • 개인정보 안전(Privacy Safety): 실제 개인정보가 절대 포함되지 않아야 합니다

JSON Schema 기반 스키마 정의 예시

// JSON Schema (Draft 2020-12) 기반 사용자 스키마
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id":    { "type": "string", "format": "uuid" },
    "name":  { "type": "string", "faker": "name.fullName",
               "x-locale": "ko" },
    "email": { "type": "string", "format": "email" },
    "phone": { "type": "string", "pattern": "^010-\\d{4}-\\d{4}$" },
    "role":  { "type": "string", "enum": ["admin","user","viewer"] },
    "createdAt": { "type": "string", "format": "date-time" }
  },
  "required": ["id", "name", "email"]
}

MSW(Mock Service Worker) 연동 예시

MSW는 Service Worker API를 이용해 네트워크 레벨에서 HTTP 요청을 가로채는 API 모킹 라이브러리입니다. 이 도구에서 생성한 Mock 데이터를 MSW 핸들러에 바로 적용할 수 있습니다.

// MSW v2 핸들러 예시
import { http, HttpResponse } from 'msw';
import mockUsers from './fixtures/users.json'; // 이 도구로 생성

export const handlers = [
  http.get('/api/users', () => {
    return HttpResponse.json(mockUsers);
  }),
  http.get('/api/users/:id', ({ params }) => {
    const user = mockUsers.find(u => u.id === params.id);
    return user
      ? HttpResponse.json(user)
      : new HttpResponse(null, { status: 404 });
  }),
];

// JSON Server 사용 시 (더 간단한 방법)
// npx json-server --watch fixtures/users.json --port 3001

개인정보 마스킹과 데이터 안전

개인정보보호법(PIPA) 및 GDPR에 따라 테스트/개발 환경에서도 실제 개인정보 사용은 제한됩니다. Mock 데이터 생성기는 처음부터 가상의 데이터를 만들어 이 문제를 근본적으로 해결합니다. 프로덕션 데이터를 개발 환경에 복제해야 하는 경우에는 반드시 비식별화(de-identification) 처리를 거쳐야 합니다:

기법설명예시
가명처리식별자를 가상값으로 대체홍길동 → 김테스트
마스킹일부 문자를 *로 대체010-1234-5678 → 010-****-5678
범주화정밀값을 범위로 대체25세 → 20-29세
총계처리개별값 대신 통계값 사용개별 급여 → 평균 급여

규모별 활용 전략

소규모(개인/스타트업) — 이 도구에서 10~100건의 Mock JSON을 생성하고 프로젝트 내 fixtures/ 디렉토리에 저장합니다. MSW로 API를 모킹하면 백엔드 없이 프론트엔드 개발이 가능합니다.

중규모(팀 프로젝트) — JSON Schema 기반 스키마를 Git에서 버전 관리하고, CI 파이프라인에서 Faker.js/Chance.js로 테스트 데이터를 자동 생성합니다. E2E 테스트(Playwright, Cypress)의 시드 데이터로 활용하여 테스트 격리(test isolation)를 보장합니다.환경변수 변환기로 목 서버 URL을 환경별로 관리하면 편리합니다.

대규모(엔터프라이즈) — 전용 Test Data Management(TDM) 플랫폼을 구축합니다. 프로덕션 데이터를 비식별화하여 스테이징에 복제하고, 부하 테스트용으로 수십만 건의 데이터를 스크립트로 대량 생성합니다. 데이터 거버넌스 정책에 따라 PII 필드를 자동 탐지하고 마스킹하는 파이프라인을 운영합니다.

보안 및 컴플라이언스 주의사항

절대로 프로덕션 데이터를 개발/테스트 환경에 그대로 복사하지 마십시오.개인정보보호법 제28조의2에 따라 가명정보도 안전조치 의무가 있습니다. Mock 데이터를 처음부터 생성하면 이러한 법적 리스크를 원천 차단할 수 있습니다. 생성된 Mock 데이터에 실수로 실제 값이 포함되지 않았는지더미 데이터 생성기와 교차 검증하는 것을 권장합니다.

관련 도구 및 참고 자료

API 테스트 시 요청 변환에는 cURL 변환기를 함께 활용할 수 있습니다. 참고 표준: JSON Schema Specification(Draft 2020-12), ISO/IEC 29119 소프트웨어 테스팅, OpenAPI Specification 3.1(Swagger), Faker.js Documentation, MSW(Mock Service Worker) v2 Guide, 개인정보보호법(PIPA), GDPR Article 89.

자주 묻는 질문

관련 도구