휴일에 시간이 비어 동네 산 한바퀴 돌고 왔네요.
적당히 운동도 되고 좋은 것 같네요.
틈틈히 시간되면 도전해 봐야겠습니다.

바야흐로 대 연말정산 시즌입니다.


그나마 간소화 서비스로 기본적인 서류들은 편하게 제출할 수 있어서 다행인데요.


제출할 내용들을 토대로 연말정산시 돈을 돌려받을지 더 낼지를 미리 계산해 볼 수가 있습니다.


간소화 서비스에서 예상세액 계산하는 페이지를 제공하고요. 


계산 후 최근 3년치와 비교도 해주네요.



1. 홈택스 접속 후 연말정산 간소화 페이지로 이동~



2. 간소화서비스에서 각 항목들을 클릭하여 자료 조회한 다음에 "예상세액계산" 클릭



3. 예상 세액 계산에 포함할 항목들 확인 후 "세액계산" 클릭



4. 조회했던 자료들이 잘 입력되어 있는지 확인 후 "총급여/기납부세액 수정" 클릭



5. 2018년 동안의 총급여와 소득세 기납부세액 입력

총급여와 소득세는 저같은 경우는 매달 엑셀에 급여명세서를 정리하고 있어 그 누적 금액으로 기입하니 매년 결과가 예상금액과 큰 차이가 없었습니다.

총급여와 소득세를 알기 어려우실 경우 

   총급여 = 한달 급여 * 12

   소득세 = (한달 소득세 + 한달 주민세) * 12

로 계산하여 입력하셔도 대략적인 예상금액을 확인이 가능하십니다.



6. 총급여/기납부세액을 입력하여 적용한 다음, 페이지 제일 하단에 "계산하기", "계산결과보기" 등으로 예상금액 및 내용 확인



7. 결과 확인 후 페이지 상단의 "3개년 추이 및 항목별 유의사항 보기" 클릭하여 지난 3년과의 차이 및 요약 확인




연말정산이 어떻게 나올지 궁금할 때 편하게 쓸 수 있게 잘 만들어져 있는 것 같네요.


요약 등도 잘해줘서 도움도 많이 되니 필요하신 분들은 적극 활용하시길요.


다들 좋은 결과 얻으시길요~

또 연말정산 글입니다.


연말정산 간소화 서비스에 사람이 몰리다 보니 한번 로그인시 30분까지만 로그인을 유지해주네요.


30분이 지나면 아래같은 팝업이 뜨고 로그아웃 처리됩니다.




참고하시길요.

연말정산의 시즌이다보니 홈택스를 정말 자주 들락거리게 되는것 같네요.


연말정산 간소화 서비스 접속시 초반에 뜨는 아래와 같은 공지를 가볍게 무시하는 경우가 많았는데요.




1월 20일부터 최종자료를 제공한다고 되어 있습니다.


저는 지난주에 간소화 서비스에서 pdf 자료를 다운받아 있었는데요.


어제 다시 조회 후 지난주 자료와 비교해보니 차이가 있더군요.


저는 어제 자료에 의료비가 추가되었습니다.


혹시나 놓치시는 분들 없이 최종자료를 잘 검토하시기 바랍니다.


오늘 점심에 참치회를 먹으러 가봤습니다.
점심엔 태평양 정식이 3만원에 되네요.
실내 인테리어나 룸은 깔끔하고 좋았습니다.

정식을 시키니 초반에 회가 나오더군요.
첫 사진이 4인분의 회입니다.
그리고 회무침같은 샐러드도 나오고요.
아 태평양 정식은 리필이 안됩니다.
(원래 리필이 안되는 집인건지는 모르겠네요.)
참치회도 저같은 막입에는 나쁘진 않았는데요.
회를 좀 드셔보신 일행들의 입에는 썩 만족스럽진 않은 느낌이네요.

그리고 초밥이 나오더군요.
역시 사진은 4인분입니다.
무난하지만 구성이 아쉬운 부분이 있었죠.

그리고 콘치즈와 튀김이 나왔습니다.
이것들은 저같은 막입에겐 그냥 맛있는 것들이죠 ㅋㅋ

마지막으로 알밥과 매운탕이 나왔네요.
사진의 알밥은 1인분, 매운탕은 4인분입니다.
알밥과 매운탕 맛도 좋더군요.

아 그리고 사진은 못남겼지만 꽁치? 청어? 구이도 큼직하게 나왔었습니다.
비리지 않고 맛있었어요.

그리고 입가심용 매실차로 마무리 지었습니다.

전체적으로 인테리어도 음식도 깔끔하였습니다.
가성비 측면에선 좋은 편은 아닌듯 싶지만요.
이 동네에선 이 정도면 나쁘지도 않다고 보이네요.
다만 회를 좋아하시는 분들께 회가 조금 아쉬울 순 있을듯 합니다.
아주 맛집보단 가벼운 접대자리엔 괜찮을 것 같았습니다.
개인적으로는 잘 먹고 온 거 같습니다~ ㅋ

연말정산 서류 중에 장기주택저당차입금이자상환 이란 걸 떼려니 주택 취득 당시 기준시가 라는 걸 입력해야 하는것 같네요.

저같은 경우 주택 취득을 3년 전에 한지라 기억이 가물가물했죠.

찾아보니 국토교통부에서 부동산 공시가격 알리미라는 서비스로 매년 공시가격을 조회할 수 있었습니다.

필요하신 분들은 아래 링크 타고 들어가셔서 조회하시면 될 것 같네요.


부동산 공시가격 알리미 : https://www.realtyprice.kr:447/notice/



야밤에 연말정산 간소화 서비스 조회를 하려했는데...

조회 불가한 시간이었네요.

미리 알고 준비해야 하겠습니다.


홈택스 : https://www.hometax.go.kr/ui/pp/yrs_index.html



서비스 중지시간 : 


00시 00분 ~ 07시 59분




Naver Tech Concert Day-2

개요

  • 행사명 : Naver Tech Concert

  • URL : http://techcon.naver.com/

  • 일정 : DAY 1- 2018년 11월 1일(목) 10:00 - 17:30

    DAY 2- 2018년 11월 2일(금) 10:00 - 17:30

  • 장소 : 정자동 네이버 그린팩토리 본사 2층 CONNECT HALL

  • 일정 :

    • 11월 1일(목) D AY 1
      09:30 ~ 09:55   참가 등록
      10:00 ~ 10:10   인사말
      10:10 ~ 11:10   Android DataBinding (기초에서 고급까지) 
      11:10 ~ 12:10   MVVM with Grab architecture 
      12:10 ~ 13:30   점심시간 (별도 제공은 없습니다.) 
      13:30 ~ 14:30   디자인 1도 모르는 개발자, UX디자인 시작하기
      14:30 ~ 15:30   Material Design의 철학과 적용 사례
      15:30 ~ 16:30   Android Kotlin을 통한 개발 전략 
      16:30 ~ 17:30   Obfuscation 101: 난독화, 프로가드, R8, 트랜스포머 API
      17:30   마무리
  • 11월 2일(금) DAY 2
       09:30 ~ 09:55  참가 등록
       10:00 ~ 11:00  변화의 시대: 안드로이드 앱 어떻게 개발할 것인가?
       11:00 ~ 12:00  Efficient and Testable MVVM pattern(with using AAC, Rx, Koin)
       12:00 ~ 13:30  점심시간 (별도 제공은 없습니다.)
       13:30 ~ 14:30  내가 사랑한 개발자들
       14:30 ~ 15:30  안드로이드 웹뷰의 모든것 
       15:30 ~ 16:30  안드로이드에서 코루틴은 어떻게 적용할 수 있을까?
       16:30 ~ 17:30  자동화, 계륵에 살 붙이기
       17:30  마무리 

현장


전리품


01. 변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?

  • 발표자 : 신동길 (NAVER / 네이버앱개발)

  • 동영상 : https://tv.naver.com/v/4635525/list/272653

  • 슬라이드 : https://www.slideshare.net/NaverEngineering/21-121507374

  • 세션설명 : 변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가? 안드로이드는 끊임없는 OS 버전 뿐만아니라 개발 언어, 구조, GUI등 많은 부분에서 다양항 변화가 시도되고 있습니다. 많은 방법론과 라이브러리가 제공되다보니 어떤 전략과 기준으로 개발해야하는지 혼돈스러울 때가 많습니다. 네이버 앱의 개편에 적용한 기술 사례와 방법론을 통해서 효율적인 앱 개발애 대해서 얘기하고자 합니다.

네이버 앱을 개편하면서 고민한 것들에 대한 이야기들.

  • 무엇이 변했는가?
    • Hardware, Platform, 프레임워크, 자바, FP vs OP
  • 앱의 구조.
    • Activity, Intent, Ui Navigation, Event Dispatching, 멀티프로세스
  • Design Architecture 적용
  • Multi Package
  • 다양한 Framework의 활용

02. Efficient and Testable MVVM pattern

Koin으로 DI를 하고 AAC, Rx를 조합한 MVVM 패턴 소개

  • Android 코드 아키텍쳐
    • why/what/how MVVM
  • Koin
  • Android MVVM, Koin, Rx 적용 예
  • Spek + LiveData를 활용한 Test
  • 기타 Tips

03. 내가 사랑했던 개발자들 : 더 나은 협업을 위한 디자이너, 기획자 이해하기

디자이너, 기획자의 일과 생각들 그리고 협업에 대해서 소개.

  • 디자이너, 기획자의 역할
    • UI, 인터렉션, BX, Graphic, UX 디자이너/기획자
  • 디자이너, 기획자의 생각
    • px에 민감한 이유, UX적 해결방법
  • 협업 및 커뮤니케이션에 대한 고민
  • 디자인에 필요한 것들

04. 안드로이드 웹뷰의 모든것

웹뷰의 역사 및 동작 원리에 대한 설명.

  • 안드로이드 웹뷰 소개 및 역사 그리고 파편화
    • 크롬과 크로미움
  • 크로미움은 어떻게 동작하는지
  • 안드로이드 크로미움은 어떻게 동작하는지
    • 웨일, 크롬과의 차이 등

05. 안드로이드에서 코루틴은 어떻게 적용할 수 있을까? : 코루틴 적용 및 ReactiveX(RxJava/RxKotlin)와 비교한다면?

코루틴 적용 및 ReactiveX(RxJava)와 비교

  • Kotlin coroutines 소개
    • Kotlin coroutines vs RxJava
  • Kotlin coroutines 기능들
  • blocking, non-blocking, CoroutineScope, GlobalScope, suspend, Job
  • Android에서의 활용
    • 클릭 이벤트 처리시 Kotlin coroutines vs RxJava

06. 자동화, 계륵에 살 붙이기 : Evolution of Android Automation Test

자동화 테스트 툴 제작 내용 및 후기.

  • UI 자동화 테스트 제작 히스토리
  • 자동화 라이브러리 소개
    • Appium 사용하여 제작한 라이브러리 사용 예제 등
  • Event Checker 소개
    • 자동화 테스트시 단말 이벤트에 대한 로그 수집용
  • Resource Monitoring 소개
    • 테스트시 리소스 상태 모니터링용


'IT > 행사' 카테고리의 다른 글

[행사] 2019 NHN Forward  (3) 2019.11.27
[행사] Naver Tech Concert Day-1 요약  (0) 2019.01.14
[행사] Naver Tech Concert Day-2 06  (1) 2019.01.14
[행사] Naver Tech Concert Day-2 05  (0) 2019.01.14
[행사] Naver Tech Concert Day-2 04  (0) 2019.01.14

Naver Tech Concert Day-1

개요

  • 행사명 : Naver Tech Concert

  • URL : http://techcon.naver.com/

  • 일정 : DAY 1- 2018년 11월 1일(목) 10:00 - 17:30

    DAY 2- 2018년 11월 2일(금) 10:00 - 17:30

  • 장소 : 정자동 네이버 그린팩토리 본사 2층 CONNECT HALL

  • 일정 :

    • 11월 1일(목) D AY 1
      09:30 ~ 09:55   참가 등록
      10:00 ~ 10:10   인사말
      10:10 ~ 11:10   Android DataBinding (기초에서 고급까지) 
      11:10 ~ 12:10   MVVM with Grab architecture 
      12:10 ~ 13:30   점심시간 (별도 제공은 없습니다.) 
      13:30 ~ 14:30   디자인 1도 모르는 개발자, UX디자인 시작하기
      14:30 ~ 15:30   Material Design의 철학과 적용 사례
      15:30 ~ 16:30   Android Kotlin을 통한 개발 전략 
      16:30 ~ 17:30   Obfuscation 101: 난독화, 프로가드, R8, 트랜스포머 API
      17:30   마무리
  • 11월 2일(금) DAY 2
       09:30 ~ 09:55  참가 등록
       10:00 ~ 11:00  변화의 시대: 안드로이드 앱 어떻게 개발할 것인가?
       11:00 ~ 12:00  Efficient and Testable MVVM pattern(with using AAC, Rx, Koin)
       12:00 ~ 13:30  점심시간 (별도 제공은 없습니다.)
       13:30 ~ 14:30  내가 사랑한 개발자들
       14:30 ~ 15:30  안드로이드 웹뷰의 모든것 
       15:30 ~ 16:30  안드로이드에서 코루틴은 어떻게 적용할 수 있을까?
       16:30 ~ 17:30  자동화, 계륵에 살 붙이기
       17:30  마무리 

현장


전리품


01. 인사말


02. Android DataBinding (기초에서 고급까지)

PRISM Live Studio 앱에서 데이터바인딩을 전면적으로 사용 후 데이터바인딩의 사용방법에 대한 회고

  • 안드로이드 앱에서 DataBinding 셋팅

  • xml에서의 Setter

  • BindingAdapter

  • Observable

  • BindingMethod

  • Set Method

  • Two-way Binding

  • include와 ViewStub에서의 데이터 바인딩

  • Q & A


03. MVVM with Grab Architecture

  • 발표자 : 정승욱 (Grab / 안드로이드 개발)
  • 동영상 : https://tv.naver.com/v/4637223
  • 슬라이드 : https://www.slideshare.net/NaverEngineering/12mvvm-grab-architecture-mvvm
  • 세션설명 : 구글이 Android Architecture Component 의 ViewModel 을 발표하면서 다양한 시각의 MVVM 구현이 제시되고 있습니다. 여전히 많은 사람들이 혼동하는 MVVM 구현에 대해 올바른 안드로이드 MVVM 구현을 공유하고자 합니다. 이를 위해 안드로이드에서 어떠한 기본 작업이 선행되어야 하는지, 다양한 문제 상황에 대한 해결책에 대해 알아보고 MVVM 이 Grab 에서 어떻게 활용되고 있는지 알아보겠습니다.

안드로이드 MVVM의 올바른 구현과 그랩에서 사용하고 있는 아키텍처 소개.

  • 국내 안드로이드 MVVM의 이해의 일반적인 오해 및 올바른 이해
  • 안드로이드 MVVM에서 DataBinding 적용시 문제점들 및 그랩의 해결방안
  • 그랩의 협업을 위한 아키텍처 (MVVM + 단일 액티비티 with Node)
  • Q & A

04. 디자인 1도 모르는 개발자, UX디자인 시작하기

  • 발표자 : 최유리 (N Tech Service / NTS UX디자인실 설계&콘텐츠운영디자인)
  • 동영상 : https://tv.naver.com/v/4646101/list/272653
  • 슬라이드 : https://www.slideshare.net/NaverEngineering/13-1-ux-ux-121402323
  • 세션설명 : 통계에 따르면 2018년 1분기에는 앱스토어에 약 220만개, 구글플레이에 약 380만개의 앱이 등록되어 있다. 이 치열한 경쟁속에서 사용자에게 오래도록 사랑받는 앱이 되려면 UX디자인은 선택이 아닌 필수다. UX디자인은 디자이너만의 영역이 아닌 개발팀 모두가 함께 만들어내야하는 가치이다. UX디자인에 관심을 갖고 참여한 개발자가 서비스 성공에 어떤 역할을 해 내는지 알아보자.

개발자의 UX 디자인 참여의 필요성과 실제사례 후기

  • UX 디자인이란?
  • UX 디자인에 참여함으로 얻을 수 있는 것들
  • UX 디자인시 고려해야 하는 것들

05. Material Design의 철학과 적용 사례

구글 머티리얼 디자인의 과거와 현재

  • 머티리얼 디자인의 히스토리
  • 새로운 머티리얼 디자인
  • 머티리얼 파운데이션
  • 머티리얼 디자인 가이드 라인
  • 안드로이드에서 머티리얼 디자인 컴포넌트 사용하기

06. Android Kotlin을 통한 개발 전략

  • 발표자 : 신동길 (네이버 / 네이버앱개발)
  • 동영상 : https://tv.naver.com/v/4655590/list/272653
  • 슬라이드 : https://www.slideshare.net/NaverEngineering/15android-kotlin
  • 세션설명 : 코틀린을 안드로이드에 적용하기 위해서는 안드로이드에 맞는 모듈의 개발, 거버넌스, 코딩 패턴, 디자인 패턴 등의 전략적 고려 사항이 필요합니다. 네이버앱에 코틀린을 적용한 경험을 토대로, 기존 프로젝트(또는 신규 프로젝트)에 코틀린을 적용할 때 반드시 고려해야 할 사항과 적용하면서 나온 사례를 통해서 최적화된 적용 방법을 공유합니다.

네이버의 코틀린 개발 전략 사례

  • 네이버의 코틀린 적용 경험담
  • 자바와 코틀린의 차이. 코틀린에서도 DSL 사용시 차이.
  • 코틀린의 기술들
  • 자바를 코틀린의 변환시 참고사항
  • 코드 효율화를 위한 툴킷 정의와 활용
  • 팀 공동 개발을 위한 거버넌스
  • Q & A

07. Obfuscation 101: 난독화, 프로가드, R8, 트랜스포머 API

  • 발표자 : 김용욱 (카카오뱅크)
  • 동영상 : https://tv.naver.com/v/4655623/list/272653
  • 슬라이드 : https://www.slideshare.net/NaverEngineering/16obfuscation-101-r8-api
  • 세션설명 : 안드로이드의 앱들은 현재 프로 가드를 통해서 보호되고 있고 향후로는 구글이 작성한 R8으로 대체할 예정에 있다. 난독화 도구들을 써봤지만 막연히 쓰는 경우가 많은데 난독화 도구가 어떤 일을 하고 있고 기본적인 메커니즘이 어떻게 구현되어있는지 프로가드, R8은 무엇인지, 그리고 안드로이드 빌드 과정에 어떻게 통합되는지를 살펴보는 시간을 갖는다.

안드로이드 코드/컴파일러 특징 및 빌드 과정

  • 안드로이드 코드의 특징
  • 자바와 달빅 바이트 코드 소개
  • Transform API 소개
  • 동적 컴파일러 동작 소개
  • 난독화 및 앱 보호에 대한 이론
  • ProGuard와 R8의 역할


'IT > 행사' 카테고리의 다른 글

[행사] 2019 NHN Forward  (3) 2019.11.27
[행사] Naver Tech Concert Day-2 요약  (0) 2019.01.14
[행사] Naver Tech Concert Day-2 06  (1) 2019.01.14
[행사] Naver Tech Concert Day-2 05  (0) 2019.01.14
[행사] Naver Tech Concert Day-2 04  (0) 2019.01.14

Naver Tech Concert Day-2

06. 자동화, 계륵에 살 붙이기 : Evolution of Android Automation Test

  1. UI Automation Test
  2. Automation Library
  3. Android Event Checker
  4. Resource Monitoring

UI Automation Test

사용자의 테스트 동작 중 화면상의 마우스 동작, 키보드 입력 등을 자동화 수행이 가능한 script 형태로 변환하여 이후 동일한 형태로 Replay 함으로써 Regression Test 를 지원하는 테스트 자동화 방식

  • 단순하고 반복적인 테스트
  • 유지보수 기간 길어질수록 Test Case도 많아짐
  • Side-effect 확인을 위한 회귀 테스트 (작은 수정에도 전체 확인이 가능)

N Tech Service에서의 히스토리

  • Calabash, ADB, Sikuri, Appium, BDD 방식을 활용한 자동화 사례
  • Uiautomator Stub 활용한 멀티 디바이스 제어 자동화 사례
  • WebKuli(NTS 자체 제작) 적용사례

자동화 결과는 좋지 않았음.

이슈를 실제 검출하는 경우도 적고 프로젝트 유지가 오래된 케이스도 저었음.

  • 기대에 미치치 못하는 Test Coverage
  • Tool 이해도 부족
  • 자동화 구현 및 유지보수 공수 상승 (리소스 절감을 위해 도입했다 더 리소스가 투입된 경우도 있음)
  • 정보 공유 부족

Automation Library

표준화 및 규칙화를 위해 라이브러리 제작.

제작 당시 안드로이드 프레임워크 비교 후 Appium을 선택함.

public class TestClass {
    public AppiumDriver<WebElement> driver;
    
    @BeforeClass
    public void setup() throws Exceptiom {
        // 플랫폼, 단말기 정보,테스트 타켓 패키지 정보
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
        capabilities.setCapability(MobileCapabilityType.UDID, "UDID");
        capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "platform-version");
        capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UIAutomator2");
        capabilities.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "package");
        capabilities.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, "launchable-activity");
        
        // 안드로이드 드라이버 형성
        driver = new AppiumDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
        driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
    }
    
    @Test
    public void scenario_01() {
        // 동작 제어
        driver.findElement(By.id("tv_home_weekly_schedule_title")).click();
    }
    
    @Test
    public void scenario_02() {
        // 동작 제어
        driver.findElement(By.xpaht("//*[@text='요일별 연재']")).isDisplayed();
    }
    
    @AfterClass
    public void quit() {
        driver.quit();
    }
}

라이브러리 제작 전 고려사항

  • 자동화 테스트 환경 Setting (환경 일원화)
  • 자동화 구현 패턴 표준화 (스크립트 작성에 대한 표준화)
  • Appium Client API의 사용성 (가독성 높이고 타이밍 이슈에 대한 부분 커스텀마이징 추가)
  • 객관적 지표 산출

구성

  • Appium Server Builder
  • Appium Client Utilities
  • Report
public class TestClass extends Formatter {
    public AndroidUtil android;
    
    @BeforeClass
    public void setup() {
        android = (AndroidUtil) new Automation()
            .android()
            .mobileApp()
            .apkFile("apkPath")
            .packageName("Package_Name")
            .activityName("Activity_Name")
            .logLevel("loglevel")
            .start());            
    }
    
    @Test
    public void scenario_01() {
        android.click(By.id("tv_home_weekly_schedule_title"));
    }
    
    @Test
    public void scenario_02() {
        android.isElelmentPresent(By.xpath("//*[@text='요일별 연재']"));
    }
    
    @AfterClass
    public void quit() {
        android.quit();
    }
}

위처럼 커스텀하여 사용하며 운영도 실제 진행함.

UI 자동화 테스트 자체적으로 발생하는 이슈들 생김

  • UI Assertion 대한 신뢰성
    • 음악 스트리밍 앱에서 재생 중인지?
    • Audio Focus는 가져왔는지?
  • 자동화 시나리오 진행 중 안정성 문제
    • 자동화 테스트 중 Interrupt (SMS, Call 등)
    • 알 수 없는 간헐적 Fail Result

Android Event Checker

Event Checker

  • Log 출력 방식
  • Monitoring Start/Stop
  • Event Log

구조

  • Service
  • Command
  • Broadcast Receiver
  • Sensor : 기울기 센서를 이용하여 orientation 전환 확인
  • Audio Focus, Audio Manager : Audio Focus 선점 및 Audio 재생 확인
  • Notification Listener : Application Notification 정보 수집

약 30개 Event, 80개 Log

위와 같이 UI만 확인하던 UI 테스트에 기능적인 부분도 추가함.

Resource Monitoring

  • 동일 스텝
  • 동일 시간
  • 반복적

rMon Mobile Version

  • Battery 소모량
  • CPU 사용률
  • Memory 사용량
  • 발생 Traffic

rMon을 이용하여 앱을 켜둔 상태에서 테스트하며 성능 리포트를 남기게 함.

(Android 5.1.1 이후 사용 불가. rMon이 CPU나 Memory를 앱의 pid에 접근해야해서 불가됨.)

rMon PC Version

Android 5.1.1 이후 대응을 위해 PC 버전으로 adb 기반으로 제작.

  • ADB를 활용한 Resource 측정 방식
  • Android Application의 소모 CPU, Memory, Traffic 측정
  • Android 단말기 내부에 rMon 명령어 추가
  • ADB > rMon 명령어 호출하여 리소스 데이터 수집

Android Automation Test

  • GitLab으로 Automation Test Project 관리
  • CI 서버를 통해 Daily Build 수행 (서버 이슈, 컨텐츠 이슈, 로그인/댓글 같은 부분 배포로 인한 이슈 확인 용. 출근 후 확인)

Maver Repository -> Coding -> Code Respository -> CI 서버 -> Target Device -> Result Report

nMobile

https://solution.navercorp.com/nmobile/

모바일 기기 원격 제어 솔루션

  • 화면 제어, 디버깅 등
  • Real Time에 가까운 응답속도
  • 실제 단말과 동일한 사용감 제공

nMobile 자동화 연동시 장점

  • 가상 단말 아닌 리얼 디바이스 대상 수행 가능
  • 다양한 단말 보유 (버전 별, 제조사 별, 국가 별)
  • ADB 연결 가능 / 다양한 API 지원
  • 물리적인 연결 없이 접근 가능 / 사용 용이성

PC Browser & iOS

nMobile Android 단말과 실제 iOS 단말, PC 크롬에서 채팅 네이버 카페 채팅방 테스트 가능

  • Step1 nMobile Android 단말기 실행 및 연결
  • Step2 nMobile Android 단말에서 Cafe 앱 실행
  • Step3 실제 iOS 단말에서 Cafe 앱 실행
  • Step4 PC에서 Chrome 실행 및 Cafe 홈페이지 진입
  • Step5 PC웹 및 Android/iOS 앱에서 테스트 대상 카페 진입
  • Step6 PC웹 및 Android/iOS 앱에서 테스트 대상 카페 채팅방 진입
  • Step7 각 플랫폼에서 채팅 입력 후 다른 플랫폼에서 전송된 채팅 확인 및 답장
  • Step8 연결 종료

Result

  • Library를 이용한 안정적인 자동화 프로젝트 생성
  • 외부 인터럽트 및 기능 Assertion에 대한 단점 보완
  • 자동화 특성 반영 Resource Monitoring

Q & A

Q : 네이버는 자동화 테스트와 QA 인력들의 수동 테스트 둘다 진행하는지?

A : 둘 다 진행함. 자동화 테스트를 한다고 비용이 절감되지 않고 증대되는 듯. 사람과 자동화와 서로 교차 테스트 됨으로 해결되는 부분들이 잇음.

Q : 라이브러리 제작 시간은?

A : 2016년도 제작하면서 각자 QA 담당하면서 시간 쪼개서 만든 것임. 제작에 전적으로 시간 투자하면 빨리 가능할 듯.

Q : Appium이 iOS도 지원하지만 앱 내부 구조가 다를텐데 따로 스크립트를 작성하는지?

A : 동일한 기능에도 따로 작성함. iOS는 아직은 자동화 테스트 구현에 어려움이 있음.

Q : 자동화된 UI 테스트가 라이브 서비스의 패포 파이프라인에 포함이 되어 테스트 통과가 되어야 배포가 되는것인지?

A : 그렇지 않음. 개발자들이 유닛 테스트들을 별도로 따로 작성 후 확인하고, 자동화 테스트는 QA에서만 사용.

Q : nMobile은 리얼 디바이스처럼 와이파이 환경일때나 모바일 네트워크 환경일 때, 또는 유심이 들어있는 상황에서만 할 수 있는 상황도 연출이 가능한지?

A : 그런 상황들도 테스트 가능함.

Q : CI/CD는 어떻게 하는지?

A : CI 서버는 따로 두고 젠킨스로 있음.

Q : 자동화 테스트 툴을 오픈할 계획이 있는지?

A : 아직 오픈되진 않았음.

Q : 테스트 시나리오 작성시 사용자 행위로 서버에 변경되어 저장될 수 있는 케이스는 어떻게 처리하는지?

A : 서버까지는 확인이 불가하며, 노출되는 텍스트 등으로 확인 정도까지만.

Q : QA에 개발 인력도 소속되어 별도의 자동화를 위한 개발이 이루어지는 것인지?

A : 따로 개발인력이 있지 않음. 몇몇의 QA 인력들이 모여 만듬.

Q : 실제 기능 구현 개발자는 자동화 테스트 코드를 작성하지 않는지?

A : 직접 작성하는 개발자도 있지만 많이는 없는 듯. 시간이 많이 들기 때문에.

Q : 리소스가 부족한 소규모 사업장, 1인 개발자 들이 UI 자동화 테스트에 접근하려 할 때 좋은 방법은?

A : Appium을 직접 커스텀하여 만들었지만 이를 커스텀화한 서비스들이 이미 있음. 그걸 이용하면 좋을 듯.

Q : Jira 같은 서비스를 이용해서 각각의 이슈를 만드는지? 별도의 QA 시트를 만들어서 빨리 전달하는지?

A : 지라를 이용하여 이슈 공유함. 깃헙을 사용하기도 함. 개발자와 협의해서 사용함. 별도의 QA 시트도 작성하고 테스트케이스도 작성하여 진척도를 메일로 공유하는 등 같이 사용함.

Q : 국가 변경 등 보통 개발자 옵션 페이지 등으로 접근하는 경우도 범용적으로 사용 가능한 노하우가 있는지?

A : 개발서버에서 테스트하기 때문에 특정 언어를 바꾸거나, nMobile에서 제공하는 다른나라 단말 등을 사용함.

+ Recent posts