[자동화 테스트] 자동화 테스트 방법 정리
4264 단어 자동화 개발
1.【Appium】
2.【AirTest】
3.【android Test Kit】
【기타】
1.【Appium】
업로드 링크:https://www.zhihu.com/question/19716849/answer/42525356
앱피움은 최근 비교적 핫한 프레임으로 커뮤니티도 활발하다.이 프레임워크는 기능이 가장 강할 텐데,
그것의 철리는:
그것의 디자인 이념:
관련 제한 사항:
2.【AirTest】
게임 자동화 테스트 프레임워크에 대한 갈구에서 비롯되었다.일반적인 소프트웨어 테스트에 비해 모바일 게임은 기종이 다양하기 때문에 성능 테스트, 호환성 테스트에 대한 수요가 높고 대량의 중복성 내용도 있을 수 있다. 예를 들어 초보자 프로세스가 반복적인 테스트를 해야 한다.자동화 테스트는 어느 정도에 테스트 인원의 부담을 줄이고 버그 발견 주기를 단축하며 테스트 효율을 높일 수 있다.
그러나 모바일 게임의 자동화 테스트는 업계의 난제였다. 게임 장면이 복잡하고 내용의 임의성이 크며 인터페이스가 빈번하기 때문이다. 가장 중요한 것은 모두가 사용하는 게임 엔진이 다양하기 때문에 모바일 게임 자동화 테스트를 잘 하는 것은 쉽지 않다.
자동화 테스트의 문턱을 낮추고 더 적은 정력으로 더 많은 효율적인 자동화 스크립트를 생산하여 테스트 효율을 높이는 목적을 달성하기 위해 우리는 해결 방안을 내놓았는데 프로젝트명명
Airtest Project
이다.3.【android Test Kit】
【기타】
1. 몽키는 안드로이드 SDK가 자체로 가지고 있는 테스트 도구로 테스트 과정에서 시스템에 버튼 입력, 터치스크린 입력, 제스처 입력 등 위선적이고 무작위적인 사용자 이벤트 흐름을 보내 개발 중인 응용 프로그램에 대한 압력 테스트를 실현하고 로그 출력도 있다.실제로 이 도구는 프로그램에서만 압력 테스트를 할 수 있는데 테스트 이벤트와 데이터는 모두 무작위이기 때문에 사용자 정의가 불가능하기 때문에 매우 큰 한계가 있다.
2. MonkeyRunner도 안드로이드 SDK에서 제공하는 테스트 도구입니다.엄밀히 말하면 Monkey Runner는 Api 도구 패키지로서 Monkey보다 강하고 테스트 스크립트를 작성하여 데이터, 이벤트를 사용자 정의할 수 있다.단점은 스크립트를 파이톤으로 쓰기 때문에 테스트 인원에게 요구가 높고 학습 원가가 비교적 크다는 것이다.
3. Instrumentation은 초기 Google에서 제공한 안드로이드 자동화 테스트 도구로 JUnit에서도 안드로이드를 테스트할 수 있지만 Instrumentation에서는 응용 프로그램에 대해 더욱 복잡한 테스트를 할 수 있고 심지어 프레임워크 차원에서도 테스트를 할 수 있습니다.Instrumentation을 통해 버튼을 누르고, 들어올리고, 화면을 누르고, 스크롤하는 등의 이벤트를 시뮬레이션할 수 있습니다.Instrumentation은 메인 프로그램과 테스트 프로그램을 같은 프로세스에서 실행함으로써 이러한 기능을 실현한다. Instrumentation은Activity나 서비스와 유사하고 인터페이스가 없는 구성 요소로 보고 프로그램이 실행되는 동안 메인 프로그램을 감시할 수 있다.단점은 테스트 인원에게 코드 작성 능력이 비교적 높기 때문에 안드로이드에 대한 지식을 어느 정도 알고 안드로이드 매니페스트를 설정해야 한다는 것이다.xml 파일입니다. 여러 앱에 걸쳐 있을 수 없습니다.
4. UiAutomator도 안드로이드가 제공하는 자동화 테스트 프레임워크로 기본적으로 모든 안드로이드 이벤트 조작을 지원하고 Instrumentation에 비해 테스트 인원이 코드의 세부 사항을 이해할 필요가 없다(UiAutomatorviewer로 앱 페이지의 컨트롤 속성을 잡고 원본 코드를 보지 않아도 된다).자바를 바탕으로 테스트 코드의 구조가 간단하고 작성이 쉬우며 학습 비용이 든다. 한 번에 컴파일하면 모든 장치나 시뮬레이터가 테스트를 실행할 수 있고 앱을 뛰어넘을 수 있다. (예를 들어 많은 앱들이 앨범을 선택하고 카메라를 켜서 사진을 찍는다. 이것이 바로 앱을 뛰어넘는 테스트이다).단점은 SDK 16(Android 4.1) 이상만 지원하고 Hybird App, 웹앱은 지원하지 않는다는 것이다.
5, Espresso는 Google의 오픈 소스 자동화 테스트 프레임워크입니다.Robotium과 UIAutomator에 비해 규모가 작고 간결하며 API가 더욱 정확하고 테스트 코드를 작성하는 것이 간단하며 쉽게 손에 넣을 수 있는 것이 특징이다.Instrumentation 기반이기 때문에 전체 App을 사용할 수 없습니다.Android Studio와 함께 테스트의 간단한 예 작성
6. Selendroid: Instrumentation을 바탕으로 하는 테스트 프레임워크로 Native App, Hybird App, 웹 App을 테스트할 수 있지만 인터넷 자료가 적고 커뮤니티의 활약도가 크지 않다.
7. 로보티움 역시 Instrumentation에 기반한 테스트 프레임워크로 현재 국내외에서 많이 사용되고 자료가 많으며 지역사회도 활발하다.단점은 테스트 인원에게 일정한 자바 기반이 있어야 하고 안드로이드 기본 구성 요소를 이해해야 하며 앱을 뛰어넘어서는 안 된다는 것이다.
8. Athrun은 타오바오에서 나온 모바일 테스트 프레임워크/플랫폼으로 iOS와 안드로이드를 동시에 지원한다.안드로이드 부분도 Instrumentation을 바탕으로 안드로이드의 기존ActivityInstrumentationTestCase2 클래스를 확장하여 대상을 대상으로 하는 API를 제공한다.여기에 상세한 소개가 있다.