사용자 인터페이스(UI) 테스트를 통해 앱이 기능 요구사항을 충족하고 높은 수준의 품질을 달성하는지 확인하여 사용자가 앱을 채택할 가능성이 커지도록 할 수 있습니다.
한 가지 UI 테스트 접근 방식은 단순히 테스터가 타겟 앱에서 일련의 사용자 작업을 실행하도록 하고 올바르게 작동하는지 확인하는 것입니다. 하지만 이 수동 접근 방식은 시간이 오래 걸리고 지루하며 오류가 발생하기 쉽습니다. 보다 효율적인 접근 방식은 사용자 작업이 자동화된 방식으로 실행되도록 UI 테스트를 작성하는 것입니다. 자동화된 접근 방식을 사용하면 반복 가능한 방식으로 테스트를 빠르고 안정적으로 실행할 수 있습니다.
참고: 테스트 앱 빌드에는 프로젝트 설정, 라이브러리 포함 및 패키징 편의성을 제공하는 Android 스튜디오를 사용하는 것이 좋습니다. 이 과정에서는 Android 스튜디오를 사용한다고 가정합니다.
Android 스튜디오를 사용하여 UI 테스트를 자동화하려면 별도의 Android 테스트 폴더(src/androidTest/java
)에 테스트 코드를 구현합니다. Gradle용 Android 플러그인은 테스트 코드를 기반으로 테스트 앱을 빌드한 후 타겟 앱과 동일한 기기에 테스트 앱을 로드합니다. 특정 사용 시나리오를 포괄하는 테스트 작업을 실행하기 위해 테스트 코드에서 UI 테스트 프레임워크를 사용하여 타겟 앱에서의 사용자 상호작용을 시뮬레이션할 수 있습니다.
Android 앱을 테스트하는 경우 일반적으로 다음과 같은 유형의 자동화된 UI 테스트를 만듭니다.
- 단일 앱에 걸친 UI 테스트: 이 유형의 테스트는 사용자가 특정 작업을 실행하거나 활동에 특정 항목을 입력할 때 타겟 앱이 예상대로 작동하는지 확인합니다. 이 테스트에서는 타겟 앱이 앱 활동의 사용자 상호작용에 관한 응답으로 올바른 UI 출력을 반환하는지 확인할 수 있습니다. Espresso와 같은 UI 테스트 프레임워크를 사용하면 프로그래매틱 방식으로 사용자 작업을 시뮬레이션하고 복잡한 앱 내 사용자 상호작용을 테스트할 수 있습니다.
- 여러 앱에 걸친 UI 테스트: 이 유형의 테스트는 다양한 사용자 앱 간 또는 사용자 앱과 시스템 앱 간 상호작용이 올바르게 작동하는지 확인합니다. 예를 들어 카메라 앱이 타사 소셜 미디어 앱 또는 기본 Android 포토 앱과 이미지를 올바르게 공유하는지 테스트하려고 할 수 있습니다. 이때 앱 간의 상호작용을 지원하는 UI 테스트 프레임워크(예: UI Automator)를 사용하여 이러한 시나리오에 관한 테스트를 만들 수 있습니다.
이 과정에서는 AndroidX 테스트의 도구 및 API를 사용하여 이러한 유형의 자동화된 테스트를 빌드하는 방법을 알려줍니다. 이러한 API를 사용하여 테스트 빌드를 시작하기 전에 AndroidX 테스트용 프로젝트 설정에 설명된 대로 AndroidX 테스트를 추가하세요.
과정
- 단일 앱의 UI 테스트
- Espresso 테스트 프레임워크를 사용하여 단일 앱의 UI를 테스트하는 방법을 알아봅니다.
- 여러 앱의 UI 테스트
- UI Automator 테스트 프레임워크를 사용하여 여러 앱의 UI를 테스트하는 방법을 알아봅니다.
참고 자료
Android 테스트에서 Espresso를 사용하는 방법에 관한 자세한 내용은 다음 자료를 참조하세요.
샘플
- Espresso 코드 샘플: 가능한 모든 Espresso 샘플이 포함되어 있습니다.
- BasicSample: 기본 UI Automator 샘플입니다.
- 더보기