Algo falta en mi proyecto de prueba de Android?

Actualmente estoy construyendo una aplicación android y estoy después de la mejor configuración de pruebas para hacer mi aplicación a prueba de balas:) Si hay algo pequeño / gran falta por favor no dude en elogiar! 🙂

Así que mi prueba va un poco como esto: (tener en cuenta que mi aplicación tiene un servidor de back-end)

  1. Junit prueba con Robolectric en el lado de la aplicación contra todas las versiones de Android compatibles.
  2. Junit prueba con mockito en el lado del servidor.
  3. Pruebas de integración con robolectric y una instancia real del servidor back-end. UPDATE: esto probablemente terminará siendo pruebas de instrumentación y una instancia real del servidor back-end como robolectric y los servicios de Google Play que estamos utilizando en el proyecto es un no ir.
  4. Pruebas de instrumentación con una instancia real del servidor de back-end contra múltiples dispositivos (diferentes resoluciones de pantalla, etc.), pero contra sólo una versión única de la API de Android, probablemente la última soportada. Esto significaría poner en marcha múltiples dispositivos virtuales android y ejecutar las pruebas en cada uno de ellos. He leído que se pueden tomar capturas de pantalla de las pantallas, pero no estoy seguro de cómo podemos verificar que las capturas de pantalla están bien.
  5. Ejecución de la aplicación con mono runner, de nuevo con un servidor real.
  6. Pruebas de rendimiento en las que en su mayoría llegamos a probar la interacción de muchos dispositivos con el servidor back-end al mismo tiempo. No estoy muy seguro de cómo se podría llegar a ejecutar tales pruebas para Android.

Todas estas pruebas se ejecutarán en el servidor TeamCity CI. Estamos tratando de utilizar roboletric en tantas de estas pruebas como sea posible, ya que es mucho más rápido que cargar las pruebas en un dispositivo.

Mi pregunta es, ¿hay algo grande o pequeño falta de mi configuración, o hay marcos que podrían hacer más fácil para nosotros para ejecutar todas estas pruebas aparte de la utilización de robolectric / android maven plugin / teamcity?

Aparte de usar Robolectric, Robotium vale la pena revisar. Más sobre esto se discute aquí ( https://stackoverflow.com/q/522312/3152743 ) junto con otros métodos de prueba que podría estar interesado.

  • No se puede usar FakeHttpLayer de Robolectric (NullPointerException al llamar a getFakeHttpLayer)
  • Cómo utilizar Robolectric 2.4 en Android Studio 1.1.0 y gradle 2.2.1
  • Assert ImageView se cargó con un ID de recurso específico extraíble
  • Android build tools 1.1.0, carpeta de prueba de unidad?
  • Volver a cargar variables estáticas al inicio de cada prueba de unidad
  • Android Robolectric Gradle - java.lang.OutOfMemoryError: PermGen espacio
  • Ejecución de Gradle prueba con Robolectric y AppCompat resultados en NullPointerException
  • Robolectric 3.0 no funciona con AppCompat 21+
  • La etiqueta de meta-datos en AndroidManifest.xml de su aplicación no tiene el valor correcto
  • Error al intentar probar análisis XML con Robolectric
  • Android instrumentación prueba java.lang.UnsatisfiedLinkError en el uso de AndroidJunitRunner y AndroidJUnit4
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.