Development platform for the Mobile app in Yahoo Japan Corporation

정원덕
selenium-korea
Published in
4 min readMay 4, 2019
야후 재팬의 CI/CD 과정과 테스팅 프로세스에 대해 설명한 세션
Speaker: Nishijima Hiroshi

야후 재팬은 100개 이상의 서비스를 운영중입니다. 뛰어난 품질의 앱을 더 빠르게 만들기 위해서 다음과 같은 프로세스를 가지고 있다고 합니다.

  1. CI/CD: Screwdriver.cd

Android와 iOS 앱을 C나 Java로 서버사이드에서 빌드할 수 있습니다. Espresso, XCUITest, Appium의 테스트를 함께 수행합니다. 어플리케이션의 빌드 및 배포를 Fastlane으로 자동화했습니다. Screwdriver.cd를 통해 하루에 15,400회 이상의 빌드를 진행하고 있습니다. 그리고 40,000개 이상의 Pipeline을 만들었습니다.

2. Testing: Appium, Applicat (Yahoo Japan의 사내 테스팅툴)

Appium으로 병렬로 여러 Device에서 테스트를 수행하고 결과를 확인
Yahoo Japan의 사내툴인 Applicat으로 코드 작성없이 테스트 시나리오를 만드는 모습

3. Dogfooding: Approduce

Yahoo Japan의 개발팀에서는 “Approduce”라는 앱 빌드, 테스트, 배포과정을 자동화한 툴이 있습니다. Web 상에서 소스 저장소와 브랜치를 지정하고 Fastlane을 설정하는 것만으로도 내부 시스템과 쉽게 연계가 될 수 있다고 합니다. 2017년 이후부터 사용하고 있습니다.

Yahoo Japan “Approduce”는 이렇게 동작합니다

4. User feedback: AppFeedback-ios/AppFeedback-android

AppFeedback이란 라이브러리를 iOS, Android 버전으로 공개되어 있습니다. 앱에서 고객 피드백을 받아서 Slack API를 통해 바로 전달하는 역할을 합니다. 모바일 앱으로 고객 피드백을 받는 좋은 방법으로 생각됩니다.

5. Mapping Tools

Agile testing을 목적에 따라 4분면으로 나누었습니다
그리고 실제로 사용중인 툴들은 각각의 4분면에 속하겠죠. Q4에는 무엇을 쓰고 있을까요?

회사마다 Agile testing에 필요한 툴의 선택은 다를수 있습니다. 하지만 이를 기능 목적을 파악해서 할당하고 제대로 동작하는지 확인하고 운영하는 과정은 쉽지 않습니다. Yahoo Japan은 각 툴들의 기능과 역할에 대해 적재적소에 배치해서 많은 수의 서비스를 효율적으로 운영하는 프로세스를 이룬 점이 인상적이었습니다. 여러분도 Agile testing map을 통해 운영하시는 서비스에 부족한 과정이 없는지 확인하는 건 어떨까요?

--

--

정원덕
selenium-korea

자비스앤빌런즈 프론트엔드 챕터장