2010-08-13 3 views
3

안드로이드 테스트 프레임 워크에 익숙하지 않습니다. 기존 테스트 프레임 워크의 차이점을 알고 싶습니다 : Monkey, CTS, Instrumentation Framework & Robotium?안드로이드 테스트 프레임 워크

+0

CTS - 호환성 테스트 스위트를? http://source.android.com/compatibility/cts-intro.html – mparaz

답변

7

계측은 단위 테스트와는 반대로 테스트 범주입니다.

프레임 워크는 계측 테스트를위한 후크를 제공하지만 실제로 타사 프레임 워크가 추가로 필요합니다.

로보 티움은 그러한 프레임 워크입니다. 사용자 인터페이스를 통해 실행되는 "스크립트"를 작성하고 "클릭하십시오", "유형을 입력하십시오"등의 글을 쓸 수 있습니다. 글쓰기를 통해 유스 케이스를 통해 당신을 데려 갈 수 있으며 귀하의 앱이 그렇지 않다는 느낌을줍니다 부서진. 또한 상호 작용하는 여러 활동 및 활동을 테스트 할 수 있습니다.

테스트 가능성을 위해 코드를 작성하지 않는 한, Android, 특히 UI, 데이터베이스, 활동 상태 등을 다루는 "일반"코드에 대한 단위 테스트는 매우 어렵습니다.

Android Monkey는 계기를 사용하여 사용자 인터페이스를 실행하지만 스크립트를 따르지 않습니다. 그것은 무엇이든 그것이 당신의 앱을 망가 뜨리지 않아야한다는 아이디어와 함께 무작위로 이것을합니다. 100,000 개의 이벤트를 생성함으로써 통계를 기반으로 가능한 한 높은 적용 범위를 얻으려고합니다. Robotium 외에도 원숭이는 앱을 떠나지 않습니다 (위험 할 수 있습니다). 그것은 완벽하게 보완하지만 거의 무료로 제공됩니다 (설치가 정말 저렴하고 유지 보수가 필요 없습니다).

CTS는 운영 체제 및 프레임 워크와 만 관련이 있습니다.

당신은 아마도 mock에 대해서 알고 싶습니까?

0

테스트를 관찰 아래 피라미드 :

  • 수동 테스트 - 자기 설명이
  • 기능 테스트 -
  • 통합 테스트 기능 테스트 - 단위가 잘
  • 단위 테스트를 재생 체크 - 확인을 개별 단위가 예상대로 작동 함 (SRP 참조)

얼마나 많은 테스트가 각 레벨에 있어야합니다. 피라미드 아래에는 각 레벨에서 사용할 수있는 Android 프레임 워크가 있습니다.

기능 :

안드로이드에서

Testing Pyramid

는 다음과 같은 프레임 워크는 일반적으로 각 섹션에 사용되는,

  • 원숭이 러너 "의 종류는"이 부분에 해당 그것은 기본적으로 그냥 앱을 둘러보고 상호 작용의 조합이 충돌하는지 알아보기

통합 : 계기는이 범주에 속합니다.

  • JUnit4
  • Mockito, Powermock, 다른 조롱 라이브러리
  • :

    • 에스프레소
    • Robotium

    에게 단위를 (구글에 의해 만들어 권장 Hamcrest 매처 (matcher)를 사용합니다)

  • 일치하는 f Hamcrest, 페스트 같은 rameworks, AssertJ
  • Robolectric (제공 안드로이드 구체적인 방법)
관련 문제