25
모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트 자동화는 사용 가능한 좋은 도구의 다량 공급과 더불어 데스크톱 시장에 대한 이해가 필요하며 이는 모바일 시장과는 아주 다릅니다. 모바일 장치 OS의한 플랫폼의 단순화 제한 때문에 UI 자동화는 해결하기 힘든 과제입니다. 시간이 지남에 따라 수많은 도구는 모바일 장치와 각각의 특정한 장점과 단점에 대한 UI 자동화를 위한 다른 매커니즘을 제공하면서 발전해 왔습니다. 문서의 목적은 개발자가 자기의 필요를 위해 이러한 도구의 적합성을 평가하기 위한 다양한 차원의 인기 있는 도구 일부를 비교하고 대조하는 것입니다. 문서는 도구에서 사용할 있는 기능 / 기능에 대한 정보 제공으로 제한되며 해당 특정 도구를 사용하는 방법에 대한 자세한 설명은 하지 않습니다. 또한 문서는 이와 같은 도구들을 비교해 단지 안드로이드와 IOS에만 초점을 맞출 것입니다. HSC PROPRIETARY 목차 부분 1.0 내용 요약.......................................................... 1 2.0모바일 테스트 자동화 과제................................ 2 3.0 SIKULI ............................................................ 3 4.0 MONKEYRUNNER (안드로이드 ) ............... 1 5.0 HUGHES SYSTIQUE 회사 정보....................... 5 6.0 UITESTAUTOMATION (IOS) ...................... 8 7.0 TEST STUDIO (IOS) ................................. 11 8.0 FROGLOGIC SQUISH .................................. 13 9.0 FRANK .......................................................... 15 10.0 기능 비교: 요약............................................. 16 11.0 참조 .............................................................. 17

모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

모바일 애플리케이션에 대한 테스트 자동화 도구:

설문조사 보고서

1.0 요약

UI 테스트 자동화는 사용 가능한 좋은 도구의 다량 공급과

더불어 데스크톱 시장에 대한 이해가 필요하며 이는 모바일

시장과는 아주 다릅니다. 모바일 장치 OS에 의한 플랫폼의

단순화 및 제한 때문에 UI 자동화는 해결하기 힘든

과제입니다. 시간이 지남에 따라 수많은 도구는 모바일

장치와 각각의 특정한 장점과 단점에 대한 UI 자동화를

위한 다른 매커니즘을 제공하면서 발전해 왔습니다.

이 문서의 목적은 개발자가 자기의 필요를 위해 이러한

도구의 적합성을 평가하기 위한 다양한 차원의 인기 있는

도구 중 일부를 비교하고 대조하는 것입니다. 이 문서는

도구에서 사용할 수 있는 기능 / 기능에 대한 정보 제공으로

제한되며 해당 특정 도구를 사용하는 방법에 대한 자세한

설명은 하지 않습니다. 또한 이 문서는 이와 같은 도구들을

비교해 볼 때 단지 안드로이드와 IOS에만 초점을 맞출

것입니다.

HSC PROPRIETARY

목차

부분

1.0 내용 요약 .......................................................... 1

2.0모바일 테스트 자동화 과제 ................................ 2

3.0 SIKULI ............................................................ 3

4.0 MONKEYRUNNER (안드로이드 용) ............... 1

5.0 HUGHES SYSTIQUE 회사 정보 ....................... 5

6.0 UITESTAUTOMATION (IOS용) ...................... 8

7.0 TEST STUDIO (IOS용) ................................. 11

8.0 FROGLOGIC SQUISH .................................. 13

9.0 FRANK .......................................................... 15

10.0 기능 비교: 요약 ............................................. 16

11.0 참조 .............................................................. 17

Page 2: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

2.0 모바일 테스트 자동화 과제

테스트 자동화는 최소한의 사용자 개입으로 테스트 조건의 설정, 테스트 실행, 테스트 제어 및 테스트 보고

기능을 자동화하고 제어하기 위한 소프트웨어 사용목적입니다. 특히 모바일 장치에 대한 모든 것을

자동화하려는 시도하는 것은 현실적이지 않습니다. 그러나 일반 선반 재고(COTS) 툴의 활용화는 자동화 공정에

크게 혜택을 줍니다.

모바일 애플리케이션을 효과적으로 테스트 자동화하는 이유의 일부는 다음과 같습니다.

모바일 장치는 데스크톱 - 각 애플리케이션의 기본 OS 전형 샌드박스에 비해 훨씬 더 많은 제한이

있으며 전화가 루트되지 않은 경우 매우 제한된 프로세스 간 접속을 갖게 됩니다.

제어하는 UI 탐색의 모바일 장치는 이전 폰트에서 언급된 컨트롤 부족에 더하여 더욱 어려워질 수도

있으며 모바일 UIX 응답 시간은 해당 데스크톱 보다 예측하기 더 어려우며 이에 따라 통과/실패

예측을 기반으로 하는 화면 가져오기를 더 어렵게 만듭니다.

모바일 장치- 정의에 의해 정적으로 엔터티에 위치하지 않은 장치는 네트워크가 완전히 이전 테스트

사용 사례에서 많은 문제가 발생할 수 있는 많은 도전문제를 제시합니다

다양한 화면 크기 및 형태의 확산은 또한 더 많은 과제를 기반으로 하는 UI을 만듭니다

그러나, 모바일 테스트 자동화는 다음을 포함하는 여러 가지 이점을 제공합니다:

효율성 테스트 개선

일관되고 반복 가능한 테스트 프로세스

회귀 테스트 개선

더 많은 테스트를 짧은 시간 동안 실행 - 짧은 시간 동안 향상된 적용

범위24시간 실시간 작업 – 더 나은 자원의 활용화

인적 자원은 고급 수동 테스트를 수행하는 데 무료로 제공됩니다

결함 발견의 단순 재생

HSC PROPRIETARY

Page 3: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

3.0 테스트 자동화 도구 유형

그림 1은 모바일 애플리케이션 테스트 및 기능 개선에 대한 일반적인 단계에 대해 설명합니다. 오늘날 대부분의

모바일 애플리케이션은 자주 중간 발표 과정이 수반되는 원활한 소프트웨어 개발 방법론과 연계하여

개발하였습니다. 이와 같은 경우, 테스트 자동화 구현은 시장에 반복적인 시간을 크게 줄이는 데 도움을 줄 수

있습니다. 테스트 자동화를 수행하기 위해서는, 이용할 수 있는 다양한 도구 및 원활한 소프트웨어 공급

프로세스에 맞는 테스트 성격에 대해 논의할 가치가 있습니다. 이 점은 다음에 설명될 것입니다.

그림 1 모바일 애플리케이션 개발

3.1 IOS와 안드로이드에 대한 GUI 테스트 자동화 도구

시장에는 사용 가능한 많은 GUI테스트 자동화 도구들이 있습니다. 이러한 도구들은 다음과 같이 광범위하게

분류할 수 있습니다:

1. 플랫폼의 특정 도구 -.이 도구는 종종 휴대폰 OS 공급업체에서 제공(예: SDK의 일부로 구글 제공 또는

Xcode의 일부로서 Apple사 번들 제공) 및 SDK IDE와 함께 통합 지원하고 있습니다. 플랫폼 특정 도구는

모두 대상 장치 및 에뮬레이터에서 애플리케이션 테스트를 할 수 있습니다. 인기 있는 플랫폼 특정 도구는

다음과 같습니다:

장치Instrument 1

–장치는 Xcode의 일부로 애플이 제공하는 MAC 어플리케이션(IOS 응용 프로그램

개발에 대한 IDE)입니다. “ 자동화"라는 새로운 기능은 IOS 앱스의 GUI 테스트 자동화를 위해

Xcode 4(이후)에서 추가되었습니다. 자동화 장치는 테스트 스크립트 개발에 대한 자바스크립트의

기본적인 이해가 필요합니다. Apple은 테스트 드라이브 및 사용자 상호작용 시뮬레이션을 하는 데

사용할 수 있는 자바스크립트 라이브러리를 제공합니다.

1http://bit.ly/fZDCKT

HSC PROPRIETARY

Page 4: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

Monkeyrunner2

- Monkeyrunner은 안드로이드 장치 또는 원격으로 에뮬레이터를 제어할 수 있는

프로그램 작성을 위한 API를 제공합니다. Monkeyrunner에서 안드로이드 응용 프로그램 설치하는

Python 프로그램을 작성 또는 패키지의 테스트, 실행, 키를 입력하고, 사용자 인터페이스의

스크린샷과 워크스테이션에 스크린 샷을 저장할 수 있습니다. 장치를 다른 데스크톱으로 Monkey

runner를 통합하기 위해 강력한 후크의 제공 및 자동화 목적에 대한 참조 스크린샷과 결과적으로

스크린샷을 비교합니다. Monkey runner 도구는 주로 기능/프레임워크에서 실행 유닛 테스트 스위트에

대한 애플리케이션과 장치를 테스트하기 위한 목적으로 고안되었습니다.

2. 일반 스크립트 기반 도구 – 이러한 도구는 제 3자에 의해 전형적으로 스크립트를 이용한 애플리케이션의

실행을 주로 제어하고자 개발하였습니다. 이 스크립트는 텍스트 편집기에서 쓸 수 있으며 또는 해당

애플리케이션에서 이벤트를 기록하여 자동으로 생성할 수 있습니다. 다음 아래는 이 항목의 일부 도구에 대한

목록입니다. 일반적으로 일반 스크립트 기반 도구는 자동화를 완료하기 위해 플렛폼 특정 도구의 일부 타입을

사용하여 통합할 필요가 있으며, 이 도구에서 플랫폼 특정 도구가 장치를 사용하여 통신을 담당하며, 종종

아답터(제 3자에 의해 제공되거나 또는 개발될 필요에 의해 제공)를 통해 일반 스크립트 기반 도구

인터페이스를 하는 동시에 이를 담당합니다. 인기 있는 도구 중 일부는 다음과 같습니다:

Sikuli3

- Sikuli는 이미지(스크린샷)을 사용하여 그래픽 사용자 인터페이스(GUI)를 자동화하고

테스트하는 비쥬얼 기술입니다. Sikuli는 Sikuli 스크립트, Jython에 대한 비쥬얼 스크립트 API, Sikuli

IDE, 쉽게 스크립샷으로 비쥬얼 스크립트 쓰기에 대한 통합 발전 환경이 포함되어 있습니다. Sikuli

스크립트는 내부API 지원하지 않고 화면에서 표시할 수 있는 것을 자동화합니다. 프로그래밍

방식으로 웹 페이지 제어, Windows/Linux/Mac OS X 데스크톱 애플리케이션, 또는 심지어 시뮬레이터

또는 VNC를 통해 실행시키는 아이폰이나 안드로이드 애플리케이션을 제어할 수 있습니다.

로보트 프레임워크4

- 로보트 프레임워크는 수용 테스트 및 수용 테스트 주도 개발 (ATDD)에 대한

일반적인 테스트 자동화 프레임 워크입니다. 사용하기 쉬운 표 테스트 데이터 구문 및 키워드 기반

테스트 방법을 이용합니다. 테스트 자체 기능은 Python 또는 Java로도 구현되는 테스트 라이브러리에

의해 확장될 수 있으며 사용자는 테스트 케이스를 만드는데 사용되는 같은 구문을 사용하는 기존의

새로운 키워드를 생성할 수 있습니다.

3. 랜덤 이벤트 생성기 –임의의 이벤트를 전송하여 애플리케이션의 안정성을 테스트할 수 있는 다수의 테스트

도구가 있습니다. 이 도구는 특정 테스트 사례를 실행시킬 의도는 아니지만 종종 애플리케이션의 안정성

테스트를 위해 사용합니다.

UI/애플리케이션 Monkey5

-실행- Monkey(앞에서 언급한 Monkeyrunner와 혼동하지 말 것)는

안드로이드 장치에서 안드로이드 에뮬레이터에서 실행되는 프로그램이며 수많은 시스템 레벨의

이벤트뿐만 아니라 클릭수, 터치, 제스처와 같은 사용자 이벤트의 임의 순서 스트림을 생성합니다.

임의로 반복이 가능한 방식으로, 개발중인 스트레스 테스트 애플리케이션에 Monkey을 사용할 수

있습니다.

자동화 – 기본적으로 아이폰 OS 자동화된 템플릿은 임의의 이벤트 발생은 없지만, 한가지는 쉽게

자바 스크립트(JavaScript)와 iOS 자동화 API를 이용하여 개발할 수 있습니다. 자동화 자바 스크립트

사용은 터치, 제스처, 시스템 레벨의 이벤트와 같은 모든 기능을 마련할 수 있는 사용자 지정 모듈을

만들 수 있으며 사용자 지정 디자인 테스트 슈트에 대한 애플리케이션을 테스트하기 위해 기능을

추가합니다.

2http://developer.android.com/tools/help/monkeyrunner_concepts.html

3http://www.sikuli.org/

4http://code.google.com/p/robotframework/

5http://developer.android.com/tools/help/monkey.html

HSC PROPRIETARY

Page 5: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

4. 화이트박스 테스트 도구 – 화이트박스 테스트 도구는 제어 흐름 테스트, 데이터 흐름 테스트, 코드 분기

테스트를 통해 애플리케이션의 내부 구조를 검사할 수 있습니다. 화이트박스 테스트에 대한 테스트

개발자는 테스트 중인 애플리케이션에 대한 소스 코드에 액세스할 필요가 있거나 적어도 특수 빌드에 대한

테스트(AUT) 중인 애플리케이션으로 해당 테스트 라이브러리를 링크할 수 있습니다. 모바일

애플리케이션의 화이트 박스 테스트에 사용할 수 있는 도구 중 일부는 다음과 같습니다:

안드로이드 계측: 안드로이드 계측 테스트 프레임워크는 JUnit을 기반으로 합니다. Android

instrumentation test framework is based on JUnit. JUnit는 안드로이드 특정 API를 사용하지 않는

클래스 / 메소드의 테스트를 위해 사용할 수 있습니다. 안드로이드 특정 클래스의 테스트/JUnit의

매서드 안드로이드 확장에 대해 사용합니다.

기기: 기기 도구는 iOS 애플리케이션 개발 IDE의 일부로서, iOS 애플리케이션의 화이트박스

테스트를 할 수 있습니다. Frank 및 TestStudio 도구는 또한 화이트박스 테스트를 할 수 있습니다.

5. 블랙박스 테스트 도구 – 블랙박스 테스트 도구는 애플리케이션의 기능을 확인하며 기능을 달성하는 방법은

확인하지 않습니다 블랙박스 테스트 도구는 테스트 개발자가 애플리케이션 코드에 액세스를 요구하지

않으며 또한 코드가 구성되어 있는 방법 및 내부적으로 작동되는 방법을 알 필요가 없습니다. 모바일

애플리케이션의 블랙박스 테스트에 대한 사용할 수 있는 일부 도구는 다음과 같습니다:

Sikuli: 앞서 설명한 바와 같이, Sikuli는 테스트 자동화에 대한 비쥬얼 기술을 사용하며, 테스트

개발자가 애플리케이션 코드에 대한 지식을 가질 것을 요구하지 않습니다.

Robotium6

: 화이트박스 테스트가 안드로이드 애플리케이션을 위한 목적이라면 Robotium은 테스트

개발자가 블랙박스를 만들 수 있는 안드로이드에 대한 테스트 프레임 워크입니다.

다음 장에서 이러한 일부 도구들의 적용 가능성에 대해 더 자세하게 설명할 것입니다.

6http://code.google.com/p/robotium/

HSC PROPRIETARY

Page 6: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

4.0 SIKULI

4.1 서론

Sikuli는 이미지 인식을 이용하여 그래픽 사용자 인터페이스(GUI) 의 테스트를 자동화하는 비쥬얼 기술입니다.

7Sikuli 스크립트는 GUI 요소의 스냅샷을 찍는데 사용할 수 있으며 일부 참조 스냅샷을 가지고 이를 비교하는 데

사용할 수 있습니다. Sikuli는 시각 중심의 접근 방식(예. 테스트하기 위한 드레그/드롭 이미지)을 사용하기

때문에 테스트 스크립트 기록기는 대상 애플리케이션 코드의 지식이 없이도 테스트 사례를 기록할 수 있습니다.

Sikuli는 IDE가 애플리케이션 스크린 샷으로 테스트 스크립트의 신속한 개발을 할 수 있는 IDE를 제공합니다.

스크린에서 표시하는 모든 것을 자동화합니다. Sikuli는 웹 페이지, 테스크탑 애플리케이션, 안드로이드

애플리케이션, 심지어 시뮬레이터에서 실행되는 iPhone 애플리케이션을 제어하는 데 사용할 수 있습니다.

다음 아래는 Sikuli을 이용하여 테스트할 수 있는 다음의 기준을 만족시키는 애플리케이션입니다:

1. 애플리케이션 스크린은 Sikuli이 실행하는 바탕 화면(Windows/Mac/Linux)으로 전송할 수 있습니다.

2. 애플리케이션에 대한 사용자 입력은 바탕 화면에서 애플리케이션으로 전송할 수 있습니다.

Sikuli 스크립트는 Jython 스크립트이며, 다른 사용 가능한 Jython 모듈을 사용 확장할 수 있습니다.

4.2 Sikuli 작업 방법

Sikuli는 적절한 GUI요소로 마우스/키보드 이벤트를 제공하기 위해 이미지 패턴을 사용합니다. Sikuli 는

두 개의 주요 부분으로 구성되어 있습니다.

1. Java.awt.Rotot: 이 Sikuli의 구성요소를 사용자에게 스크린의 사용할 위치로 전달합니다.

2. C++ 엔진: Sikuli의 핵심 이미지 프로세스 엔진은 openCV(오픈 소스 컴퓨터 비전)를 기반으로

합니다. 이 구성요소는 스크린에 이미지 패턴 검색을 담당합니다.

4.3 모바일 플렛폼 Sikuli

7http://www.sikuli.org/

HSC PROPRIETARY

Page 7: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

Sikuli는 Windows/Linux/Mac 플렛폼에서 실행합니다. Sikuli 으로 모바일 애플리케이션 테스트를 하려면, 모바일

폰/태블릿 스크린은 반드시 Sikuli가 설치되어 있는 바탕화면으로 전송해야 합니다. Sikuli으로 모바일

애플리케이션을 테스트하기 위한 일부 방법들은 다음과 같습니다:

4.3.1 Sikuli을 이용한 iOS 애플리케이션 테스트

Sikuli을 이용한 iOS 애플리케이션을 테스트할 수 있는 한가지 방법은 Xcode 을 이용하여 iPhone/iPad

시뮬레이터에서 iOS를 실행하는 것입니다. 또 다른 가능한 방법은 iOS 장치에서 VNC를 실행하는 것이며

바탕화면에서 iPhone/iPad 스크린을 얻기 위해 VNC 클라이언트를 실행하는 것입니다. 이 접근 방식은 VNC

서버가 해킹 장치가 없는 장치에서는 사용할 수 없기 때문에 해킹 iOS 장치에서만 사용해야 하는 단점이

있습니다.

4.3.2 Sikuli을 이용한 안드로이드 애플리케이션

안드로이드 애플리케이션을 테스트하기 위한 목적으로 모바일 폰/태블릿 스크린을 바탕화면으로 전송하두

가지 가능한 방법이 있습니다.

Android Debug Bridge을 사용하는 스크린 캐스트 애플리케이션

VNC 서버

스크린 캐스트 애플리케이션은 안드로이드 폰/태블릿 스크린을 바탕화면으로 전송할 수 있습니다. 하지만

휴대폰으로 키보드/터치 이벤트에 패스할 수 있도록 루트가 되어야 합니다. 대부분의 VNC 서버는 또한

안드로이드 폰에 루트 되어야 합니다. VNC 서버에, Google Play에서 이용하는 “ VNCLite” 는 폰에 루트되지

않지만, Sikuli 을 이용하면 잘 작동합니다.

주의: ICS 및 차후 앱을 목적으로 스크린 캐스트 애플리케이션은 루트 된 휴대폰에 대한 유형/터치 이벤트를

휴대폰으로 패스할 수 없습니다.

4.4 샘플 스크립트

다음의 아래사항은 샘플 Sikuli 테스트 스크립트입니다. 이 테스트 스크립트는 Hughes Systique Pace8

애플리케이션에 대한 새 항목과 RSS뉴스 피드를 추가하기 위한 테스트 사례를 자동화합니다. 다음은 테스트

스크립트에 의해 수행되는 부가 기능의 목록입니다.

1. 실행 중인 애플리케이션이 바탕화면에 배치하도록 홈 버튼을 클릭합니다

2. 애플리케이션 트레이 버튼을 클릭한 다음, “ HSC Pace” 애플리케이션을 실행합니다

3. 시작화면이 완료될 때까지 기다립니다

4. 뉴스 범주를 추가하는 버튼을 클릭합니다

5. 범주 이름을 입력합니다

6. 성공적으로 범주를 추가하였는지 확인합니다

7. RSS 피드 추가를 위해 버튼을 클릭한 다음, RSS URL을 입력합니다

8. URL을 성공적으로 추가하였는지 확인합니다

8https://play.google.com/store/apps/details?id=com.hsc.android.pace

HSC PROPRIETARY

Page 8: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

HSC PROPRIETARY

Page 9: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

4.5 장점

1. 애플리케이션 코드 / 설계에 대한 정보가 필요하지 않음

2. 빠른 자동화

3. 스크립트가 기존 플렛폼에 의존하지 않음

4. GUI 테스트 사용

5. Sikuli는 일치의 정도를 확인하기 위해 테스트 프로세스 중에 조정할 수 있는 ‘ 퍼지 로직’ (fuzzy

logic) 이미지 비교를 제공함.

4.6 단점

1. 크기/위치를 변경하는 경우 이미지를 일치시키는 것이 어렵습니다 - Sikuli는 다양한 기본 설정을

제공하지만 변화의 특성에 따라 일치하는 논리가 실행 또는 실행하지 않을 수 있습니다.

2. VNC / 스크린 캐스트를 이용한 바탕 화면에 휴대 전화 화면 전송이 원활하지 않기 때문에 모바일

애플리케이션 성능을 시험하기에 적합하지 않습니다. 실제로 이는 Sikuli의 제한 사항보다는 VNC /

스크린 캐스트 제한 사항입니다.

HSC PROPRIETARY

Page 10: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

5.0 MONKEYRUNNER (안드로이드 용)

5.1 서론

Monkeyrunner 도구는 안드로이드 장치를 원격으로 제어 할 수 있는 프로그램을 작성하기 위한 API를 제공하는

AOSP(안드로이드 오픈 소스 프로젝트)의 일부입니다. MonkeyRunner을 이용하여 안드로이드 애플리케이션을

설치하고, 키를 입력하며, 사용자 인터페이스의 스크린 샷을 이용하여 테스트 드라이버의 스크린 샷을

저장하는Python 프로그램을 작성합니다. 스크린 샷은 샘플 기준 스크린 샷과 비교하여 정확성을 확인할 수

있습니다.

일반적으로 MonkeyRunner는 일반적으로 도구를 확장하고 그 위에 프레임워크를 작성하는 방법뿐 아니라 기능

테스트, 재발 테스트에 대한 기능을 제공합니다in general, provides the facilities for functional testing,

regression testing as well as ways to extend the tool and write frameworks on top of it. MonkeyRunner는 세

개의 기본 클래식인 MonkeyRunner, MonkeyDevice, MonkeyImage에 액세스를 제공합니다. 이 클래식은 테스트

사례들을 만들고 실행시키는 사용자 지정 Python 프로그램을 호출할 수 있는 APIs 세트를 제공합니다.

MonkeyRunner 의 플러그인 아키텍처는 또한 사용자의 API에 클래스를 추가할 수 있습니다.

5.2 설정 및 설치

Monkey Runner는 안드로이드 SDK의 일부로서, 분리하여 설치하지 않습니다.

5.3 샘플 스크립트

아래의 샘플 스크립트는 다음의 작업에 대한 단순한 테스트 사례를 보여 줍니다:

1. 안드로이드 애플리케이션 설치

2. UI 스크린 열기

3. 다른 화면을 열려면 버튼을 클릭합니다

4. 스냅샷 가져오기

5. 참조 스냅샷을 비교합니다

# Import Monkeyrunner Classes

fromcom.android.monkeyrunner import MonkeyRunner, MonkeyDevice

#This class is not documented

fromcom.android.monkeyrunner.easy import EasyMonkeyDevice

# Connect to Android Device

mydevice = MonkeyRunner.waitForConnection()

# Install the Android Application on connected device

device.installPackage(‘hscTest.apk’)

# Package Name

package = ‘com.hsc.TestApp’

# set variable with Activity Name

activity = 'com.hsc.TestApp.LandingPage'

# sets the name of the component to start

runComponent = package + '/' + activity

# sets the name of the component to start

runComponent = package + ‘/’ + activity

# Runs the component

device.startActivity(component=runComponent)

HSC PROPRIETARY

Page 11: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

# Wait for few seconds

MonkeyRunner.sleep(10)

# Create instance of Easy device easyDevice = EasyMonkeyDevice(device)

# Presses the Start button on landing page

easyDevice.touch(By.id('id/startButton'), 'downAndUp')

# Wait for few seconds MonkeyRunner.sleep (5)

# Takes a screenshot

result = device.takeSnapshot()

# Writes the screenshot to a file

result.writeToFile(‘activityTwo.png’,’png’)

# Wait for few seconds MonkeyRunner.sleep(2)

#Load refernceshapshot from Disk

refImg = MonkeyRunner.loadImageFromFile(path='reference.png')

#Compare two snapshots. for 99% similarity (refImg, 99.0) :

ifresult.sameAs (refImg, 99.0) :

print 'PASS

else :

print 'FAIL'

주의: 위에서 언급된 코드조각에서 사용하는 monkeyrunner의 com.android.monkeyrunner.easy class는 아직 개발

중(안드로이드Jellybean)이며 사전 예고9 없이 변경될 수 있습니다.

5.4 장점

1. MonkeyRunner는 스크린을 바탕화면으로 보낼 필요 없이 실제 장치를 테스트할 목적으로 사용합니다

2. 사용설명서

3. MonkeyRunner는오프라인 분석에 대한 스크린샷을 생성할 수 있습니다. 스크린샷은 또한 기본 제공 기능을

이용하여 참조 이미지를 자동화할 목적으로 사용하거나 외부 도구를 사용할 수 있습니다.

4. Monkeyrunner는 플러그인 아키텍처를 사용하여 확장할 수 있습니다

5. Monkeyrunner는 동시에 여러 장치를 제어하는 데 사용할 수 있습니다

5.5 단점

1. 애플리케이션 코드 정보가 필요합니다; 예를 들어 사용자는 부가 기능과 뷰의 이름을 알아야 합니다

9참조<안드로이드 소스 베이스>/sdk/monkeyrunner/src/com/android/monkeyrunner/easy/README

HSC PROPRIETARY

Page 12: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

2. MonkeyRunner는 하위 수준 API도구로서- 기본적으로 제공되는 GUI/IDE가 없습니다

HSC PROPRIETARY

Page 13: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

6.0 UITESTAUTOMATION (IOS 용)

기기는 동적 추적과 프로파일링 OS X 및 iOS 코드를 위한 성능, 분석 및 테스트 도구입니다.

자동화는 기기 내에 있는 템플릿의 한 형식이며, 이것은 iOS 장치/시뮬레이터에서 사용자 인터페이스의 테스트를

수행하게 해 줍니다. 테스터는 UI 자동화 APIs (Apple 제공)를 사용하는 자바스크립에서 테스트 사례를 작성할 수

있으며 자동화 템플릿을 사용해서 자동화할 수 있습니다. 기기는 테스터가 빠르게 회귀 및 성능 문제를 추적할 수 있게

해 줍니다. 자동화는 인-라인 편집자가 함께 있으며, 쉬운 방법으로 이벤트/제스처의 기록을 지원합니다. 이러한

스크립트/테스트는 애플리케이션이 있는 사용자의 상호 작용을 자동화하는 데 사용할 수 있을 뿐 아니라 개발자의

기대에 따라 애플리케이션이 작동하면 테스트할 수 있는 “ 어설트” 를 포함할 수 있습니다. UI 테스트 자동화는 UI

테스트 자동화의 목적을 위하여 호출을 장치화하는 자동화 템플릿의 일부입니다. 6.1 다양한 기기 도구들

기기는 GUI 자동화 도구만 제공하는 것이 아니라 기타 다양한 자동화 도구를 가지고 있으며, 이것은 개발자가 아래에

나오는 메모리 누수, 그래픽, 애니메이션, 시간 프로파일링 및 기타 영역이 관련된 다양한 종류의 테스트를 수행하게

도와 줍니다:

6.2 설정 및 설치

도구는 Xcode 개발자 도구 제품군의 일부이며 Xcode 4.0+가 미리 포함된 도구입니다.

6.3 자동화된 GUI 테스트

UI 자동화는 애플리케이션의 사용자 인터페이스로 상호 작용을 위해 자바스크립을 사용하는

도구입니다. 이 스크립트는 애플리케이션에 대비해 실행되어야 할 일련의 테스트로 구조를

이룰 수 있습니다. 현재 있는 특정한 UI 요소 혹은 그 값 (객체 id)에 기초하여 이러한 테스트는

성공 혹은 실패할 수 있습니다. 아울러, 장기간 실행하고 나서 메모리 이용 혹은 CPU

로드와 같은 기타 도구를 사용하여 성능 데이터를 작성을 위해서 반복 작업을 스크립트 할

수 있습니다.

그럼에도 불구하고, UI자동화 도구에는 약간의 제한이 있습니다. 장치에 대비하여 실행할 경우, 그 장치는 반드시 iOS

4.0+를 실행해야 할 것이며, 멀티테스킹이 가능한 하드웨어를 가지고 있어야 합니다. (이것은 iPhone 3G 혹은 제 2

생성 iPod 터치에는 작동하지 않음)

6.3.1 GUI 테스트 스크립트 작성

UI 자동화 테스트로 시작하시려면, 도구를 시작해야 하며, 자동화 도구를 선택하십시오. 비어있는 문서로 시작하실 수

있으며, 필요한 애플리케이션에 기초하여 간단한 자바스크립에서 테스트 스크립트를 쓸 수 있습니다.

HSC PROPRIETARY

Page 14: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

아래의 내용은 iPad 애플리케이션을 대상으로 매우 간단한 GUI 테스트 스크립트입니다. 이 스크립트는 애플리케이션을

위한 임의 터치 이벤트를 생성합니다.

// #### Random Event Generator for iPad####

var width = 1024;

var height = 768;

varmTarget = UIATarget.localTarget();

// tap randomly on screen

vartapTest = function()

{

varyPos = Math.floor(Math.random()*width +1);

varxPos = Math.floor(Math.random()*height +1);

varimageRect = mTarget.frontMostApp().mainWindow().rect();

if(xPos> (imageRect.origin.x + imageRect.size.width))

xPos = imageRect.size.width/2;

if(yPos> (imageRect.origin.y + imageRect.size.height))

yPos = imageRect.size.height/2;

try{

mTarget.tap({x:xPos,y:yPos});

mTarget.delay(1.0); // waiting for 1 second

}

catch(error){

UIALogger.logError(error);

mTarget.logElementTree();

UIALogger.logFail("Tapping failed @ x: " + xPos + ", y: "+yPos);

}

mTarget.logElementTree(); //logs elements of the current Tree {mTarget}

}

tapTest();

6.3.2 사용자 인터페이스 요소가 있는 상호 작용

사용자 상호 작용을 다양한 방법으로 애플리케이션 인터페이스로 시뮬레이트할 수 있습니다. 버튼이나 다른 터치-반응

요소가 있다면, 다양한 터치와 제스처를 시뮬레이트할 수 있습니다. 먼저, 적합한 요소를 찾을 필요가 있습니다. 그렇게

하려면, 위의 있는 코드 조각에 설명된 대로 매뉴얼 로깅과 UI 요소의 통과를 사용하실 수 있으며 혹은 요소 형식과

이름에 기초한 더 많은 제네릭 참조를 사용하실 수도 있습니다.

예를 들면, “ 수식 라이브러리” 라는 이름의 다음에 나오는 버튼을 누르세요. 이 라이브러리는 애플리케이션에 있는

루트 뷰를 통해 액세스할 수 있습니다:

// #### Getting Element ####

rootView.buttons()["Equation library"].tap();

지금 여기에서는 해당 뷰 안에 있는 버튼만 포함하고 있는 배열에 액세스하며, 그런 다음 수식 라이브러리 이름으로

배열을 찾습니다.

HSC PROPRIETARY

Page 15: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

6.3.3 지원되는 이벤트 / 제스처

도구는 다음에 나오는 이벤트/제스처를 지원합니다:

탭()

탭과 홀드(번호 기간)

더블 탭()

투핑거탭()

옵션터치(개체 옵션)

옵션드래그인사이드(개체 옵션)

옵션플릭인사이드(개체 옵션)

스크롤투비져블()

6.4 장점 및 단점

6.4.1 장점

자바스크립과 UI 자동화 자바스크립 API는 배우기가 쉽습니다.

자동화와 함께 다양한 도구 템플릿를 병합할 수 있습니다. 예를 들면, 테스트 스크립을 시작하고

자동화하는 동안 다른 애플리케이션 부면(메모리 이용, 만든 스레드, 힙 할당, 배터리 이용 및 기타)을

테스트하기 위해 누수/ 할당/ 코어 데이터/ 타임 프로파일러/ 시스템 추적 등을 부가할 수 있습니다. 그처럼

편리하게 통합시킨 기능을 함께 제공하는 다른 테스트 도구는 없습니다.

장치와 시뮬레이터를 장치 및 작업에 더 가깝게 연결해 줍니다.

모든 제스처를 지원합니다(손가락 모으기, 확대/축소, 살짝 밀기, 터치, 롱 프레스, 스크롤 등) Apple 사

커뮤니티 지원 (스택코버플로우 같은 포럼에서 분리)

고급 이미지 비교 알고리즘과 더불어 이미지를 비교하기 위해 이미지매직(ImageMagic) 셀 명령 혹은 기타

스크립트와 같은 기본 명령 실행 가능.

6.4.2 단점

특별한 구축을 산출하려면 애플리케이션 연결이 필요

테스터가 모든 테스트 사례의 병합된 리포트를 구하려면 사용자 지정 테스트 스크립트를 기록할 필요가 있음.

HSC PROPRIETARY

Page 16: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

7.0 TEST STUDIO (IOS 용)

7.1 소개

텔레릭이 만든 테스트 스튜디오(http://www.telerik.com/automated-testing-tools)는 개발자가 모바일 애플리케이션과

웹사이트에서 테스트를 기록하고 자동화하게 해 줍니다. iOS 용 테스트 스튜디오는 iPhone, iPod Touch 및 iPad를

위한 자동화된 애드혹 테스트 솔루션입니다. 테스트 스튜디오는 제일 브로큰 장치를 필요로 하지 않으며, 이미지 요소

감지도 사용하지 않습니다. 대신에 테스트 스튜디오는 속성 유니크에 근거를 둔 요소를 찾을 수 있는 쿼리를

생성합니다. 그렇게 하면서 이 테스트 스튜디오는 개발자가 화면에서 요소의 위치를 바꾸거나 초기에 생성된 쿼리와

관련 없는 속성을 바꿀 경우 테스트를 계속 신뢰할 수 있게 됩니다.

7.2 설정 및 설치

테스트 스튜디오는 애플리케이션 테스트를 관리할 수 있는 iOS 애플리케이션을 제공해 드립니다. 이 iOS

애플리케이션은 무료이며, Apple 앱 스토어 (https://itunes.apple.com/us/app/test-studio/id523796105?mt=8)에서

다운로드 받을 수 있습니다. 기본 애플리케이션을 테스트하기 위해서는 www.telerik.com/ios-testing에서 테스트

확장을 다운로드 받아야 합니다. (텔레릭에서 무료이지만 등록이 요구됨)

UI 테스트 스튜디오 애플리케이션

7.3 iOS 용 테스트 스튜디오 작동 방법

기본 앱 테스트 스튜디오-호환성을 만들기 위해서는 테스트 스튜디오 앱을 대상 애플리케이션과 상호 작용하게 해

주는 테스트 스튜디오 정적 라이브러리 ((libTestStudioExtension.a)을 장치에서 기본 앱 테스트 스튜디오-호환성과

컴파일을 할 필요가 있습니다. 테스트 모드에서 유효성 검사 시퀀스의 계열을 만들 수 있습니다. 이러한 시퀀스는

앱에서 직접 기록할 수 있는 상호 작용 이벤트로 구성되어 있으며, 기본 제공 작업 편집기에서 확인 테스트를 지정할

수 있습니다. 이러한 테스트는 사용자 상호 작용을 지정된 테스트 조건과 일치되는지 확인하십시오.

또한, 엑스코드(Xcode) 워크스페이스, 테스트 스튜디오 익스텐션(Test Studio Extension), iOS 시뮬레이터용 테스트

스튜디오 앱(Test Studio app for the iOS Simulator) 및 데모 애플리케이션10

(Demo Application10

)를 포함하는 파일

번들로 다운로드할 수 있습니다.

10 https://www.telerik.com/login.aspx?ReturnUrl=%2fcommunity%2flicense-

agreement.aspx%3fpId%3d969

HSC PROPRIETARY

Page 17: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

7.4 장점 및 단점

7.4.1 장점

테스트 개발을 위한 스크립트 지식이 필요하지 않습니다. 테스트 사례가 각각의 개체를 위해 지정된

필요한 동작으로 기록되게 합니다. 테스터는 클릭과 포인트로 테스트 사례를 만들 수 있습니다. HTML5

애플리케이션뿐 아니라 테스트 기본도 만들 수 있습니다.

실행된 모든 테스트 사례를 위한 통합된 보고서를 제공해 드립니다.

요소를 위치/이미지가 아니라 속성으로 검색함

7.4.2 단점

아직 베타 단계(2013년 1월 현재)에 있으며, 이 단계는 매우 불안정합니다.

다른 플러그 인(테스트 스튜디오의 로드 및 성능)을 부가하는 것이 현재로는 불가능합니다.

상업적 도구

HSC PROPRIETARY

Page 18: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

8.0 프로그로직 SQUISH(FROGLOGIC SQUISH)

8.1 서론

프로그로직(Froglogic)은 다양한 크로스-플랫폼 GUI 테스트 자동화 도구를 제공해 드리며, 구체적으로 QT를

기본으로 한 자동화 테스트를 제공합니다. 프로그로직( QT. Froglogic)에는 세 가지의 주요 제품이 있습니다:

I. Squish GUI테스트

II. Squish센트럴

III. Squish코코(Squish COCO)

8.2 Squish작동 방법

Squish 는 테스트 아래 애플리케이션과 테스트 스크립트 사이에 통신을 다루는 작은 서버(Squish서버)를 실행합니다.

“ Squish서버” 는 AUT를 시작하고 Squish 후크를 도입합니다. 이 후크는 AUT의 접근할 수 있는 실행 개체를 만들고

Squish 서버와 통신하는 작은 라이브러리입니다. 후크 공간과 함께 Squish 서버는 상태와 관련있는 AUT 개체를

쿼리할 수 있으며, 모두 Squish 러너를 위하여 명령을 실행합니다. 다음에 나오는 도해는 개별 Squish 도구가 어떻게

함께 작업하는 설명하고 있습니다.

Squish는 모바일 애플리케이션 개발에 기초한 QT를 지원합니다. 또한 기본 iOS 애플리케이션 테스트를 위한 지원도

합니다.

8.3 iOS 기본 앱 테스트

실제 iPhone 혹은 iPad에 있는 테스트 iOS 기본 앱은 시뮬레이터 테스트에 비해 불편합니다. 그렇기 때문에 Squish

특정 래퍼 라이브러리를 Xcode에 부가해야 하며, 다음 아래의 사항처럼 애플리케이션의 주요 기능에 대한 약간의

수정을 합니다:

HSC PROPRIETARY

Page 19: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

#import<UIKit/UIKit.h>

#import "AppDelegate.h"

#if defined(SQUISH_TESTING) && !TARGET_IPHONE_SIMULATOR

externboolsquish_allowAttaching(unsigned short port);

#endif

int main(intargc, char *argv[]) {

NSAutoreleasePool * pool = [[NSAutoreleasePoolalloc] init];

#if defined(SQUISH_TESTING) && !TARGET_IPHONE_SIMULATOR

squish_allowAttaching(11233);

#endif

intretVal = UIApplicationMain(argc, argv,

nil,NSStringFromClass([AppDelegate class]));

[pool release];

returnretVal;

}

일단 Squish에서 주요 기능이 제대로 설정되었다면, 개발자는 정적 라이브러리인“ libsquishioswrapper.a” 를 Xcode

프로젝트에 부가할 필요가 있습니다. 이 라이브러리는 Squish 패키지와 함께 보내지며, 패키지의lib 다이렉토리에서

찾으실 수 있습니다.

8.4 장점 및 단점

8.4.1 장점

테스트스튜디오 (TestStudio) 와 유사한 테스터에 스크립트 적은 테스트 생성 인터페이스를 제공합니다.

테스트 케이스에서 테스트 구분을 지원, 테스트 케이스의 재사용 가능함

XML 포맷에서 복합 로깅을 지원하며 로그 뷰어 모듈이 있고, 다섯 가지 스크립트

언어 – JavaScript, Perl, Python, Tcl & Ruby를 지원함

어떠한 가외의 지원도 가능하도록 도구를 강화할 수 있는 소스 코드가 함께 있음.

8.4.2 단점

상업성 라이센스

모듈은 메모리 누수 정보, 실행 혹은 로드 테스트를 지원하지 않습니다.

HSC PROPRIETARY

Page 20: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

9.0 FRANK

9.1 서론

Frank는 기본 iOS 앱에 대한 소스 열기 UI 테스트 도구입니다. Frank는 일단 구조화된 테스트/수용

테스트를 작성하면 이를 통해 Cucumber(큐컴버) 11

와 JSON을 사용하며, iOS 애플리케이션에 대한

실행을 합니다. Frank는 또한 실행하는 애플리케이션에서 자세한 정보를 얻도록 사용할 수 있으며

이 강력한 “ 앱 검사” ((Symbiote 라고 불림)를 포함합니다.

9.2 샘플 테스트스크립트(Sample Testscript)

Frank/features/에 있는 탐색 기능의 이름인 파일을 만들며, 또한 파일에 테스트 사례를 작성합니다:

Feature: Navigating between screens

Scenario: Moving from the 'Home' screen to the 'Events' screen

Given I launch the app.

Then I should be on the Home screen

When I navigate to "Events"

Then I should be on the Events screen

Frank/features/step_definitions/에 있는 ‘ navigation_steps.rb’ 이름인 단계 정의 파일을 만들고 단계적인

정의를 다음과 같이 작성합니다:

Then /^I should be on the Home screen$/ do

pending # express the regex above with the code you wish you had end

When /^I navigate to "(.*?)"$/ do |arg1|

pending # express the regexp above with the code you wish you had end

Then /^I should be on the Events screen$/ do

pending # express the regexp above with the code you wish you had end

Cucumber 실행: cucumber 기능/탐색. 기능

9.3 장점 및 단점

9.3.1 장점

9.3.2 단점

Symbiote에 적합하며, 무료 애플리케이션 검사를 실행하는 앱에 대한 자세한 정보를

제공합니다.

테스트의 녹음 비디오는 작동 중인 애플리케이션을 표시하기 위해 실행합니다.

장치 및 시뮬레이터 모두 실행합니다

CSS와 같은 선택기 구문을 정리하며 문장 난이도가 증가합니다.

장치 및 시뮬레이터 모두 실행합니다

테스트의 녹음 비디오는 작동 중인 애플리케이션을 표시하기 위해 실행합니다.

장치 및 시뮬레이터 모두 실행합니다

CSS와 같은 선택기 구문을 정리해 주며 문장 난이도가 증가합니다.

11http://cukes.info/

HSC PROPRIETARY

Page 21: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

10.0 기능 비교: 요약

이 장에서 위의 설명을 근거로 서로 다른 도구를 비교하는 방법을 요약하여 제공합니다.

HSC PROPRIETARY

도구 이름 모바일플

렛폼

자동화 수준 기본 앱 지원 웹 앱 지원 필수 스크립트

기술

녹음 테스트 사용의

용이성

화이트박스

테스트

블랙박스

테스트

라이센스

기기 상업성. X-코드

도구 일부

Sikuli GPL 3

Monkeyrun

ner

UI Exerciser

Monkey

Squish Squish

Test Studio

Frank

GPL 3

GPL 3

GPL 3

상용.

상용.

완료 없음

Page 22: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

11.0 참조

http://sikuli.org/ http://groups.csail.mit.edu/uid/projects/sikuli/sikuli-

uist2009.pdf http://developer.android.com/tools/index.html

http://developer.android.com/tools/help/monkeyrunner_concepts.html

http://developer.apple.com

http://code.google.com/p/robotframework/

http://docs.blackberry.com/en/developers/deliverables/11958/Event_injection_808536_11.jsp

http://www.telerik.com/automated-testing-tools/support/documentation/mobile- testing/deployment/uikit-testing.aspx

http://www.telerik.com/automated-testing-tools

http://doc.froglogic.com/squish/4.2/testing..iphone..apps.on.an.iphone.html

http://www.sunsetlakesoftware.com/sites/default/files/Fall2010CourseNotes/ui%20automation.ht ml

http://forums.pragprog.com/forums/248/topics/10999

HSC PROPRIETARY

Page 23: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

소유권 고지사항

판권 소유. 본 문서와 내용은 Hughes Systique 회사에게 판권을 소유합니다. 이 문서의 어떠한 부분도 Hughes

Systique 회사, 15245 Shady Grove Road, Suite 330, Rockville, MD 20850의 서면상 승인 없이 어떠한 형태나

방법으로도 복제할 수 없습니다.

저작권 © 2013 Hughes Systique 회사

HSC PROPRIETARY

Page 24: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

부록A HUGHES SYSTIQUE 회사 정보

HUGHES Systique 회사(HSC)는 HUGHES 그룹의 일부로서 커뮤니케이션과 오토모티브 텔레마틱에

중점을 둔 컨설팅과 소프트웨어 분야의 선두 그룹입니다. HSC는 미국 메릴랜드 락빌(Rockville,

Maryland)에 본사를 두고 있으며, 인도 구르가온(Gurgaon, India)에 개발 센터가 있습니다.

제공 서비스:

기술 컨설팅& 아키텍처: 제품 요구 사항을 정의하는 광범위한 지식과 우리의 도메인 전문가의 경험을

활용하며 기술 계획의 유효성을 검사하고, 시장 납품의 개념화에서 몇 가지 성공적인 제품의 서비스와

개발을 컨설팅하는 네트워크 수준에서 제공합니다.

개발 & 관리 서비스: 통신 분야에서 다양한 소프트웨어 환경을 위해 설계와 개발 및 관리를 도와

드립니다. 우리는 배포 및 포스트 프로덕션 지원에 요구 사항 분석의 SDLC완료 단계를 포함하는 잘

정의된 소프트웨어 개발 프로세스가 있습니다.

테스트: 우리는 테스트 기법과 프로세스에서 폭넓은 경험을 쌓아왔으며, 실행 테스트(벤치 마킹 메트릭스

포함), 프로토콜 테스트, 적합성 테스트, 스트레스 테스트, 화이트 박스와 블랙 박스 테스트, 재발 테스트 및

상호 운영성 테스트를 고객에게 제공합니다.

시스템 통합 : 선택의 시스템 통합으로서 세계적 명성을 지닌 HSC는 아키텍트, 통합, 배포하는 일을 하며,

OSS, BSS, VAS 슈트와 무선 IN (VoIP & IMS), 유선과 하이브리드 네트워크를 관리합니다: NMS, 서비스

관리 & 프로비저닝.

도메인 전문 기술:

터미널

터미널 플렛폼: iPhone, 안드로이드, Symbian, Windows CE/Mobile, BREW, Palm OS

미들웨어 환경 및 애플리케이션: J2ME , IMS Client, OMA PoC,

액세스

유선 액세스: PON & DSL, IP-DSLAM,

무선 액세스: WLAN/WiMAX / LTE, UMTS, 2.5G, 2G, 위성 통신

코어 네트워크

IMS/3GPP ,IPTV , SBC, Interworking , 스위칭 솔루션, VoIP

애플리케이션

기술: C, Java/J2ME, C++, Flash/lite, SIP, Presence, Location, AJAX/Mash

미들웨어: GlassFish, BEA, JBOSS, WebSphere, Tomcat, Apache 등.

관리 및 비 영업 부서:

회계 및 OSS, 상용 기성품 소프트웨어(COTS) 제품에 대한 지식, 매개(Mediation), CRM

s네트워크 관리: NM 프로토콜, Java 기술, COTS NM 제품의 정보, FCAPS, 보안 및 인증

플렛폼

포함 문서: 설계, 개발 및 이식- RTOS, 장치 드라이버, 통신 / 전환 장치, 인프라 구성요소. 디버깅

도구의 사용 및 이해.

FPGA &DSP: 설계, 시스템 원형생성, 재 설계, 시스템 검사, 테스트

자동차 텔레마틱(Automotive Telematics)

CAN B & CAN C 자동차 유닛(ECU) 소프트 설계

텔레마틱 네트워크 설계 (CDMA, GSM, GPRS/UMTS)

장점:

시장 출시시간 감소: 항상 사용 가능한 주요 자원을 이용하여 기존 기술의 보완, 복잡한 통신

시스템에서 개발 및 배치

HSC PROPRIETARY

Page 25: 모바일 애플리케이션에 대한 테스트 자동화 도구 …모바일 애플리케이션에 대한 테스트 자동화 도구: 설문조사 보고서 1.0 요약 UI 테스트

R&D 달러화 확대: 아웃소싱에 대한 최고 쇼어 전략, 세계 수준의 프로세스, 자원 변동에 따른 처리

CONTACT INFORMATION:

phone: +1.301.527.1629

fax: +1.301.527.1690

email: [email protected]

web: www.hsc.com

HSC PROPRIETARY