날짜 :
2019-04-24 22:17
댓글 :
21

[NDC2019] 리니지M, 호환성 테스트 자동화로 얻은 놀라운 결과

양영석 기자 (Lavii@inven.co.kr)
[▲ 엔씨소프트 이호승 개발자 ]

  • 주제: 리니지M 모바일게임의 호환성 테스트와 자동화 적용
  • 강연자 : 이호승, 홍상영 - 엔씨소프트 / NCSOFT
  • 발표분야 : 프로덕션&운영, 프로그래밍
  • 권장 대상 : QA, 프로그래머
  • 난이도 : 사전지식 불필요 : 튜토리얼이나 개요 수준에서의 설명


  • [강연 주제] 다양한 모바일기기에서 게임이 원활하게 실행되는 것은 모바일게임 개발자 모두의 바람입니다.어떤 기기에서 어떻게 테스트를 해야할 까요?호환성 테스트에서 어떤 것들을 챙겨야하는지에 대한 이야기를 하고 싶습니다.

    많은 기기에서 호환성 테스트를 진행하기 위해 테스트 자동화를 선택이 아닌 필수 사항였습니다. 테스트 자동화를 도입해서 진행하고 있는 호환성 테스트의 모습과 적용 효과에 대해서 경험을 공유하고자 합니다. 아울러 테스트 자동화를 위해 적용된 기반 기술들에 대해 소개할 예정입니다.

    세션을 통해 모바일게임의 호환성 테스트에 대한 이해를 높일 수 있을 것입니다. 또한, 모바일게임 테스트 자동화의 실무 활용 기술에 대한 정보도 얻을 수 있을 것입니다.


    모바일 게임을 개발하면서, 호환성 테스트는 매우 중요하다. 이미 거대한 규모로 형성된 스마트폰 시장에서는 수많은 기종이 존재하고, 이들에 대한 테스트가 필수다. 비록 전부 다 테스트를 하지 못하더라도, 권장사양과 최소 사양은 확인을 하고 구동 테스트를 해봐야 한다. 과거에는 이런 '호환성 테스트'에 많은 기종을 사용한 게 아니었지만, 지금은 수많은 기기들이 존재하기에 일일이 하기에는 한계가 있다.

    그렇기 때문에 이런 호환성 테스트에서도 자동화가 필요하다. 엔씨소프트의 이호승, 홍상영 개발자는 '리니지M'의 사례를 들어서 현재 엔씨소프트가 진행 중인 모바일 호환성 테스트의 자동화 현황과 중요성, 그리고 실무 활용 기술 정보를 공유했다.


    ■ 모바일게임의 호환성 테스트의 필요성과 체크 요소

    그렇다면 모바일 게임 호환성 테스트, 왜 필요할까? 이호승 개발자는 호환성 테스트를 '고객과의 첫 만남'이라고 평가했다. 디바이스와 사용자, 그리고 게임이 만나는 첫 출발이라는 의미다. 게임이 우전 제대로 설치되고 동작해야 유저들과 만날 수 있다. 그런 의미에서 호환성 테스트는 '첫 만남'이기에 소중하고 중요하다고 강조했다.

    현재 엔씨소프트는 과거보다 향상된 호환성 테스트의 자동화 과정을 거쳐 다양한 테스트를 진행하고 있다. 게임의 설치와 삭제, 동작, 게임 플레이 등등 다방면에서 테스트가 이뤄지고 있다. 물론 테스트를 검증하는 기기 역시 최소 사양부터 권장 사양, 최고 사양까지 모두를 포함해 테스트를 진행 중이다.

    엔씨소프트가 구축한 테스트 시스템

    지난해에는 항상 스마트폰을 켜 둔 상태에서 테스트를 진행했지만, 지금은 한차례 개선을 이뤄 대기 상태에서 앱을 실행하고 테스트를 마친 후 다시 대기 상태로 진행 방식을 개선했다. 현재 엔씨소프트는 약 500여 종의 모바일 디바이스를 확보하고 선택적으로 테스트를 할 수 있도록 시스템을 마련해놓았다.

    호환성 테스트를 위해서는 체크해야 할 부분이 많다. 우선 디바이스 측면에서는 디스플레이와 CPU/GPU 사용량, RAM 등을 체크해야 하고 각 OS 별로 동작 과정도 확인해야 한다. 게임적인 측면에서는 각 엔진(언리얼, 유니티, Cocos2D-X 등)에 맞춰 구동과 기능을 확인해야 하며 추가적으로 네트워크 사용량 체크도 잊으면 안 된다.


    현재 리니지M은 약 6천 종의 모델이 접속하고 있다. iOS는 상태적으로 파편화가 덜 되어 있어서 대부분의 기기로 호환성 테스트를 할 수 있는 게 특징이다. 반면에 안드로이드는 각기 다른 사양을 지닌 수많은 기종이 접속한다. 안드로이드의 호환성 테스트에 집중하는 이유다. 모바일 게임은 램이나 AP, 디스플레이, 각각의 화면크기도 다르기 때문에 실제로는 콘솔 하나와 비슷한 테스트 사양이 필요하다.

    실제 리니지M은 2017년 6월 오픈 당시에 iOS는 약 99% 전수로 호환성 테스트를 진행했다. 안드로이드 기기의 소화율은 약 86%로, 50여 개 이상의 기기를 테스트하며 진행했다. 호환성 테스트에서 체크하는 부분은 아래와 같다.

  • FPS
  • MEMORY(램 사용량에 대한 확인)
  • CPU, GPU 사용량에 대한 확인과 발열
  • 네트워크 사용량
  • 디스플레이, 기기의 특정 화면이나 특성

    프레임 체크 테스트 모습

    프레임 체크는 가장 중요하면서 기본적인 부분이다. 각 기기별로 동일한 프로세스로 테스트했을 때 기기마다 어떤 결과의 프레임이 나오는지 체크한다. 게임에서 목표하고 있는 프레임이 어떻게 나오는지 여러 가지 방식을 도입해서 최적의 세팅을 찾아내는 과정이다. 메모리의 경우는 업데이트마다 사용량이 변화할 수 있기에 꾸준히 진행해줘야 하는 부분이다.

    CPU와 GPU의 사용량은 기기의 발열량과 매우 밀접한 연관이 있다. 이 과정에서 약 50~70%는 스로틀링 현상(발열을 줄이기 위해 강제적으로 클럭, 전압을 낮추는 기능)이 발생해 FPS가 떨어지는 경우가 있다. 네트워크 사용량은 대규모 전투가 발생했을 때 얼마나 데이터 사용량이 달라지는가를 체크하는 부분이다. 혹은 실제 스킬을 사용했을 때 어느 정도로 데이터 사용량이 증감하는지 체크를 해야 한다. 디스플레이는 '엣지'모델의 화면이나, iOS의 노치 디자인 등 이런 디스플레이적 특성이 게임의 중요 정보를 가리거나 흐리지 않도록 점검하는 과정이다.

    현재 테스트하고 있는 여러 기능들

    엔씨소프트는 현재 이런 호환성 테스트에 자동화를 적용해 게임뿐 아니라 실제 모바일 기기의 기능도 함께 확인한다. 게임 도중 모바일 기기의 메뉴를 호출하거나 사운드 조절, 메뉴 버튼과 홈버튼 등의 작동 기능이다. 그리고 이렇게 실제로 이뤄진 테스트 결과는 원하는 지점의 스크린샷으로 제공된다. 체크리스트를 통해 테스트 결과를 제공함으로써 실패한 부분과 테스트를 통과한 부분을 확인할 수 있다. 스크린샷도 제공되는데, 이경우 현재는 수동으로 체크하고 있지만 추후 AI를 통해 스스로 확인할 수 있는 솔루션을 적용할 계획이다.


    ■ 테스트 자동화 프레임워크

    [▲ 엔씨소프트 홍상영 개발자 ]

    엔씨소프트는 오픈소스인 'APPIUM'을 이용해서 자동화 시스템을 구축했다. 오픈소스라 비용이 저렴하고 다양한 언어도 지원되고, http 방식으로 스크립트 서버 연결도 가능했고, iOS와 안드로이드 모두 사용이 가능했기 때문이다.

    스크립트를 실행하면 안드로이드 드라이버를 통해서 실제 테스트 기기에 '부트스트랩'이라는 앱을 설치하고, 실제 기계 안에 있는 정보를 가져오고 반환하는 방식으로 터치 동작까지도 제어할 수 있었다. 그렇게 엔씨소프트는 스크립트를 통해서 테스트 기기를 조작하는 자동화 시스템을 구축하기 시작했다.


    물론 기기에 대한 정보는 APPIUM이 가지고 있다. 캡처한 화면에서 화면에 담긴 구조가 나오고, 이 정보를 사용자에게 보여준다. 이를 통해서 UI에 대한 세부 정보나 텍스트, 좌표 등 속성값이 송출된다. 그러나 게임 UI는 이와 동떨어져있다. 이 경우는 게임을 제작한 엔진에서 정보를 가져와야 한다. 그렇기 때문에 엔씨소프트는 테스트용 앱에 게임의 정보를 전달해줄 수 있는 '게임 오브젝트 인스펙터'를 일종의 모듈을 포함시켰다.

    이 게임 오브젝트 인스펙터는 엔진에서 가지고 있는 구조를 전달하는 역할을 한다. 바깥으로는 정보를 받아서 직접적으로 통신하기 위한 게임 드로이드 드라이버를 구축했다. 이는 인스펙터와 연결 목적으로 기존 서버를 확장하고 개발한 부분이다. 이렇게 게임의 UI에 대한 세부 정보, 텍스트 등 값과 속성을 가져올 수 있었다.


    게임 오브젝트 인스펙터는 엔진에서 정보를 가져오는 모듈이다. 그렇기 때문에 엔진별로 다르게 개발하는 게 필수였다. 현재 유니티와 Cocos2D-X까지는 개발이 완료되었고, 언리얼 엔진은 거의 완료된 상태다. 게임 드로이드 드라이버로 게임의 정보를 받아오고, UI를 기반으로 동작하는 스크립트 방식으로 '테스트 자동화'를 시도하고 있다.

    여기에 워크벤치 서버를 마련하고, 각각의 테스트 서버와 테스트 기기를 연결해 워크벤치 사용자들이 테스트를 진행할 수 있도록 시스템을 구축했다. 디바이스 팜은 약 AOS 40대가 연결되어 있고, 사용자는 설치 파일과 스크립트 업로드 후 테스트 기기를 선택하면 된다. 그리고 테스트가 종료된 후 결과를 취합하여 리포트를 제공한다. 리포트는 QA에서 많이 확인하는 체크리스트 형식으로 제공된다. 물론 실제 연결된 기기들의 스펙과 사용 여부도 확인이 가능하고, 스크린샷도 확인할 수 있다.





    ■ 테스트 자동화로 얻게 된 것 - 생산성의 놀라운 증대...협업이 중요하다

    혼자서도 다양한 테스트를 빠르게 할 수 있게됐다.

    이런 자동화 시스템을 구축화함으로써 엔씨소프트는 한 시간 안에 혼자서 빌드 테스트를 마칠 수 있는 놀라운 결과를 얻었다. 리니지M은 QA 빌드 배포 시 테스트 가능한 빌드인지를 확인하는 BAT 26개의 테스트를 15분 이내로 완료할 수 있었다. 라이브 서버 자동 점검도 가능해졌고, 448개의 테스트를 15분 이내에 완료할 수 있게 됐다. 또한 다이아/아데나를 사용하는 시스템 및 콘텐츠 전반에 대한 테스트도 가능해졌다. 약 300여 개의 테스트에 4시간이 소요된다.

    실질적으로 일일이 수작업으로 진행되는 테스트의 과정을 크게 줄였고, 생산성도 크게 상승했다. QA 테스트들을 다양한 기기로 할 수 있고, 테스트 자동화를 적용해서 커버리지도 크게 확장하게 됐다.


    이호승 개발자는 호환성 테스트 자동화에 대해서는 각 부서들의 의지가 중요했다고 평가했다. 실제로 협업해서 공유하고, 협업을 하는 건 강력한 의지가 필요하다. 서로 공유하고 협업하고자 하는 의지 없이 어느 한 팀이 주도할 수 없다. 결국 서로 도와야 되는 게 얻은 결과라고도 평가했다.

    강연의 끝에서 그는 소규모 개발사나 작은 개발 그룹의 경우 이런 다양한 기기들에서 테스트가 힘들지라도 최소 사양과 권장사양 기기는 반드시 테스트를 할 것을 권유했다. 그게 안된다면 테스트 자동화를 적용해보고 시도해보는 게 좋을 수 있다고 제언했다. 게임도 유저들에게 제대로 서비스하기 위해서는 그만큼 QA 활동과 테스트에도 투자를 해야 한다고 주장하며 강연을 마무리했다.
  • 코멘트

    새로고침
    새로고침

    게임별 조립 PC

    전체 리포터 62개 등록됨 (2019-05-22 ~ 2018-11-21)

    [패치] 클래스 케어 진행! 기사와 다크엘프는 최상위 유저만 수혜 [24]
    게임뉴스 | 이동연 기자 (Rakii@inven.co.kr) | 2019-05-22 16:27
    이번 업데이트로 특수던전 1시간 증가 이벤트, 클래스 케어, 신규 패키지 판매가 진행된다. 우선 6월 5일까지 오만의 탑을 제외한 모든 특수 던전의 하루 이용 시간이 1시간씩 더 증가한다. 클래스 케어.....
    [패치] 업그레이드 돌아온 붉은 오크 이벤트, 하루 2차례 등장! [8]
    게임뉴스 | 이동연 기자 (Rakii@inven.co.kr) | 2019-05-15 17:43
    지난 3월 진행된 바 있었던 붉은 오크 이벤트가 이번 점검 이후 업그레이드 되어 진행된다. 붉은 오크는 매일 12:05, 21:05 분에 마을, 던전을 제외한 아덴 월드 전역에 출몰한다. 오토 사냥으로는 타겟.....
    [컨콜] 엔씨소프트, "블레이드&소울S, 올 가을 출시한다" [46]
    게임뉴스 | 박광석 기자 (Robiin@inven.co.kr) | 2019-05-10 10:42
    엔씨소프트는 10일 오전 9시부터 자사의 4분기 실적 및 연간 실적 발표를 위한 컨퍼런스 콜을 진행했다. 이번 컨퍼런스 콜에는 엔씨소프트의 윤재수 CFO가 참석하였으며, 엔씨소프트의 2019년 1분기 실적.....
    리니지M, 5월 29일 일본 출시... 현지 사전예약자 150만 돌파 [20]
    게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2019-05-09 23:32
    엔씨소프트(대표 김택진)의 모바일 MMORPG '리니지M'이 5월 29일 일본 서비스를 시작한다. 일본 리니지M(현지 서비스 명: リネージュM) 서비스는 엔씨재팬(NC Japan, 대표 김택헌)이 맡는다. 일본은 201.....
    [패치] 강화 이벤트로 희귀, 영웅 마법인형 획득 기회! 경험치 컬렉션도 가능 [13]
    게임뉴스 | 이동연 기자 (Rakii@inven.co.kr) | 2019-05-08 12:50
    8일 업데이트를 통해 강화 이벤트가 진행된다. 몬스터 1,000마리를 처치하면 퀘스트 완료 보상으로 세계수의 줄기, 갑옷을 얻을 수 있다. 이 아이템들은 별다른 용도는 없지만, 강화해서 일정 수치에 도.....
    [패치] 축젤, 축데이 제작 이벤트 시작! 라스타바드 던전 주말만 이용 가능해져 [17]
    게임뉴스 | 이동연 기자 (Rakii@inven.co.kr) | 2019-05-02 14:37
    많은 유저들이 필요로 했던 축복 갑옷 / 무기 마법 주문서의 수량이 풀린다. 금일부터 축복의 기운 이벤트가 진행되어 3개의 축젤, 축데이 제작이 가능하다. 축복 갑옷 / 무기 마법 주문서 1개를 제작하.....
    [리뷰] 출퇴근길 소음없이 게임을 즐겨보자! 플랜트로닉스 '백비트 고 410' [8]
    리뷰 | 송성호 기자 (Ronni@inven.co.kr) | 2019-04-26 17:50
    초기 블루투스 이어폰은 전송되는 데이터의 양이 작아서 일반적인 음악을 듣기에도 음질이 부족해 사용하는 사람이 극히 드물었다. 하지만 약 10여년이 지난 현재 '블루투스 이어폰'은 출·퇴근길 주위만.....
    [NDC2019] 리니지M, 호환성 테스트 자동화로 얻은 놀라운 결과 [21]
    게임뉴스 | 양영석 기자 (Lavii@inven.co.kr) | 2019-04-24 22:17
    모바일 게임을 개발하면서, 호환성 테스트는 매우 중요하다. 이미 거대한 규모로 형성된 스마트폰 시장에서는 수많은 기종이 존재하고, 이들에 대한 테스트가 필수다. 비록 전부 다 테스트를 하지 못하더.....
    [패치] 이벤트 던전 '퓨어 동굴' 개방… 24일 18시부터 제 7차 서버 이전 진행 [12]
    게임뉴스 | 이동연 기자 (Rakii@inven.co.kr) | 2019-04-24 16:43
    오랜만에 이벤트 던전이 개방된다. 이번 업데이트를 통해 이벤트 던전 '퓨어 동굴'이 개방되며, 이곳에서 퀘스트를 완료해 얻은 보상으로 '퓨어 엘릭서/엘릭서'를 한시적으로 제작할 수 있게 된다. '퓨어.....
    [취재] '속성 제거 주문서' 구글 플레이 포인트로 구매 가능해진다 [36]
    게임뉴스 | 이동연 기자 (Rakii@inven.co.kr) | 2019-04-23 18:15
    조만간 리니지M에 무기의 속성을 제거할 수 있는 '속성 제거 주문서'가 등장할 것으로 보인다. 금일(23일) 서울 강남구에 위치한 구글 스타트업 캠퍼스에서 '구글 플레이 포인트' 출시 간담회가 진행됐다.....
    [패치] 월드 던전 잊혀진 섬 추가! 전체 서버 이전 조만간 진행 예정 [14]
    게임뉴스 | 이동연 기자 (Rakii@inven.co.kr) | 2019-04-18 16:32
    원작 PC 리니지에서도 다른 서버와의 대결 구도가 펼쳐졌던 '잊혀진 섬'이 리니지M에 등장했다. PC와 마찬가지로 다른 서버 유저들과 전투를 펼칠 수 있는 '월드 던전' 형태로 등장하며, 매주 수, 목, 금.....
    '리니지M', 일본 사전 예약자 수 70만 명 돌파 [51]
    게임뉴스 | 허재민 기자 (Litte@inven.co.kr) | 2019-04-18 16:28
    엔씨소프트의 '리니지M'이 일본 출시를 앞두고 사전예약자 수 70만 명을 돌파했다. 엔씨 재팬에서 서비스 예정인 '리니지M' 일본 버전은 2017년 대만에 이어 두 번째 해외 서비스다. 출시를 앞두고 '리니.....
    리니지M, 새로운 월드 던전 ‘잊혀진 섬’ 업데이트 [2]
    게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2019-04-18 11:51
    엔씨소프트(대표 김택진, 이하 엔씨(NC))의 모바일 MMORPG(다중접속역할수행게임) 리니지M이 오늘(18일) 새로운 월드 던전 ‘잊혀진 섬’을 업데이트했다. ‘잊혀진 섬’은 같은 월드에 속한 10개 서버...
    [후기] 드래곤의 용옥 사용 한 달, 다시 레벨이 오르기 시작했다 [85]
    게임뉴스 | 이동연 기자 (Rakii@inven.co.kr) | 2019-04-17 11:53
    지난 3월 6일 리니지M에 정액제 아이템 '드래곤의 용옥'이 추가됐다. 드래곤의 용옥은 아인하사드의 축복이 없어도 경험치 400%, 아데나 획득률 150%의 효과를 30일 동안 지속하게 해준다. 드래곤의 용옥.....
    [패치] 월드 보스 잡고 귀환 NO! 황금 슬라임 잡고 숨겨진 왕국 탐험 [14]
    게임뉴스 | 이동연 기자 (Rakii@inven.co.kr) | 2019-04-10 16:59
    10일 업데이트를 통해 황금 슬라임 이벤트가 시작된다. 월드 보스를 처치 직후에 등장하는 '황금 슬라임'을 제거하면 이벤트 던전인 숨겨진 왕국으로 이동할 수 있는 포탈이 개방된다. 숨겨진 왕국으로 .....
    [이슈] 오만의 탑, 축복 주문서, 아데나... 유저들이 체감하는 드랍률 하락 [126]
    게임뉴스 | 이동연 기자 (Rakii@inven.co.kr) | 2019-04-09 18:42
    많은 게임들이 밸런스 명목으로 드롭률이나 획득 수치 등이 조정되곤 한다. 이러한 변경은 실제 확률까지 표기하진 않더라도 패치 노트를 통해 증감 여부를 공개하는 것이 일반적이나, 사전에 알리지 않.....
    [취재] 리니지M iOS 버전 점검 하루 넘게 지속… '마켓 이슈로 최종 배포 지연' [36]
    게임뉴스 | 이동연 기자 (Rakii@inven.co.kr) | 2019-04-04 11:34
    iOS 버전 엔씨소프트가 서비스하는 리니지M iOS 버전이 지난 3일 오전 4시 업데이트 점검을 실시한 이후, 금일(4일) 10시가 넘어간 현재까지 서비스가 지연되고 있다. 안드로이드 버전이 지난 3일 오전 .....
    [정보] 최후의 1인되면 영웅 변신 카드! 배틀로얄 던전 '무너지는 섬' [34]
    게임뉴스 | 이동연 기자 (Rakii@inven.co.kr) | 2019-04-03 20:19
    세계적으로 배틀로얄 방식의 게임이 유행하면서 리니지m에서도 흐름에 편승한 새로운 던전 '무너지는 섬'이 한시적으로 추가됐다. '무너지는 섬'은 총 3라운드로 진행되는 배틀로얄 방식으로 마지막 3라.....
    리니지M, 세 번째 월드 던전 '무너지는 섬' 공개 [4]
    게임뉴스 | 인벤팀 기자 (desk@inven.co.kr) | 2019-04-03 16:03
    엔씨소프트(대표 김택진, 이하 엔씨(NC))의 모바일 MMORPG(다중접속역할수행게임) 리니지M이 오늘(3일) 세 번째 월드 던전 ‘무너지는 섬’을 공개했다. ‘무너지는 섬’은 원작 PC 리니지에 존재하지 않.....
    다음 6개월   이전 1 | 2 | 3 | 4 다음   이전 6개월
    명칭: 주식회사 인벤 | 등록번호: 경기 아51514 | 등록연월일: 2009. 12. 14 | 제호: 인벤(INVEN)
    발행인: 서형준 | 편집인: 강민우 | 발행소: 경기 성남시 분당구 성남대로 331번길 8, 17층
    발행연월일: 2004 11. 11 | 전화번호: 02 - 6393 - 7700 | E-mail: help@inven.co.kr

    인벤의 콘텐츠 및 기사는 저작권법의 보호를 받으므로, 무단 전재, 복사, 배포 등을 금합니다.
    Copyrightⓒ Inven. All rights reserved.