How Selenium and Appium support LINE services

정원덕
selenium-korea
Published in
4 min readMay 4, 2019
Speaker — Hiroaki Ozono (Automated Test Team at LINE Fukuoka)

라인 재팬은 메신저, 스티커, 핀테크(LINE PAY) 사업을 진행중입니다. 그리고 AI와 Commerce 영역으로 사업을 확장중입니다. 비즈니스 규모가 크기 때문에 자동화엔지니어(Automated test engineer)와 SET(Software engineer in Test) 인원은 각 프로젝트 팀에 할당되어 프로젝트를 진행하고 있습니다.

자동화 테스트 엔지니어와 SET는 각각의 프로젝트에 배치됩니다

SET Team Tokyo에서는 보다 나은 개발 경험을 만든다는 목적을 위해 노력하고 있습니다. 이를 WOW DX(Developer eXperience) 라고 부르는데요, Microservice 환경을개선하는데 집중하고 있습니다.

SET Team Tokyo의 WOW DX

마이크로 서비스를 위해 사용중인 툴로는 Kubernetes, Karate API가 있습니다. 그리고 Agile 개발문화를 위해 CSP-SM (Certified Scrum Professional) 를 획득한 스크럼 마스터들을 늘려가고 있습니다.

LINE JAPAN SET Team에서 사용중인 테스팅 소프트웨어들

그리고 SET Team에서는 다음과 같은 소프트웨어를 사용하여 테스팅 업무를 하고 있습니다.

  1. Appium for Mobile App and Web testing
  2. Spring
  3. Drone
  4. Jenkins for CI/CD
  5. JUnit5 for Unit testing
  6. Selenium for End2End
  7. Gradle for build automation
  8. XCUITest for iOS
  9. Espresso for Android
  10. Open CV for image detection
  11. Docker + Kubernetes

하지만 한가지 문제가 있었는데요, 그것은 테스트 결과에 대해 가독성이 나빴다는 점이었습니다. 그래서 SET Team에서는 아래와 같은 시스템 구축을 통해 문제를 해결했습니다.

Test reporing system in SET Team

Retrofit은 Java 코드 안에서 HTTP API 통신을 도와주는 라이브러리입니다. Retrofit으로 API Testing을 진행, 테스트 결과를 서버에 저장합니다. 그리고 이 테스트 결과를 Vue.js로 만든 페이지에서 보는 것이죠. (여러 상용툴도 많았을 텐데 Requirement를 만족시키는 경우를 찾지 못한 걸로 생각되네요)

Testing report view

어떤 문제점을 찾고 해결한 과정을 공유하기보다는 테스팅 프로세스와 리포팅시스템의소개정도로 그쳐 아쉬움이 있던 발표였습니다. 하지만 LINE 정도 규모에서 Testing을 어떻게 생각하고 발전시켜나가고 있는지 알 수 있었던 기회였습니다. 원본 슬라이드링크를 공유드리니 상세한 내용이 필요하시다면 참고하시면 좋을 것같네요.

--

--

정원덕
selenium-korea

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