Desarrollo basado en pruebas para desarrolladores de Android | por Mahmoud Ramadan

Introducción
Test Driven Development (TDD) es una de las habilidades más importantes para los ingenieros de software en general, y para los desarrolladores de Android en particular, ya que tiene muchas ventajas que nos permiten construir aplicaciones de Android de alta calidad. Antes de hablar sobre este método de software, permítanme explicar algunos escenarios que nos hacen utilizar este enfoque. Analicemos el primer escenario. Digamos que desarrolló una aplicación de Android, luego la envió a Google Play, luego la gente la descargó y descubrió cómo funcionaba, después de eso, tiene muchas críticas negativas de los usuarios sobre su rendimiento, almacenamiento en caché, problemas con la interfaz de usuario, etc. la aplicación. Entonces ahora tienes un problema de mala calidad. Estás de acuerdo ?????
Veamos otro escenario, te uniste a un nuevo equipo y tu jefe te pidió que crearas un nuevo rol. Desafortunadamente, el código es un código heredado (código sin pruebas). Ahora tendrás miedo como este chico
Esto tiene sentido porque no escribió este código y no está seguro de cómo realizar cambios en el código. También tienes código heredado. Esto nos lleva al problema de calidad en su código. Por lo tanto, estos problemas nos llevan a utilizar el desarrollo basado en pruebas como nuestra metodología de software.
Desarrollo impulsado por pruebas
TDD es un proceso de desarrollo de software que se basa en la repetición de un ciclo de desarrollo muy corto: los requisitos se convierten en casos de prueba muy específicos y el software se mejora solo para pasar las nuevas pruebas. Esto contrasta con el desarrollo de software, donde se puede agregar software que de manera demostrable no cumple con los requisitos.
TDD tiene un ciclo de tres pasos
ROJO: en este paso, piense cuáles son las necesidades de su negocio, conviértalas en casos de prueba y asegúrese de que su prueba se compiló y falló.
VERDE: En este paso, considere cómo pasar la prueba anterior y escriba la implementación real del código. Asegúrese de escribir solo el código mínimo que pasará esta prueba.
REFACTOR: En este paso, considere cómo puede mejorar el código existente para hacerlo más limpio y más fácil de mantener.
Beneficios del desarrollo impulsado por pruebas
TDD ofrece muchas ventajas como las siguientes:
Pruebas automatizadas
Habilite el desarrollo iterativo
Documentación en vivo para código
Te sientes seguro de tu código y lógica.
Tu código es más limpio.
Aumenta la calidad y la capacidad de mantenimiento del código.
TDD puede conducir a un código modularizado, flexible y extensible
Las pruebas de regresión son mucho más fáciles porque los casos de prueba automatizados encuentran errores
Desarrollo basado en pruebas para el desarrollo de Android
Ahora es el momento de hablar un poco sobre nuestra área de aplicaciones de desarrollo de Android. Para comenzar a desarrollar nuevas funciones en su aplicación usando TDD, primero debe escribir una prueba de IU para su función usando Espresso
Imagen para publicación
Luego, escribe pruebas unitarias para su función utilizando, por ejemplo, los marcos Junit y Mockito
Si quieres conocer más sobre cada uno de los temas tengo un curso online en Udemy y este es DESCUENTO UDEMY POR TIEMPO LIMITADO
CONTENIDO DEL CURSO:
Introducción al desarrollo basado en pruebas (TDD)
Introducción al desarrollo conductual (BDD)
Tipos de prueba para el desarrollo de Android (prueba de caja blanca y negra)
aprende Junit a través de ejemplos
Aprende Mockito a través de ejemplos
Cree una aplicación de Android usando TDD y MVP
material de aprendizaje adicional