---
title: "초기 소프트웨어 테스트는 설계의 유효성을 검증합니다"
date: "2018-07-02"
categories: 
  - "app-development"
  - "mobile"
  - "mobile-development"
  - "mobiletogether"
tags: 
  - "early-software-testing"
  - "mobile-development"
  - "mobiletogether"
  - "software-tools"
description: 모바일 기기용 크로스 플랫폼 앱을 개발하는 개발자에게는 초기 소프트웨어 테스트가 특히 중요합니다. 이는 다양한 물리적 특성과 운영 체제 기능을 가진 모바일 기기들을 고려해야 하기 때문입니다.
---
Status: #blog

Tags:  #early-software-testing #mobile-development #mobiletogether #software-tools

Categories: [mobile-development](/blog/ko/category/mobile-development.md) | [mobile-development](/blog/ko/category/mobile-development.md) | [mobile-development](/blog/ko/category/mobile-development.md) | [mobile-development](/blog/ko/category/mobile-development.md)
# 초기 소프트웨어 테스트는 설계의 유효성을 검증합니다

"초기에 자주 테스트하라"는 애자일 소프트웨어 엔지니어링의 핵심 전략은 현재 모든 분야의 소프트웨어 개발자들에게 필수적인 요소로 자리 잡았습니다. 특히, 다양한 운영체제와 물리적 특징을 가진 모바일 기기를 지원해야 하는 크로스 플랫폼 앱을 개발하는 개발자들에게는 초기 소프트웨어 테스트가 더욱 중요합니다.

MobileTogether는 각 모바일 플랫폼에 대한 번거로운 컴파일, 배포, 디버깅 과정을 거치지 않고도 초기 소프트웨어 테스트를 개발 프로세스에 통합할 수 있는 기능을 제공합니다. Altova 웹사이트에서는 MobileTogether의 [시뮬레이터](https://www.altova.com/ko/mobiletogether/app-development#test-app) 기능을 통한 초기 소프트웨어 테스트에 대한 설명을 제공하며, 저희 블로그에서는 [테스트 케이스](https://www.altova.com/blog/automated-testing-for-mobile-apps/) 내에서 특정 작업들을 기록하고 재실행할 수 있는 기능에 대해 소개했습니다.

이 게시글은 "클라이언트 환경에서의 테스트 실행"에 대한 내용을 설명합니다. 이 기능은 MobileTogether Designer에 내장되어 있어 개발자들이 앱 디자인을 즉시 확인하고, 안드로이드, iOS, 윈도우 데스크톱 또는 윈도우 폰을 포함한 모든 지원되는 모바일 기기 또는 플랫폼에서 로직과 기능을 검증할 수 있도록 합니다.

[![](/blog/images/shutterstock_88166515.jpg)](shutterstock_88166515.jpg)

<!--more-->

고객을 대상으로 하는 시범 운영은 특히 다음과 같은 앱의 초기 소프트웨어 테스트에 매우 유용합니다

- Windows 플랫폼의 디자이너에서는 제공되지 않는 모바일 기능, 예를 들어 문자 메시지 기능을 활용하세요
- 운영 체제에 따라 약간씩 다른 동작을 수행하는 기능을 사용합니다. 예를 들어, "위치 정보 표시" 기능은 클라이언트의 기본 지도 애플리케이션을 실행하여 작동합니다
- 새로운 모바일 모델에서 테스트를 진행해야 하며, 이 모델의 화면 크기가 디자이너용 미리보기 장치와 일치하지 않을 수 있습니다

테스트 실행을 위해 필요한 조건은 다음과 같습니다. 테스트에 사용되는 모바일 기기에 MobileTogether Client 앱이 설치되어 있어야 하며, 모바일 기기와 MobileTogether Designer 워크스테이션이 동일한 네트워크에 연결되어 있어야 합니다. 또한, Designer 워크스테이션의 네트워크 주소를 모바일 기기에서 MobileTogether 서버로 설정해야 합니다.

클라이언트 장치가 준비되면 개발자는 디자이너 프로젝트 메뉴 또는 편리한 도구 모음에서 "클라이언트에서 테스트 실행"을 시작할 수 있습니다

[![MobileTogether에서 고객 지원 도구 모음 아이콘의 초기 소프트웨어 테스트를 위한 시범 운영을 진행했습니다](/blog/images/MobileTogether-toolbar-1.png)](MobileTogether-toolbar-1.png)

GPS 기능을 활용하는 개발 중인 앱을 살펴보겠습니다. 이 앱 개발자는 iPhone 6 Plus를 테스트 기기로 선택했습니다.

앱을 테스트할 수 있는 가장 빠른 방법은 MobileTogether Designer에 내장된 [MobileTogether 시뮬레이터](https://www.altova.com/ko/mobiletogether/app-development#test-app)를 사용하는 것입니다. 이 시뮬레이터는 개발 과정 중 언제든지 사용할 수 있습니다.

주요 시뮬레이터 창에서는 선택한 미리보기 기기에서 앱이 어떻게 표시될지 보여줍니다. 개발자는 기기 설정을 변경하여 다양한 iOS, Android, Windows 및 기타 기기에서 앱의 사용자 인터페이스가 어떻게 나타날지 확인할 수 있으며, 심지어 세로 및 가로 모드 간을 실시간으로 전환할 수도 있습니다.

이 시뮬레이터는 앱이 실행되는 동안 "페이지 소스" 데이터 트리에서 발생하는 변경 사항을 실시간으로 업데이트합니다. 디자이너의 "메시지" 창은 실행 과정에서 발생하는 모든 활동에 대한 상세한 단계별 보고서를 표시하며, 여기에는 클라이언트 앱과 서버 간의 메시지도 포함됩니다. 시뮬레이션 동안 사용자의 상호 작용이 필요한 모든 컨트롤은 활성화됩니다.

다음은 시뮬레이터에서 앱이 실행되는 모습입니다

[![모바일 투게더 시뮬레이터를 이용한 초기 소프트웨어 테스트](/blog/images/MobileTogether-simulator-window.png)](MobileTogether-simulator-window.png)

두 가지 문제가 즉시 발생합니다. 첫째, 시뮬레이터는 실제 GPS 좌표를 정확하게 표시하지 않습니다. 대신, 모바일 기기의 움직임과 업데이트된 GPS 좌표를 시뮬레이션하기 위해 데이터 파일을 사용합니다. 둘째, 앱의 "지도 보기" 버튼을 누르면 Windows 워크스테이션에서 실행되는 디자이너 프로그램에서 Bing 지도가 열리지만, 실제 iPhone에서는 기본 지도 애플리케이션으로 Apple 지도가 열려야 합니다.

저희는 "클라이언트에서 테스트 실행" 기능을 사용하여 앱을 실제 모바일 기기에서 실행하고, 정확한 GPS 기능을 제공하며, 지도 보기 버튼의 작동 여부를 확인할 수 있습니다. 첫 번째 테스트에서는 안드로이드 폰을 사용할 것입니다. "클라이언트에서 테스트 실행" 버튼을 클릭하면 디자이너 내부에 새 창이 열립니다

[![고객을 대상으로 초기 소프트웨어 테스트를 위한 시범 운영을 시작합니다](/blog/images/trial_run-1.png)](trial_run-1.png)

현재 디자이너 애플리케이션은 또한 모바일투게더 서버의 역할을 수행하고 있습니다. 클라이언트 기기가 앱을 실행하면 내부 메시지 창이 열립니다.

개발자는 디자인 도구 대화 상자에서 "예"를 클릭하여 작업을 계속하고, 앱이 클라이언트 장치에서 실행됩니다. 하지만 바로 예상치 못한 문제가 발생합니다. 기본 텍스트 크기가 매우 작습니다

[![안드로이드 폰에서 처음으로 테스트를 진행했습니다](/blog/images/screenshot-1-Android.png)](screenshot-1-Android.png)

우리는 단순히 "Abc+" 버튼을 클릭하여 텍스트 크기를 늘리고, 최종 사용자들이 동일하게 하도록 할 수 있지만, 이는 어색하고 사용자 친화적이지 않은 해결책입니다. 좀 더 자세히 조사해 본 결과, 디자이너에서 "클라이언트에서 실행 시 데이터 트리 보기" 기능을 사용하여 앱이 실행되는 동안의 데이터 구조를 확인할 수 있습니다

[![고객 환경에서 테스트 실행 중 고객 데이터에 대한 초기 소프트웨어 테스트](/blog/images/trial_run-2.png)](trial_run-2.png)

"textSize" 요소는 영구 데이터 트리 내에 저장되며, 텍스트 레이블과 버튼의 글꼴 크기를 절대 픽셀 단위로 설정하는 값을 가지고 있습니다. 기본값으로 20이 설정되었으며, 디자인 단계에서 아이폰 6 플러스에서는 괜찮아 보였지만, 현재 기기에서는 제대로 작동하지 않습니다.

저희는 기본 텍스트 크기를 고정된 값에서 각 고객 기기의 픽셀 크기에 따라 달라지는 함수로 쉽게 변경할 수 있습니다. 그런 다음, 즉시 새로운 테스트를 진행할 수 있습니다.

MobileTogether는 개발자들이 앱이 실행되는 동안 어떤 사용자 기기의 다양한 특징에 접근할 수 있도록 글로벌 변수를 제공합니다. 디자이너의 "글로벌 변수" 창에서는 선택된 미리보기 기기의 값을 확인할 수 있습니다. 다음은 iPhone 6 Plus의 값에 대한 스크린샷입니다

[![MobileTogether 디자이너의 "전역 변수" 창](/blog/images/global-variables.png)](global-variables.png)

`textSize` 요소에 기본값으로 20 픽셀을 적용하는 대신, `MT_DeviceHeight` 전역 변수를 기반으로 하는 함수를 만들 수 있습니다. 736으로 나눈 20은 약 2.7%이므로, 이 값을 사용하여 어떤 클라이언트 기기에서도 초기 `textSize`를 설정하는 XPath 함수를 만들겠습니다

[![클라이언트 기기의 특성에 따라 텍스트 크기를 설정하는 함수를 사용하는 방법](/blog/images/textSize-function.png)](textSize-function.png)

이제 안드로이드 폰을 사용하여 고객 환경에서 또 다른 테스트를 진행하여 결과를 확인할 수 있습니다.

[![고객에게 시범적으로 적용해 본 결과, 새로 계산된 텍스트 크기가 확인되었습니다](/blog/images/new-textSize.png)](new-textSize.png)

위의 "테스트 실행" 화면에서 새로 계산된 기본 텍스트 크기 값이 표시되며, 여기 스마트폰에서 캡처한 새로운 화면 이미지가 있습니다

[![새로운 기본 텍스트 크기가 적절한지 확인하기 위해 고객을 대상으로 테스트를 진행했습니다](/blog/images/screenshot-2-Android.png)](screenshot-2-Android.png)

기기에 표시되는 화면 높이에 따라 기본적으로 계산되는 텍스트 크기는 훨씬 더 합리적이고 사용자 친화적입니다! 또한, "Abc-" 및 "Abc+" 버튼을 사용하여 텍스트 크기를 미세 조정할 수 있는데, 이 버튼들은 단순히 텍스트 크기 요소에서 값을 빼거나 더하는 역할을 합니다.

이제 원래 목표로 돌아가서, 앱 내의 "지도 보기" 버튼이 제대로 작동하는지 확인하는 작업을 다시 시작할 수 있습니다. 여기서는 앱의 특정 페이지와 해당 페이지에 표시되는 안드로이드 폰의 지도 보기 화면의 스크린샷을 보여드립니다

      [![안드로이드 폰을 사용하여 고객에게 초기 소프트웨어 테스트를 진행합니다](/blog/images/screenshot-3-Android.png)](screenshot-3-Android.png)[![안드로이드 폰에서 "지도 보기" 버튼을 누르면, 초기 소프트웨어 테스트 과정에서 구글 지도가 실행됩니다](/blog/images/screenshot-4-Android.png)](screenshot-4-Android.png)

다음은 동일한 사진을 아이폰으로 촬영한 모습입니다

      [![아이폰의 초기 소프트웨어 테스트 중 촬영된 스크린샷](/blog/images/iPhone-screen-1.png)](iPhone-screen-1.png)[![아이폰은 초기 소프트웨어 테스트 과정에서 애플의 지도 앱(Apple Maps)을 실행합니다](/blog/images/iPhone-screen-2.png)](iPhone-screen-2.png)

위에 제시된 모든 스크린샷은 고객 환경에서의 테스트 과정에서 촬영되었습니다. 각 플랫폼에서 지도가 표시되는 방식은 해당 지도 애플리케이션의 기능과 사용자 설정에 따라 결정됩니다. 예를 들어, 안드로이드 폰의 구글 지도는 스트리트 뷰 기능을 제공하지만, 애플의 지도 애플리케이션은 제공하지 않습니다.

고객 환경에서 초기 소프트웨어 테스트를 "트라이얼 런(Trial Run)" 기능을 통해 진행할 수 있으며, MobileTogether의 다른 모든 기능을 활용하여 세련된 앱을 개발할 수 있습니다. 이를 위해 [무료로 사용할 수 있는 MobileTogether 디자이너를 다운로드](https://www.altova.com/ko/download/mobiletogether.html)하세요. 이 디자이너에는 통합된 도움말, 튜토리얼, 그리고 다양한 예제가 포함되어 있습니다.
