Articles

Desarrollo Web!

Test-Driven Development - Calidad en el código

Test-Driven Development - Calidad en el código

Test-driven development (TDD) El desarrollo basado en pruebas (TDD) es una práctica de ingeniería de software que implica otras dos prácticas: Escribir primero las pruebas (Test First Development) y luego crear y modificar el código en etapas sucesivas (Refactoring). El objetivo del desarrollo basado en pruebas es conseguir un código limpio que funcione. TDD es un proceso de desarrollo de software basado en la conversión de los requisitos del software en casos de prueba antes de que el software esté completamente desarrollado, y en el seguimiento de todo el desarrollo del software mediante pruebas repetidas del software con todos los casos de prueba. No es lo mismo que el software se desarrolle primero y los casos de prueba se creen después. 

La mayoría de los programadores comprenden el hecho de que es bueno escribir pruebas para el código que desarrollan. Algunos probablemente tienen una idea de por qué es esencial, y algunos incluso saben cómo hacerlo. Sin embargo, siempre hay un grupo de personas donde hay una gran brecha de comprensión entre por qué es esencial tener pruebas y cómo llevarlas a cabo en el desarrollo real de aplicaciones. Laravel ofrece herramientas de pruebas out-of-the-box como PHPUnit, Mockery, Faker, y Dusk para reducir esta brecha entre los programadores PHP.

PHPUnit se utiliza para el desarrollo de pruebas unitarias, mientras que Mockery se utiliza para burlarse de un objeto de sesión de base de datos, repositorio, o simplemente otra clase dependiente, etc. Faker es para crear datos falsos para propósitos de pruebas. Dusk es un marco de pruebas frontend utilizado para probar una aplicación JavaScript.

Para facilitar las cosas, la aplicación Laravel viene pre-empaquetada con una prueba de aplicación de ejemplo que puede ejecutarse con éxito al construir la aplicación. Esto denota que no se espera ninguna configuración adicional por parte de los programadores para configurar el entorno de pruebas básico necesario para su aplicación.