Technical Note/TEST AUTOMATION

누가 : 자동화 툴이 

언제 : 업무시간 또는 업무시간 외에

어디서 : 어디서든

무엇을 : 반복되는 테스트 케이스에 대해서 

왜 : 효율화를 위해 (시간, 인력) 

어떻게 : 자동화 툴이 알아서 


무엇을 얻을수 있을까?


모바일 환경에서...테스트 자동화의 필요성 --> ???

  --> 누가 언제 어디서 왜 


그렇다면 어떻게 우리가 업무 효율성을 높일수있을까 

모바일 환경에서 테스트 자동화에 대해서 

시현 또는 그림을 통해 전체 자동화 테스트 Flow를 전달한다.

이것을 도와주는 솔루션으로 Appium이 있음 (이외에도 ....가 있음)

 

 이때 어려운 용어들이 나타남

      - webdriver

      - selenium

      - webdriver json wire protocol

      - Uiautomator

     일단 이런것은 차차 알아가면 될것이고 이 발표에서는 각각의 개념은 넘어가겠음

appium이란 무엇인가 --> 테스트 환경을 그림으로 표현하여 Appium의 기능을 한눈에 전달

전체 동작 방식을 그림으로 표현

이것을 사용하기 위해서 우리가 해야할일

  - 테스트 환경 만들기 --> 이것이 제일 어려우며 오래 걸림 (follow를 해준것임) --> 교육 시간 마련 

  - Java에 대한 언어 익숙해지기 ---> 스크립트 작성을 위한 교육시간 마련 

    --> xpath에 대해서 익숙해지기? xpath를 꼭 사용해야 하나

  - 모바일 장비에 대한 기술적 개념 익히기 

샘플 앱을 사용하여 보여줌

이후 계획

  - 중요 앱에 대해서 확장할 계획

  - 효율적인 스크립트 작성을 위해 API를 제공할 것임

    - 공용스크립트 (로그인 등) 생성

  - 스크립트를 유지 보수 with git or svn

  - CI 연동

  - 화면 캡처 및 리포트

  - 원격관리, 다수모바일 지원


테스트 자동화의 가장 큰 난관

- 스크립트 작성에 걸리는 시간

- 스크립트에 대한 잦은 유지보수

- 자동화 툴에서 지원되지 않는 역영은 테스트에서 제외

- 스크립트의 유통기한이 짧다

  --> 잘 돌아가다가 예외 경우 잘 안돌아가는 경우가 있음 

       스크립트를 만들면서 계속 수정이 필요할수있음 그래서 안정화 단계가 필요함 

       


스크립트 작성 방법

1. class 매칭 방법 

2. Text  매칭 방법 --> xpath를 알아야 함

3. HTML 태크 방법 x



(나중에) 스크립트 작성 도구 생성  

테스트 케이스(TC) --> 자동화 스크립트로 자동으로 transfomation

액션(동사), 대상(목적어)

이미지 클릭은 어떻게? --> tolerance값을 사용해서 색을 통해 이미지를 찾음 --> 후보군이 많이 나옴 --> ㅇ  




guitar는 모바일에서 어떻게 테스트를 수행하는가

Emulator (AVD) 를 컨트롤

VNC 를 통해서 (원격기능) 

VNC 서버를 모바일 장비에 설치