Technical Note/TEST AUTOMATION

1. 테스트 자동화가 기본적으로 갖춰야 할 틀인 자동화 프레임웍에 대해서


모바일 crash 재현을 시작으로 프레임 웍 개발까지
- ~ 어플리케이션이 예기치 않게 종료되었습니다 란 메세지와 함께 종료
- 이런 메세지 조차 없이 버튼하나 눌렀는데 앱 종료
- 앱은 살아있는데 반응이 없는 경우
—> 음.. 장기적인 구동으로 인한 메모리 릭일수있음 
—> 그래서 프로그램은 계속 무한히 구동시켜서 재현해보자
—> 결과로는 얼마나 스크립트가 구동되었다가 죽었는가? 몇번이나 반복에서 스크립트가 동작했가? 
—> 스크립트 시작, 일시정지, 오동작 시, 예외상황시 모두 로그에 기록
—> 실제 메모리가 얼마나 할당되는지 알기 위해 작업관리자도 함께 봄
—> 테스트 하면서 프로세스의 메모리를 얻어와 기록하는 작업도 함꼐 해 볼까
—> 보기 좋은 레포트 기능 


단순한 스크립트라 할지라도 사실은 굉장히 많은 기능 또는 프로그램 내부적인 함수들을 거치는 경우가 많다.
이를 모르는 상태로 접근하면… 잘못된 접근을 하게 되어 시간낭비 할수있다.

프레임웍에서 제공했으면 하는 기능
1. Setup 기능 : OS 및 App 설치 및 테스트에 필요한 설정 자동 설치
2. Excution 기능 : Full 기능 테스트 자동화 / 주요 기능 테스트 자동화 / 성능 테스트 자동화 / 
기본적으로 간단한 스크립트로 장시간 수행해야 하는 테스트는 충분히 커버할 것이다. 
3. Analysis 기능 : 부석을 위해서 스크립트 구동에 대한 로깅과, 구동중 메모리에 대한 로깅은 기본적으로 제공해야 함. 
예) 예외상황에 fail 처리 / 작동 중지 팝업 발생 시 fail 처리
4. Reporting 기능 
5. Help 기능 : 공유할 수있는 문서나 자주 스는 스크립트의 기본 함수는 문서나 설명으로 정리, 공유하도록 

중요 
과도한 자동화나 목적에 맞지 않는 자동화는 실패하기 쉽다