Debugging and testing in Android Studio (Ep 4, Android Studio)

코드의 버그를 잡느라 많은 시간을 보냈거나 성능의 문제를 찾기 위해 스토어에 앱을 발매한 적이 있다면 최근 버전의 안드로이드 스튜디오에 추가된 새로운 디버깅과 테스트에 고마워하게 될 겁니다 한 번 살펴 보죠 안드로이드 스튜디오에서 이용 가능했던 메모리 모니터에 새로운 CPU 모니터가 가능해졌습니다 이 기능은 앱의 운영이 기기에 주는 영향을 개략적으로 설명해, 성능의 문제를 미리 발견할 수 있도록 해 줍니다 더 자세한 정보가 필요하면 당장이라도 객체 추적 할당의 시작과 나중 분석을 위한 메모리의 폐기 심지어 IDE로부터 직접추적방식을 시작할 수 있습니다 또한 새로운 성능 캡쳐 판은 제작된 모든 레포트에 빠르게 접근하도록 해줍니다 이는 손실되고 있는 메모리를 찾거나 앱 성능의 입계영역 확인에 유용합니다 더 좋은 점은, 메모리 손실이 어디서 기인하는 지 코드의 어떤 조각이 앱의 조회를 막는 지 찾고 무가치한 데이터로의 수집을 방지하는 것입니다 라이프디버깅 세션에서 이러한 정보를 즉시 볼 수 있습니다 첫 번째, 디버그 버튼을 사용하여 앱을 실행하거나 작성 프로세스를 사용합니다 접속에 성공하면, IDE는 개발자가 명시하는 모든 지점의 진행을 중단시킬 것입니다 이제 객체 대상 명령을 선택하여 현재 브라우저 모두에서 필요한 정보를 얻을 수 있죠 단계적인 디버깅에 대해 이야기 하자면 프로젝트에서 놓친 소스코드를 찾기위해 서드 파티 라이브러리를 이용한 적이 있나요? 안드로이드 스튜디오는 새로 자바가 포함된 역컴파일으로 여러분을 도울 것입니다 이제부터 언제든지 내부 클래스를 확인하고자 할 때는 단지 에디터에서 JAR 파일을 한번 클릭하면 됩니다 심지어 중단점을 지정하여 편집된 코드의 내부에서 디버깅을 할 수도 있습니다 정말 좋지요? 안드로이드 스튜디오 12의 또 다른 훌륭한 특징은 코드 편집자의 디버깅 시 로컬 브라우저에서의 인라인의 값입니다 따로 변수 판에서 찾을 필요가 없습니다 마우스를 움직여 연산자 식을 볼 때 결과 값이 팝업되는데 더 자세히 보기 위해 마우스를 변수에 놓는 것과 같습니다 하지만 아시다시피 디버깅에 있어서 최악은 디버깅 자체입니다 그것이 바로 개발자가 앱을 처음부터 테스트 해야하는 이유입니다 발전한 그래들 플러그인과 안드로이드 스튜디오 덕에 자동 테스트를 작성하고 실행하는 방법이 가능합니다 테스트 주도적인 개발이건, 빠른 코드 테스트건 단지 코드를 빠르게 테스트하기를 원하건 테스트를 기기로 배치해야 하는 게 가장 귀찮은 일입니다 이것은 상당한 시간이 걸립니다 안드로이드 스튜디오 1

1부터 로컬 JVM을 쓰는 기계의 개발 운영 유닛 테스트 지원이 있습니다 우선 JUnit 테스트를 개발자 안드로이드 모듈의 테스트 폴더에 넣습니다 테스트 테스크를 작동 시킬때 그래들은 특별 버전의 안드로이드 JAR을 생성합니다 JAR는 워킹 코드가 아니기 때문에 아무 프레임워크나 사용하면 안 됩니다 MOckito같이 잘 알려진 가상 라이브러리 하나를 사용해서 안드로이드 의존성을 점검해 보세요 기기의 운영을 위해 필요한 테스트는 충분한 프레임워크가 필요하며 안드로이드 테스트 소스 세트를 사용할수 있습니다 이런 테스트는 앱과 대상 기기 또는 에뮬레이터와 함께 배치될 수 있습니다 안드로이드 스튜디오와 그래들의 일부는 아니지만 최근에 출시된 라이브러리는 포함클래스가 많아 작성과 테스트의 운영을 도와줍니다 안드로이드 테스팅 서포트 라이브러리라고도 부릅니다 안드로이드 서포트저장소에서 이것을 찾을 수 있습니다 이것은 최신 테스팅 프레임워크와 구글이 만든 APIs를 제공하는데 여기엔 서포트를 위한 JUnit과 안드로이드 테스트 러너, 기능적 UI 테스팅을 위한 에스프레소 라이브러리 UIAutomator 등이 포함 되어 있습니다 프로젝트 테스트 운영의 설치에 대해서는 안드로이드 테스팅 서포트 라이브러리를 사용하는 방법을 알고 싶으면 다음 링크를 확인하여 문서와 샘플을 찾으십시오 안드로이드 스튜디오를 이용한 앱 디버깅에 관련한 질문이나 제안이 있으면 Google+커뮤니티의 토론에 참가하세요 그럼 다음에 뵙겠습니다 [음악재생]