Oct 15, 2024
-55 mins read
단위 테스트는 IT 소프트웨어 제품 품질을 보장하는 데 중요한 역할을 합니다. 왜냐하면 기술이 급속히 발전하는 현재 환경에서 소프트웨어의 품질을 보장하는 것은 기업들에게 최우선 과제로 떠오르고 있습니다.
여러 산업에 기업을 운영하는 C-레벨들에게 소프트웨어 테스트 서비스를 아웃소싱하는 것은 비용을 절감할 뿐만 아니라 시장에서 위상을 높이는 데 도움이 됩니다.
그래서 다양한 산업에서 IT 제품을 개발하는 기업들이 제품의 품질을 향상하기 위해 외주 테스트 아웃소싱 시장에 대해 이해할 수 있는 데 도움을 주는 목적으로 이번 글에서 LTS 그룹은 단위 테스트에 대한 기초 지식, 소프트웨어 테스트 아웃소싱의 이유 및 베트남에서 테스트 아웃소싱 서비스를 제공하는 주요 회사들에 대한 심층적인 내용을 제공합니다.
이 글을 통해 기업들이 단위 테스트의 중요성과 이를 소프트웨어 개발 과정에서 효과적으로 적용하는 방법을 보다 명확히 파악할 수 있는 데 유익한 참고 출처가 되기를 바랍니다.
단위 테스트 (Unit test)란 코드의 가장 작은 기능 단위를 테스트하는 프로세스를 말합니다. 구체적으로 말하면 단위 테스트는 더 작고 고립된 애플리케이션 코드 블록의 정확성을 검증하는 코드 블록입니다.
단위 테스트는 개발자의 이론적 논리에 따라 코드 블록이 예상대로 실행되는지 확인하도록 설계되었습니다. 단위 테스트는 입력과 캡처된 주장 True 또는 False 출력을 통해서만 코드 블록과 상호 작용할 수 있습니다.
1997년, Kent Beck라는 프로그래머가 작은 코드 조각을 테스트하는 개발 환경 플러그인 JUnit을 만들었습니다. 개발자가 소스 코드를 평가하는 테스트 코드를 작성하고 접근 방식을 단위 테스트라고 불렀습니다. 이러한 스타일의 단위 테스트 도구는 수년 동안 모든 주요 개발 환경의 필수 요소가 되었습니다.
JUnit을 만든 후 Martin Fowler는 코드를 더 고립되고 테스트 가능하게 만들기 위해 코드를 변환하는 방법을 제안하는 리팩터링이라는 책을 썼습니다. 코드 리팩터링과 단위 테스트의 결합은 테스트 중심의 개발로 이어졌으며 여기서 단위 테스트 생성은 개발 프로세스에 필수적입니다.
단위 테스트와 통합 테스트는 소프트웨어 품질 보장을 위한 두 가지 주요 테스트 유형이지만 목적과 범위는 다릅니다.
두 가지 테스트 유형의 차이는 다음과 같습니다.
비교 요소 | 단위 테스트 | 통합 테스트 |
테스트 범위 | 개별 유닛(함수, 모듈)을 테스트 | 유닛 또는 모듈 간의 상호작용을 테스트 |
목표 | 각 유닛이 올바르게 작동하는지 확인 | 통합된 유닛이 함께 올바르게 작동하는지 확인 |
실행 속도 | 작은 부분만 테스트하므로 빠름 | 여러 구성 요소를 테스트하므로 느림 |
실행 시기 | 언제든 수행 가능 | 일반적으로 단위 테스트 이후 및 시스템 테스트 전에 수행됨 |
테스트 유형 | White box 테스트 | Black box 테스트 |
단위 테스트는 소프트웨어 개발 라이프 사이클의 초기 단계에서 버그와 문제를 식별하는 데 도움이 됩니다. 왜냐하면 각 코드 단위를 테스트함으로써 개발자들이 코드 베이스에 깊숙이 포함되기 전에 문제나 버그를 식별하여 수정할 수 있습니다.
비즈니스라면 개발하는 소프트웨어애서 남은 오류를 조기부터 발견하면 상당한 시간과 노력을 뿐만 아니라 상당한 비용이 절약할 수 있는 데 큰 이익을 얻을 수 있습니다.
왜냐하면 여러 연구에 따르면 오류가 개발 후반 단계나 배포 후에 발견되면 수정 비용이 더 높아질 수 있습니다. 단위 테스트를 통해 초기 단계에서 오류를 발견하면 문제 해결 비용을 최소화하는 데 도움이 됩니다.
단위 테스트는 새 기능의 완료 상태와 품질에 대한 투명성을 제공합니다. 개발자가 테스트를 실행하고 모든 테스트가 통과하면 해당 코드는 기능 요구 사항을 충족하고 철저히 테스트되었다는 명확한 메시지를 팀원들에게 전달할 수 있습니다. 이를 통해 팀 간 신뢰와 이해를 형성하는 데 기여합니다.
또한 다른 개발자가 단위 테스트가 포함된 코드를 검토할 때 테스트를 실행하여 즉시 결과를 확인할 수 있기 때문에 코드 이해가 더 쉬워집니다. 이는 코드 리뷰 과정을 보다 효율적으로 만들고 팀원 간 긍정적인 상호작용과 충돌을 줄이는 데 도움이 됩니다.
단위 테스트는 코드를 더 재사용할 수 있도록 하는 데 도움이 될 수 있습니다. 단위 테스트를 사용하여 다양한 조건에서 코드가 올바르게 작동하는지 확인할 수 있기 때문입니다. 이렇게 하면 다른 프로젝트에서 코드를 더 쉽게 재사용할 수 있어 장기적으로 시간과 노력을 절약할 수 있습니다.
각 소프트웨어 단위에 대한 테스트 케이스를 작성하는 데 상당한 시간이 소요됩니다. 새로운 기능을 개발할 때 개발자는 주 코드뿐만 아니라 해당하는 유닛 테스트도 작성해야 합니다.
기능이 자주 변경되는 경우에는 이 작업이 개발 프로세스를 지연시킬 수 있습니다. 코드가 수정될 때마다 유닛 테스트도 업데이트해야 하기 때문에 테스트 케이스 유지 관리에 많은 시간이 필요합니다.
코드베이스가 기능 확장, 리팩토링 또는 버그 수정으로 인해 변경될 때마다 유닛 테스트도 이러한 변경 사항을 반영하도록 수정할 필요가 있습니다. 작은 논리나 구조 변경이라도 기존 테스트가 깨질 수 있어 이를 다시 작성하거나 조정해야 하는 부담이 개발팀에 가중됩니다.
방대한 유닛 테스트 스위트를 유지하다 보면 ‘테스트 부패‘ 현상이 발생할 수 있습니다. 오래되거나 잘못 작성된 테스트가 쌓여 코드베이스의 현재 상태를 정확하게 반영하지 못할 수 있으며 이로 인해 잘못된 양성 또는 음성 테스트 결과가 발생할 수 있습니다. 이러한 결과는 릴리스 과정을 지연시키고 테스트 프레임워크에 대한 개발자의 신뢰를 저하시킬 수 있습니다.
단위 테스트는 소프트웨어 개발 초기 단계에서 버그를 조기에 발견하는 데 도움을 주지만 테스트 범위에 큰 한계가 있습니다. 단위 테스트는 시스템의 개별 구성 요소, 즉 함수나 클래스만을 테스트하며, 이러한 구성 요소 간의 상호 작용을 고려하지 않습니다. 이는 모듈 간의 결합이나 시스템 전체 통합으로 인해 발생하는 오류가 발견되지 않을 수 있음을 의미합니다.
또한, 단위 테스트는 시스템의 구성 요소가 복잡한 환경에서 상호작용하는 실제 시나리오를 무시하는 경향이 있습니다. 이로 인해 테스트 커버리지가 높다고 하더라도 유닛 테스트만으로는 실제 환경에서 소프트웨어가 안정적으로 작동하는지 또는 여러 모듈을 통합할 때 문제가 없는지 보장할 수 없습니다.
테스트 프레임워크 |
구체적인 이해 |
JUnit | JUnit은 Java 애플리케이션을 위한 가장 인기 있는 유닛 테스트 프레임워크 중 하나입니다. 테스트 케이스를 쉽게 생성, 관리, 실행할 수 있는 도구를 제공하며, CI/CD 도구와 통합하여 테스트 자동화를 지원합니다. JUnit의 장점은 방대한 커뮤니티와 풍부한 문서로 개발자가 쉽게 접근할 수 있다는 것입니다. |
JBehave | JBehave는 Java 애플리케이션을 위한 행동 주도 개발(BDD) 테스트 프레임워크입니다. 테스트 케이스를 자연어로 기술할 수 있어, 비기술자와 개발자 간의 원활한 소통을 돕습니다. 이를 통해 소프트웨어가 고객 요구사항에 부합하는지 확인할 수 있습니다. |
NUnit | NUnit은 .NET 애플리케이션을 위한 강력한 유닛 테스트 프레임워크입니다. C#, F# 등 다양한 .NET 언어를 지원하며, 복잡한 테스트 케이스 생성을 위한 다양한 도구와 기능을 제공합니다. 또한 Visual Studio 및 다른 CI 도구와도 잘 통합됩니다. |
XUnit | XUnit은 NUnit의 향상된 버전으로, .NET 환경에서 더 단순하고 현대적인 설계를 제공합니다. 기본적인 테스트 방법 외에도 테스트 간 데이터 공유, 자원 관리를 더 효율적으로 처리하여 대규모 테스트에서 시간과 노력을 절감할 수 있습니다. |
Robot | Robot Framework는 자동화 테스트 및 수락 테스트를 위한 오픈 소스 프레임워크입니다. Python과 Java를 포함한 여러 언어를 지원하며, 기능 테스트와 API 테스트 모두에 적합한 유연성을 제공합니다. 키워드 주도 테스트를 지원하여 코드 재사용성을 높이고 테스트 작업을 간소화합니다. |
PyUnit | PyUnit은 Python의 기본 유닛 테스트 프레임워크로, Python 애플리케이션을 위한 테스트 케이스를 생성하고 관리할 수 있는 도구를 제공합니다. JUnit 및 유사한 프레임워크의 원칙을 따르며, 테스트를 조직하고 실행하며 결과를 보고하는 작업을 쉽게 수행할 수 있습니다. |
Cypress | Cypress는 웹 애플리케이션을 위한 강력한 테스트 프레임워크로, 특히 UI 테스트에 최적화되어 있습니다. JavaScript와 같은 최신 웹 기술과 원활하게 작동하며, 실시간 테스트와 CI/CD 도구와의 원활한 통합이 가능해 개발 팀이 UI 버그를 신속하게 발견하고 수정할 수 있도록 돕습니다. |
단위 테스트의 첫 번째 단계는 계획을 수립하고 테스트 환경을 설정하는 것입니다.
계획 수립에는 어떤 모듈을 테스트할 것인지 테스트할 기능과 특별히 주의해야 할 테스트 사례를 파악하는 과정이 포함됩니다. 예를 들어, 사용자를 관리하는 애플리케이션을 개발 중이라면 로그인 또는 사용자 등록과 같은 작은 기능을 선택합니다. 계획 단계에서는 각 기능의 테스트 범위가 명확하게 정의됩니다.
계획이 수립된 후에는 테스트 환경을 설정하는 단계가 이어집니다. 여기에는 테스트 프레임워크(Java를 위한 JUnit, .NET를 위한 NUnit, JavaScript를 위한 Jest 등)의 설치, 종속 라이브러리의 설정, 실제 조건을 시뮬레이션할 수 있는 환경 구성이 포함됩니다.
다음 단계는 테스트 케이스를 작성하는 것으로 시스템이 충족해야 하는 구체적인 시나리오를 생성하는 과정입니다.
테스트 케이스는 입력(input), 동작(action), 기대되는 결과(expected output)로 구성됩니다. 각 테스트 케이스는 기능의 특정 측면에 중점을 두고, 시스템이 제대로 작동하는지 확인합니다.
예를 들어, 로그인 기능을 테스트하는 경우 올바른 자격 증명을 입력하면 사용자가 성공적으로 로그인할 수 있는지 테스트하는 케이스와 잘못된 비밀번호를 입력했을 때 오류가 발생하는지 테스트하는 케이스가 있을 수 있습니다.
테스트 스크립트는 테스트 프로세스를 자동화하는 코드입니다. Python과 같은 언어에서는 unittest 프레임워크를 사용하여 테스트 스크립트를 작성하는 것이 자주 보일 수 있습니다.
테스트 스크립트를 작성한 후, 다음 단계는 유닛 테스트를 실행하는 것입니다. 이 작업은 자동화된 테스트 도구를 통해 수행됩니다. 유닛 테스트를 실행하면 시스템이 정의된 각 테스트 케이스를 실행하고 결과를 기록합니다. 유닛 테스트는 주로 개발 환경이나 특정 테스트 환경에서 실행됩니다.
대규모 조직이나 프로젝트의 경우, 전문 테스트 팀의 지원을 통해 유닛 테스트를 실행할 수 있습니다. 예를 들어, LTS 그룹은 소프트웨어 테스트 서비스를 제공하며 고객사는 단위 테스트를 종합적으로 수행할 수 있도록 지원합니다. 실행 단계에서는 우리 전문 테스트 엔지니어 팀은 테스트 스크립트 작성부터 결과 관리 및 분석까지 포함됩니다.
단위 테스트가 실행된 후 결과 분석은 각 테스트가 얼마나 성공적으로 수행되었는지 평가하는 중요한 단계입니다.
모든 테스트 케이스가 예상한 대로 결과를 도출하면 해당 모듈이 제대로 작동한다는 것을 의미합니다. 반대로 실패한 테스트 케이스가 있으면 개발자는 소스 코드를 검토하고 원인을 찾아 수정해야 합니다.
결과 분석은 출력과 기대되는 결과를 비교하는 것뿐만 아니라 코드 성능과 예외 처리가 적절하게 이루어졌는지도 평가할 필요가 있습니다.
베트남에서 소프트웨어 테스트를 아웃소싱하는 것은 한국 기업들에게 명확한 비용 절감 효과를 제공가능합니다, 이유가 뭐냐면 베트남은 선진국에 비해 인건비가 훨씬 저렴하기 때문입니다. 이는 기업들이 비용을 절감할 뿐만 아니라 대규모 프로젝트를 위해 예산을 최적화하는 데도 도움이 됩니다. 그러므로 기업들은 재무 자원을 연구개발(R&D)이나 마케팅과 같은 다른 분야에 투자를 집중할 수 있습니다.
예를 들어 한국의 한 소프트웨어 개발 회사가 베트남의 파트너에게 전체 테스트 과정을 아웃소싱한 경우를 들 수 있습니다. 동일한 테스트 품질을 유지하면서도 회사는 내부에서 수행했을 때보다 비용을 절감할 수 있습니다. 왜냐하면 장기 프로젝트의 경우 높은 내부 인력의 비용을 지불하지 않고 예산을 신중하게 관리해야 지속 가능성을 보장할 수 있습니다.
베트남은 현재 동남아시아에서 신기술 및 소프트웨어 개발의 허브로 부상하고 있습니다. 베트남의 소프트웨어 엔지니어와 테스트 전문가들은 높은 수준의 전문 교육을 받았으며 항상 소프트웨어 산업에서 최신 기술과 프로세스를 업데이트하고 있습니다. 이를 통해 한국 기업들은 내부 교육에 투자하지 않고도 우수한 인재를 쉽게 확보할 수 있습니다.
베트남 시장의 고품질 인력 자원에 관한 정보를 더 알아보려면 LTS그룹으로 발행된 베트남 IT 서비스 산업 전자책 을 참고하세요!
아웃소싱의 큰 장점 중 하나는 유연한 확장 가능성입니다. 한국 기업들은 소프트웨어 테스트 프로젝트의 규모를 확장하거나 축소할 필요가 있을 때 베트남의 파트너를 통해 이를 쉽게 수행할 수 있습니다. 베트남의 인력은 빠르게 적응하며 글로벌 파트너의 요구에 맞춰 즉시 대응할 준비가 되어 있습니다.
예를 들어 한국의 소프트웨어 회사가 새로운 제품을 출시하고 품질 보장을 위해 테스트 프로세스를 확장해야 하는 경우 복잡한 채용 절차 없이도 베트남에서 추가 테스트 인력을 신속하게 고용할 수 있습니다. 이 과정을 통해 시간 절약뿐만 아니라 프로젝트의 각 단계에서 더 큰 유연성을 받을 수 있습니다.
IT 제품 출시 시간은 경쟁이 치열한 기술 산업에서 핵심 요소입니다. 베트남에서 아웃소싱을 통해 한국 기업들은 소프트웨어 테스트 시간을 단축할 수 있을 뿐만 아니라 제품을 더 빨리 시장에 출시할 수 있게 해줍니다.
이유는 베트남의 인력은 유연하게 근무할 수 있으며 국제 시간대에 맞춰 작업하는 것입니다. 이를 통해 두 국가 간의 개발 프로세스를 동기화할 수 있습니다.
베트남과 한국은 시간 차이는 2시간 밖에 안 되는데 다른 아웃소싱 나라보다 큰 이점입니다. 이를 통해 한국의 소프트웨어 회사는 테스트 프로세스를 여러 단계로 나누고 베트남의 테스트 팀과 동시에 진행할 수 있습니다.
그러므로 발생하는 문제를 빠르게 발견하고 해결할 수 있으며 제품이 가능한 한 짧은 시간 내에 완성될 수 있도록 합니다.
아웃소싱은 비용 절감뿐만 아니라 품질 보증(QA) 프로세스를 개선하는 데도 기여합니다. 베트남의 소프트웨어 테스트 회사들은 표준화된 QA 프로세스를 보유하고 있으며 이는 위험을 줄이고 제품의 품질을 최적화하도록 설계되어 있습니다. 특히 복잡한 소프트웨어 제품의 경우 작은 오류 하나도 경제적 손실과 평판에 큰 영향을 미칠 수 있습니다.
2016년에 설립된 LTS Group은 베트남에서 신속히 성장해 나가는 IT 전문 업체입니다. 기존에 베트남에 선두에 선 품질보증회사(LQA)로 시작했던 LTS Group은 서비스 라인을 확장했으며 품질보증 분야에 핵심 강점을 활용해 왔습니다. 8년 이상 동안 우리는 다양한 교모 및 도메인을 가진 기업들에게 고품질 테스트 솔루션을 제공했습니다. 테스트 프로젝트를 시작하기 전에 IT 제품의 품질 및 출시 시간을 보장하도록 고객사와 테스트 전략 및 타임라인을 상담하고 논의합니다. 그러므로 첨음부터 지금까지 미국, 한국, 일본, 홍콩 등의 고객사에게서 신뢰를 받고 있습니다.
설립 연도: 2016
기업 규모: 500+
기업 주소: 베트남 (본사), 미국, 일본, 한국 (지사)
주요 서비스:
소프트웨어 테스트 전문 서비스
전문 산업
가격: $25
수상 내역
Clutch 리뷰: 4.8/5
고객사의 리뷰:
FPT 소프트웨어는 27개 국가 및 지역에 58개의 국제 사무소를 두고 있는 베트남 최고의 소프트웨어 회사입니다. 이 회사는 다양한 산업 분야에 대한 전문 지식을 보유하고 있으며 전문적인 분야에서 큰 IT 인력 직원을 가춥니다. 또한 FPT 소프트웨어는 기능 테스트, 회귀 테스트, 보안 테스트 등의 고품질 테스트 서비스 및 맞춤형 솔루션을 공급하여 고객사의 최고 만족도를 항상 지키고 있습니다.
설립연도: 1999년
주소 (본사 및 지사): 베트남 (본사), 미국, 일본, 호주, 독일, 영국, 인도,…
기업 규모: 10.000+
서비스:
테스트 전문 분야
메인 시장: 미국, 일본, 한국, 베트남,…
전문 산업
가격: 25$/시간
수상:
KMS 테크놀로지는 소프트웨어 개발, 테스트 서비스 및 최고 수준의 기술 컨설팅 분야의 글로벌 시장 선두 기업입니다. 이 업체는 IT 제품 출시 속도를 가속화하는 데 도움이 되는 최첨단 솔루션을 제공합니다. 고객 중심 접근 방식을 통해 KMS 테크놀로지는 기존 시스템을 현대화하거나 새로운 소프트웨어 비전을 실현하여 조직의 혁신을 촉진하는 것을 목표로 합니다.
설립 연도: 2009
기업 규모: 1000+
기업 주소: 베트남, 미국
주요 서비스
소프트웨어 개발 전문 서비스
전문 산업
메인 시장: 북미, 미국
가격: 정보없음
수상
Clutch 리뷰: 4.9/5
고객사의 리뷰
TMA Solution
TMA Solution는 7개국에 사무소를 두고 로컬 계정 관리 및 고객 서비스를 제공합니다. 이 회사는 3800명의 소프트웨어 엔지니어를 보유하고 있으며 25년 동안 30개국 고객에게 소프트웨어 개발 서비스를 제공했습니다. TMA의 전략적 목표는 베트남에서 선도적인 기술 기업이 되어 신기술 R&D의 글로벌 지도에 베트남을 올리는 데 도움을 주는 것입니다.
설립연도: 1997년
기업의 주소: 베트남, 미국, 일본, 싱가포르, 캐나다.
기업 규모: 4000+
전문 테스트 서비스:
주요 시장: 북미, 유럽, 아시아, 호주, 베트남,…
가격: 25$/시간
수상:
Clutch 리뷰: 4.0/5
고객사의 리뷰:
LogiGear Vietnam
LogiGear Vietnam는 실리콘 밸리에서 본사가 있으며 소프트웨어 테스트 및 소프트웨어 개발 직원의 대다수는 베트남 호치민시와 다낭에 위치해 있습니다. 이 회사는 베트남에서 소프트웨어 테스트 및 소프트웨어 개발 전문가를 가장 많이 고용하는 회사 중 하나입니다. 기업들이 소프트웨어 개발 및 소프트웨어 테스트 아웃소싱의 이점을 인식함에 따라 Logigear는 계속 성장하여 2021년에 Logigear Group을 형성했습니다.
설립 연도: 1994 년
기업 규모: 1000+
기업 주소: 미국 (본사), 베트남 (지사)
주요 서비스:
테스트 전문 서비스:
전문 산업
가격: $25 – $49
수상 내역:
Clutch 리뷰: 정보없음
단위 테스트 (Unit test)란 코드의 가장 작은 기능 단위를 테스트하는 프로세스를 말합니다. 구체적으로 말하면 단위 테스트는 더 작고 고립된 애플리케이션 코드 블록의 정확성을 검증하는 코드 블록입니다.
단위 테스트와 통합 테스트는 소프트웨어 품질 보장을 위한 두 가지 주요 테스트 유형이지만 목적과 범위는 다릅니다.
– 단위 테스트는 시스템의 가장 작은 구성 요소 (일반적으로 함수 또는 모듈)를 테스트하는 데 중점을 둡니다. 목표는 각 유닛이 독립적으로 올바르게 작동하는지 확인하는 것입니다.
– 통합 테스트는 시스템의 여러 구성 요소가 서로 상호 작용하는 방식을 테스트합니다. 모듈이 통합될 때 올바르게 동작하는지 확인하는 것이 목적입니다.
단위 테스트의 장점은 개발 라이프 사이클에서 문제 빠르게 발견 및 비용 절감, 팀 커뮤니케이션 강화, 코드 재사용 가능성 등을 언급할 수 있습니다.
그러나 단위 테스트는 단점이 남습니다. 시간 걸림, 유지 보수 문제점 및 테스트 커러버스에 한계 등은 흔히 단위 테스트의 약점이라고 보일 수 있습니다.
위에 분석을 통해 단위 테스트의 기본 개념, 소프트웨어 테스트 아웃소싱의 이유 및 베트남에서 소프트웨어 테스트 서비스를 제공하는 주요 기업들에 대한 정보를 제공했습니다.
LTS 그룹은 고품질의 인력을 제공하여 소프트웨어 개발 과정을 원활하고 효율적으로 만들 수 있도록 고객사를 지원할 준비가 되어 있습니다. 저희와 함께 최신 전문 지식과 소프트웨어 테스트 솔루션을 활용하여 IT 제품 품질을 강화하세요!
Share
"한국 시장의 IT 분야에 대한 콘텐츠 제작자인 민서를 만납시다 그분은 정보기술 분야에 깊게 관심을 갖고 특히 신규 기술 분야에서 한국과 베트남 협력관계 및 IT 솔루션에 대한 정보를 독자들에게 신속하게 전할 수 있습니다. 유익한 IT 지식으로 독자와 함께 친한 친구가 되고 재미있는 기술여정 완전히 즐길 수 있음을 믿습니다. minseo.kang@ltsgroup.tech 이메일로 연락하세요. "
이메일:contact@ltsgroup.tech
전화:(+84) 96-238-7474
본사:베트남, 하노이, 68 Nguyen Co Thach 길, MHDI빌딩 17층
일본 사무소:일본, 도쿄, Taito-ku, Ikenohata 4-chome, 26-5
미국 사무소:25787 Rawley Springs Dr, Chantilly, VA 20152
한국 사무실:서울시 강남구 테헤란로 146 현익빌딩 12층