Curso de Bases Técnicas de Android

Curso de Bases Técnicas de Android

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Tipos de Testing en Android y UI Test

25/27

Lectura

Llevar un proceso de Testing en nuestras aplicaciones debe ser un proceso rigurosamente obligatorio, testear tus aplicaciones hará tus usuarios reciban mayor calidad en el producto que les estás proporcionando.

Existen algunos tipos de pruebas que podemos ir ejecutando progresivamente a nuestras apps.

  • Pruebas de unidad local
  • Pruebas instrumentadas
  • Pruebas de interfaz de usuario

Éstas se pueden ver ubicadas en la siguiente pirámide desde la base hasta la punta:

Captura de pantalla 2018-04-25 15.46.36.png

Las pruebas de unidad local son test pequeños que a medida que vas generando código lo vas probando rápidamente en tu computadora. También puedes programar código automatizado que ejecute una prueba.

Las pruebas de instrumentación principalmente las deberás ejecutar en el dispositivo y son básicamente pruebas donde integras los test anteriores a fin de que módulo a módulo la aplicación se vaya comportando adecuadamente, aquí testeamos que los módulos, servicios, etc. funcionen en conjunto.

Las pruebas de interfaz de usuario son totalmente enfocadas en el flujo de la interfaz de usuario, con esto nos aseguramos que las tareas que debe realizar el usuario en la aplicación funcionen como se espera.

Android Studio te ayudará a llevar los procesos de Testing que requieren tus apps, posee herramientas que nos ayudan a lograr esto. Investiga productos, frameworks, etc. que te ayudan a ejecutar cualquiera de los tipos de pruebas que vimos hace un momento, compartelos en la sección de comentarios.

Aportes 30

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Seria increible si hacen un curso donde se desarrolle una apliccion con todo lo aprendido.

Tipos de Testing en Android

Es un paso que NO SE PUEDE OMITIR ya que este garantiza la calidad de nuestra app en los diferentes tipos de dispositivos, los tipos de prueba son:

Locales: Son pequeños test que a medida que se va generando código se va probando.

Instrumentación: Principalmente se prueban en dispositivos físicos y verificamos que los servicios trabajen bien en conjunto.

Interfaz de Usuario: Son enfocadas a la interfaz de usuario y a su flujo

Un framework que les puede ayudar en las pruebas unitarias o los Unit tests es Mockito: Este les ayudara a mockear otros metodos que sean necesarios para probar un metodo en especifo, hay que mockear los metodos a los cuales no sea el objetivo testear ya que las pruebas deben ser independientes

Por favor un curso que aborde todos los tipos de test, aplicandolos en un caso real

yo encontre Espresso, en la pagina oficial de google.
https://developer.android.com/training/testing/ui-testing/espresso-testing

Mockito es un framework utilizado para hacer pruebas de unidad escritas en Java. Tiene una interfaz amigable al usuario y que consiste en la declaracion de Mocks() que se pueden aplicar a clases, tipos primitivos, etc.

Por otra parte, frameworks como espresso y UI automator son un poco mas sofisticados, ya que realizan pruebas cuando la aplicacion ya fue creada. Comprueban que los flujos de trabajo funcionen de acuerdo a las especificaciones requeridas.

Podrian crear un curso sobre TDD o de Testing ya que muchas empresas piden esos perfiles pero muy pocas personas tienen ese conocimiento.

Appium ,Calabash , Expresso y UI Automator

Mas de un año programando en Android y aún no me atrevo a tocar los Test

PARA android studio y flutter necesitan descargar los plugins correspondientes desde la pagina de flutter y desde el mismo compilador, en caso de que quieran usar su cel para testing en vez del virtual que les ofrece android studio es necesario que lo pongan en modo desarrollador y bajar los sdk correspondientes.

AWS Device Farm tambien es una muy buena opcion!!

como divide la profe
para testing de UI tenemos
robotium para apps android
testcomplete para apps android y IOS
para la funcionalidad
Calabash para android y IOS
Appium para android y IOS
MonkeyTalk para Android and iOS

Probare Katalon, espero me funcione bien, si tienen algún documento que ayude a entender mejor Katalon espero puedan pasármelo.

Appium es una plataforma interesante de testear aplicaciones nativas e híbridas: appium.io

Soy yo o algunas de las pruebas están mal traducidas?. No sería pruebas de ingtegración y pruebas unitarias en español?

SIempre Testear

si

Las pruebas de alto estrés también son buenas para probar el flujo constante de nuestra app.

Interesante!!

Pueden usar Espresso para UI Test https://developer.android.com/training/testing/espresso/

@Test
public void greeterSaysHello() {
    onView(withId(R.id.name_field)).perform(typeText("Steve"));
    onView(withId(R.id.greet_button)).perform(click());
    onView(withText("Hello Steve!")).check(matches(isDisplayed()));
}

Excelente articulo vamos aprendiendo

Si el test depende de objetos del framework de android, se recomienda usar http://robolectric.org/

En la documentación de Android especifican como hacer un test local y de instrumentacion 😄

thanks!

¿Las prueba Beta Testing en donde entraría?, ¿Pruebas de Malware donde son UI Testing?.

Creo que el Testing es un tema muy, MUY importante en cualquier cosa que desarrollemos ya sea móvil, web, escritorio, etc…

Un dev siempre siempre testea en un proceso informal o formal su software, seria de genios eruditos que escribas código y tengas fe o certeza de que funcionará al 100% sin haber lo probado. Aunque si un software sabes que estará recibiendo más y más actualizaciones pues si conviene tener tu suit de pruebas formales para ejecutarlas en cada iteración del software para ver que no se haya rompido nada.