TestSprite 리뷰: 실제로 효과가 있는 현지화 테스트

발행: (2026년 5월 4일 AM 06:06 GMT+9)
6 분 소요
원문: Dev.to

Source: Dev.to

전 세계적인 앱을 구축할 때, 현지화 테스트는 화려하지 않지만 생산 환경에서 먼 시간대에서 발생할 수 있는 문제를 방지하는 중요한 작업입니다. 저는 지난 주 실제 결제 대시보드에 TestSprite를 사용했으며, 프로덕션에 영향을 미칠 수 있는 여러 현지화 관련 버그를 발견했습니다.

날짜 포맷 문제

문제점

대시보드는 모든 사용자를 위해 MM/DD/YYYY 형식으로 날짜를 표시했으며, DD/MM/YYYY 형식을 사용하는 지역(영국, EU, 호주)에서도 동일하게 표시되었습니다. 03/04/2026이라는 거래는 미국 사용자는 3월 4일로 해석했지만 영국 사용자는 4월 3일로 해석해, 핀테크 분야에서 규정 준수에 큰 위험을 초래했습니다.

TestSprite가 수행한 작업

TestSprite의 스크린샷 비교 기능은 en‑GB 로케일이 03/04/2026을 로케일 설정을 무시하고 렌더링한다는 점을 강조했으며, 코드가 Intl.DateTimeFormat을 올바르게 호출하지 않았음을 보여주었습니다.

해결 방법

// Before (broken)
const date = new Date(transaction.timestamp);
return date.toLocaleDateString(); // Defaults to user's browser locale, but my code was hard‑coded

// After (fixed)
const date = new Date(transaction.timestamp);
const formatter = new Intl.DateTimeFormat('en-GB', {
  year: 'numeric',
  month: '2-digit',
  day: '2-digit'
});
return formatter.format(date); // Respects locale explicitly

숫자 포맷 문제

문제점

미국식 포맷($1,234.56)이 독일 사용자에게도 그대로 적용되어, 독일 사용자는 €1.234,56을 기대했지만 천/소수 구분자가 바뀌지 않아 오해가 발생했습니다(예: 독일 사용자가 €1,234.56을 1,234,560 유로로 해석).

TestSprite가 수행한 작업

de-DE 로케일에 대한 스위프 테스트가 이 불일치를 포착했으며, UI가 여전히 미국식 숫자 포맷을 사용하고 있음을 보여주었습니다.

해결 방법

// Before (broken)
const amount = 1234.56;
const symbols = { USD: '$', EUR: '€', GBP: '£' };
return symbols[currency] + amount.toFixed(2);

// After (fixed)
const amount = 1234.56;
const formatter = new Intl.NumberFormat('de-DE', {
  style: 'currency',
  currency: 'EUR'
});
return formatter.format(amount); // Returns "1.234,56 €" correctly

타임존 처리 문제

문제점

대시보드는 많은 경우에 타임스탬프를 올바르게 표시했지만, 일광 절약 시간제 전환 및 과거 데이터에서는 조용히 UTC로 되돌아갔습니다. 또한 타임스탬프에 명시적인 타임존 라벨이 없어 사용자가 14:30이 로컬 시간인지 서버 시간인지 알 수 없었습니다.

TestSprite가 수행한 작업

US/Eastern, Asia/Tokyo, Europe/London, Australia/Sydney 등 다양한 타임존에서 테스트를 수행하여 일관성 문제를 드러냈습니다. 시각 회귀 스크린샷이 정확히 깨진 문자열을 pinpoint했습니다.

비ASCII 및 이모지 처리

TestSprite는 또한 다음과 같은 폼 제출을 테스트했습니다:

  • 금액 필드에 아라비아 숫자
  • 메모에 중국어 문자
  • 사용자 댓글에 이모지
  • 오른쪽에서 왼쪽으로 쓰는 텍스트(아라비아어, 히브리어)

모두 정상 작동했지만, 거래 요약에서 이모지 렌더링이 문제였으며 TestSprite가 즉시 이를 표시했습니다. 사소한 버그였지만, 눈에 띄지 않고 배포될 수 있는 문제였습니다.

전체 평가

평점

9/10

TestSprite의 장점

  • 실제 브라우저 환경에서 자동화된 로케일 테스트 수행
  • 미묘한 포맷 버그를 잡아내는 시각 회귀 테스트
  • 정확히 실패한 로케일을 명시하는 구조화된 출력
  • 팀이 버그를 부인할 수 없게 만드는 스크린샷 증거

작은 아쉬움

  • 베트남, 태국, 나이지리아 등 신흥 시장에 대한 테스트 커버리지가 더 필요함
  • 로케일별 UX 결정을 위한 내장 A/B 테스트 기능이 없음

추천 의견

전 세계 애플리케이션을 개발하는 모든 개발자에게 현지화 테스트는 선택 사항이 아닙니다. TestSprite를 사용하세요—영국 사용자가 불가능한 날짜 때문에 불평을 멈출 때 스스로에게 감사하게 될 것입니다.

0 조회
Back to Blog

관련 글

더 보기 »