모바일 앱의 자동화된 테스트의 어려움
모바일 앱의 자동화된 UI 테스트는 오랫동안 어려움이 있었습니다. 그 어려움은 UI의 "변경"에 있습니다. 자동화된 사용 사례. 계층 테스트의 관점에서 자동화된 테스트는 계층별로 수행되어야 합니다. 자동화된 테스트 중 가장 많은 수는 구현하기가 가장 쉽고 초기 단계에서 문제를 발견하는 것이 가장 쉬운 단위 테스트여야 하며, 인터페이스 이후 로직 검증을 위해 자동화되는 인터페이스 수준 테스트가 뒤따릅니다. 상대적으로 안정적이며 자동화된 테스트 비용이 상대적으로 낮습니다. 가장 큰 자동화 비용은 UI 수준의 자동화된 테스트입니다. 그러나 UI 인터페이스는 사용자에게 직접 피드백되는 효과 표시입니다. 레벨 자동화 테스트도 매우 필요합니다.
이러한 문제를 해결하려면 몇 가지 자동화된 테스트를 도입해야 합니다. 이제 시간이 생겼으니, 테스터들이 자동화 프레임워크를 선택할 때 참고할 수 있도록 Android에서 일반적으로 사용되는 여러 자동화 테스트 프레임워크의 유사점과 차이점을 요약하겠습니다!
Android일반적으로 사용되는 여러 가지 자동 테스트 프레임워크비교
1. Monkey는 테스트 프로세스 중에 의사 무작위 사용자 이벤트 스트림을 다음으로 보냅니다. 키 입력, 터치 스크린 입력, 제스처 입력 등의 시스템)을 사용하여 개발 중인 애플리케이션의 스트레스 테스트를 구현하고 로그 출력도 제공합니다. 이 도구는 실제로 프로그램에 대해 일부 스트레스 테스트만 수행할 수 있습니다. 테스트되는 이벤트와 데이터는 무작위이고 사용자 정의할 수 없기 때문에 큰 한계가 있습니다.
Android SDK에서 제공하는 또 다른 테스트 도구는 MonkeyRunner입니다. 엄밀히 말하면 MonkeyRunner는 실제로 Monkey보다 더 강력하고 테스트 스크립트를 작성하여 데이터와 이벤트를 사용자 정의할 수 있는 API 도구 키트입니다. 스크립트는 Python으로 작성되어 테스터의 기술 수준이 높아야 하기 때문에 학습 비용이 상대적으로 높다는 것이 단점입니다.
3. Robotium은 주로 특정 APK에 대한 자동화된 테스트를 수행하는 테스트 프레임워크입니다. APK에는 소스 코드가 있을 수도 있고 없을 수도 있으며, 테스터가 특정 Java 기반을 갖추고 있어야 한다는 점은 강력합니다. Android 기본 구성 요소는 앱을 교차할 수 없다는 것을 이해합니다.
4. Instrumentation은 Google에서 제공하는 초기 Android 자동화 테스트 도구 클래스입니다. 당시에는 JUnit도 Android를 테스트할 수 있었지만 Instrumentation을 사용하면 프레임워크 수준에서도 애플리케이션에 대한 더 복잡한 테스트를 수행할 수 있다는 것이 기본입니다. 다른 테스트 프레임워크의 경우 테스트 중인 구성 요소를 동일한 프로세스에서 로드할 수 있습니다. 풍부한 고급 패키지가 많이 있으며 사용자는 계측 기반의 다른 프레임워크를 사용하여 과도한 2차 개발을 피할 수 있습니다. 그러나 계측은 애플리케이션 간을 지원하지 않으므로 계측 기반 프레임워크가 이러한 단점을 상속하게 됩니다.
5. UIAutomator는 Google에서 제공하는 테스트 프레임워크로 기본 Android 앱 및 게임에 대한 고급 UI 테스트를 제공합니다. 기본적으로 모든 Android 이벤트 작업을 지원합니다. Instrumentation과 비교하여 테스터가 코드 구현 세부 사항을 이해할 필요가 없습니다(UiAutomatorviewer를 사용하면 소스 코드를 보지 않고도 앱 페이지의 컨트롤 속성을 캡처할 수 있습니다).
Java를 기반으로 하는 테스트 코드 구조는 간단하고 작성하기 쉬우며 학습 비용이 저렴합니다. 한 번만 컴파일하면 모든 장치 또는 시뮬레이터에서 테스트를 실행할 수 있습니다. 앨범을 선택하고 카메라를 열어 사진을 찍는 옵션입니다.
이 도구의 단점은 SDK 16(Android 4.1) 이상만 지원하고 하이브리드 애플리케이션 및 웹 애플리케이션과 호환되지 않는다는 것입니다.
6. Espresso는 Google의 오픈소스 자동화 테스트 프레임워크입니다. Robotium 및 UIAutomator에 비해 규모가 더 작고, 더 간결하고, API가 더 정확하고, 테스트 코드 작성이 간단하고, 빠르게 시작하기 쉬운 것이 특징입니다. 계측 기반이므로 다른 응용 프로그램 간에 사용할 수 없습니다.
7. Selendroid: Instrumentation 기반의 프레임워크입니다. Webdriver 프로토콜과 완벽하게 호환됩니다. Selendroid는 에뮬레이터 및 실제 장치에서의 실행을 지원하며 확장 및 병렬 테스트를 위한 그리드 노드로 통합될 수 있습니다.
Athrun은 Taobao에서 제작한 모바일 테스트 프레임워크/플랫폼으로 iOS와 Android를 모두 지원합니다. Android 부분도 계측을 기반으로 하며 Android의 원래 ActivityInstrumentationTestCase2 클래스를 기반으로 확장하여 완전한 객체 지향 API 세트를 제공합니다.
Appium은 크로스 플랫폼 오픈 소스 자동화 테스트 도구이며 가장 강력한 프레임워크 중 하나로 간주됩니다. 다음 컨텐츠에서는 그 특징과 용도에 대해 자세히 소개하겠습니다. appium의 장점 :
① ② 스퍼프 포트 앱, 웹 앱; 플랫폼 플랫폼에서는 Mac OS, C#, Ruby 및 기타 주류 언어를 사용할 수 있습니다.
WebDriver가 확장되었으므로 자동화된 테스트를 위해 바퀴를 다시 만들 필요가 없습니다. (WebDriver는 WebApp 테스트를 위한 간단하고 빠른 자동화 테스트 프레임워크이므로 웹 자동화 테스트 경험이 있는 테스터가 바로 시작할 수 있습니다.)
모바일 자동화 테스트는 오픈 소스여야 합니다.
위 내용은 일반적으로 사용되는 Android용 자동화 테스트 프레임워크 9개는 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!