반응형

제목: 현지화 및 국제화 테스팅(Localization & Internationalization Testing)

저자: Shanthi Alagappan, 인도

문서유형: 컨퍼런스 페이퍼(12페이지) 2006



세계화(Globalization)

  • 국제화(Internationalization)와 현지화(Localization)는 세계화(Globalization)의 부분 집합
  • 오늘날 세계가 하나의 지구촌이 되면서 어떤 한 지역에서 개발된 제품이 세계화 프로세스를 거쳐 다수의 시장에서 출시되어 세계 곳곳에서 사용됨
  • 결과적으로 국제화 및 현지화 프로세스의 필요성과 국제화된 제품을 위한 테스팅 요구사항이 크게 증가함


국제화(Internationalization)

  • “i18n”으로 약칭됨(단어 첫 글자 i와 마지막 글자 n 사이에 18자가 있다는 의미)
  • 제품을 추가적인 공학적 변경 없이 다양한 현장(locales)과 지역(regions)에 적응가능 하도록 설계/개발/구축 하는 프로세스를 가리킴
  • 어떤 문화에 특정한 정보로부터 완전히 독립적이 되도록 소프트웨어 코드를 손본다. , 소프트웨어의 하드코드된 스트링을 들어내어 이를 리소스 번들(resource bundles)이라 불리는 외부 파일로 저장. 이것이 런타임 시에 로드 됨

i18n 프로세스는 통상적으로 아래 태스크들과 관련된다.

Ø  스트링, 그래픽, 아이콘, 텍스트 등을 외부화(externalizing)

Ø  코드 페이지(code page) 선정과 코드 페이지 전환 정의

Ø  코드 페이지를 인지하도록 텍스트조작기능(text manipulation functions)들을 변경

Ø  일자, 시간, 통화 단위, 숫자 같은 형식정의기능(formatting functions)들의 로직을 변경

Ø  조합정렬기능(collation/sorting functions)들을 변경

 

NOTE: 코드 페이지(code page)는 텍스트를 다루기 위해 한 언어의 각 문자에 특정 번호를 할당한 것임. , 문자를 그 수치 값으로 매핑하는 테이블로 ASCII가 코드 페이지의 한 예


로컬(a Locale)이란?

로컬은 언어, 영토, 코드 페이지 같은 기본 컴포넌트들로 구성됨

“i18n”의 주 목적은 어떤 문화에 특정한 모든 정보를 코드로부터 외부화하는 것임. , 이런 데이터가 런타임 시에 로드되도록 함에 따라 소프트웨어가 클라이언트 머신에 설치된 로컬 셋에 기반하여 적절히 동작하게 됨

 

NOTE: 리소스 번들은 로컬에 특정한 오브젝트(, 애플리케이션에서 디스플레이 되는 메시지를 나타낸 스트링)들을 포함한다. 특정한 로컬에 기반하여 그에 상응하는 특정 리소스 번들이 로드됨


클라이언트 머신에 로컬을 설정하는 방법

클라이언트 머신에 OS의 해당 국가 언어 버전을 설치하거나(, Win2000 일본어 버전)

또는 Windows 2000의 경우 1) Regional Options으로 가서(start 메뉴 à Settings à Control Panel à Regional Options), 2) “Settings for the current user” 패널 하의 General Tab에서 적절한 로컬(locale)을 선택한다.


현지화(Localization)

  • “L10N”으로 약칭됨(단어 첫 글자 L과 마지막 글자 N 사이에 10개 문자가 있다는 의미)
  • 소프트웨어 제품을 지원되는 각 언어에 맞도록 만드는(커스토마이징 하는) 프로세스
  • 소프트웨어의 번역(translation) 및 이를 최종사용자에게 보이는 것(presentation)과 관련된 개발과 테스팅 측면
  • 프로그램 번역, 적절한 아이콘과 그래픽 선택, 기타 문화적 고려사항 등이 포함된다. 또한 헬프 파일과 문서의 번역도 포함될 수 있음


i18n 테스팅을 위한 효과적인 테스트 전략과 테스트 계획

클라이언트가 제품을 다수의 시장에서 동시에 출시 하고자 할 때 테스트 계획과 전략이 아래에 중점을 두어야 한다.

  • 기반 제품(영어 버전)에 대한 정규 테스팅이 시작하는 첫 날부터 I18n L10N 테스팅의 시동을 건다.
  • 시작부터 i18n과 관련된 모든 중요 버그를 집어내기 위해서 i18n 테스팅을 위한 적절한 전략을 정의한다.
  • 초기부터 버그를 수정하고, 회귀 테스트하고, 그것이 i18n 환경에 미치는 영향을 확인할 수 있는 계획을 세운다.


테스트 접근방법(Test Approach)에서 아래를 다루어야 한다.

Ø  로컬 세팅과 관련된 리소스 번들(서버로부터 로딩됨)

Ø  로컬 세팅과 관련된 사용자 인터페이스 디스플레이

Ø  날짜, 시간, 통화 형식, 조합 및 정렬 순서, 숫자 같은 어떤 문화에 특정한 정보

Ø  웹 서버 상의 커스마이징된 색과 폰트(웹 기반 애플리케이션의 경우)

Ø  어떤 언어에 특정한 문자 집합 렌더링

Ø  어떤 기술에 특정한 i18n 지원 확인

Ø  기능성과 비즈니스 규칙을 확인함으로써 제품 안정성(stability) 체크


테스트 케이스와 테스트 데이터 설계

아래를 위한 테스트 케이스와 테스트 데이터가 생성될 필요가 있음

  • 언어에 특정한 번역된 스트링(또는 리소스 파일)이 현 언어와 로컬 세팅(클라이언트 OS)에 따라서 애플리케이션에 의해 로드되는지를 확인한다.
  • 언어에 특정한 번역된 스트링이 사용자 인터페이스 및 에러 메시지 상에 표시되는지 확인한다.
  • 문화에 특정한 정보(날짜, 시간, 정렬 순서, 숫자와 통화 형식, 조합과 정렬 등)가 로컬에 따라서 디스플레이되는지 확인한다.
  • 웹 서버 상에서 커스토마이징된 색과 폰트를 확인한다(Globalization).
  • 요구 언어에 특정한 여러 테스트 데이터를 입력함으로써 제품 안정성을 확인한다.

 

) 저자가 i18n 지원 웹 기반 이메일 제품을 위한 테스트 데이터 준비를 한 경험이 있음이메일을 특정한 언어에게로 전송 시 다양한 언어(일어, 중국어, 한국어, 독일어, 프랑스어) 문자 집합이 제대로 인코딩되고 디코딩되는지를 보장하기 위해 MIME을 위한 테스트 케이스와 테스트 데이터가 생성되었음


I18N 테스팅의 초점

  • 호환성 테스팅(Compatibility testing): 언어 호환성을 위해 제품을 테스팅. 특정 언어 환경에서 제품의 동작을 테스팅하여 제품의 해당 환경으로의 커스토마이징 능력을 확인
  • 기능성 테스팅(Functionality testing): i18n 테스팅의 핵심 영역. 여러 다른 언어 환경에서 전체 기능의 회귀 테스트를 실행하고 특정 언어 스트링과의 인터페이스를 확인. 날짜/시간 디스플레이 같은 문화에 특정한 정보를 확인하는 것도 포함
  • 사용자 인터페이스 확인(User interface Validation): 테스트 잘림이나 겹침, 그래픽 이슈 같은 시각적인 문제(visual problems)를 체크
  • 상호운용성 테스팅(Interoperability testing): 소프트웨어가 타겟 플랫폼/운영체제/애플리케이션 등과 적절히 상호작용하는지 확인
  • 사용성 테스팅(Usability testing): 시스템의 사용하기 편한 정도를 평가(선택 사항)
  • 설치 테스팅(Installation testing): 지정된 서버에 애플리케이션을 설치 시 제품 설치 메시지가 상응하는 언어로 디스플레이 되는지 확인


L10N 테스팅의 초점

L10N 테스팅은 주로 아래 항목들에서 번역의 적절성(appropriateness)을 확인하는데 중점을 둔다.

  • GUI 콘텍스트
  • 온라인 헬프 파일
  • 에러 메시지, 다이얼로그 박스
  • 튜토리얼/Readme 파일
  • 사용자 매뉴얼, 설치 가이드, 릴리즈 노트 같은 문서

 

또한 GUI 레이아웃을 체킹하고, UI에서 잘리는 것이 없음을 확인하고, 에러 메시지의 정확성과 일관성을 확인하는 것도 이 테스팅에 포함된다.

 

NOTE: L10N 테스팅은 일반적으로 특정 언어의 원어민에 의해 수행된다.


반응형

+ Recent posts