Bienvenido al primer módulo del curso de PHPUnit. Aquí asentaremos las bases para tu recorrido en el mundo de las pruebas automatizadas y al finalizar comprenderás qué son las pruebas, por qué son esenciales para desarrollar software de calidad y cómo dar tus primeros pasos con PHPUnit.
Qué son las pruebas automatizadas. Imagina que construyes una casa y antes de entregarla verificas ventanas, grifos y electricidad. Eso es una analogía para las pruebas manuales. Las pruebas manuales requieren que una persona ejecute el sistema y verifique su comportamiento, pero suelen ser lentas, repetitivas, propensas a errores humanos y poco escalables. Las pruebas automatizadas consisten en escribir código que verifique a su vez al código de la aplicación y ejecutarlo de forma automática para garantizar que el comportamiento sea el esperado.
Tipos de pruebas automatizadas. Pruebas unitarias: prueban la unidad más pequeña del código como una función, un método o una clase. Pruebas de integración: verifican que varias unidades funcionen correctamente juntas, por ejemplo la interacción entre una clase Usuario y una clase Base de Datos. Pruebas funcionales o End to End: simulan el comportamiento de un usuario real y validan flujos completos de la aplicación.
En este curso nos centraremos en las pruebas unitarias porque forman la base de una estrategia de pruebas sólida y son el punto de partida ideal para quien comienza en testing.
Introducción a PHPUnit. PHPUnit es el framework de pruebas más utilizado en el ecosistema PHP. Proporciona herramientas y una estructura para escribir y ejecutar pruebas de forma organizada y eficiente. Por qué elegir PHPUnit. Es un standard de la comunidad con abundante documentación y apoyo; ofrece características avanzadas como aserciones y test doubles; se integra fácilmente con herramientas como Composer y con sistemas de CI CD; y genera informes detallados sobre la ejecución de las pruebas.
Preparar el entorno. La forma recomendada de instalar PHPUnit en tu proyecto es mediante Composer, el gestor de dependencias de PHP. Si aún no tienes Composer consulta las instrucciones en getcomposer.org. Con Composer instalado abre la terminal en la carpeta de tu proyecto y ejecuta composer require --dev phpunit/phpunit. Este comando añade PHPUnit como dependencia de desarrollo. El flag --dev indica que la dependencia es solo para desarrollo y no se necesita en producción. El paquete se identifica como phpunit/phpunit en el repositorio de paquetes de Composer.
Tu primera prueba. Convención de estructura de proyecto: my-project/ src/ Example.php tests/ ExampleTest.php vendor/ composer.json. En src crea Example.php que implemente una clase Example con un método sum que reciba dos enteros y retorne su suma. Por ejemplo en términos conceptuales public function sum int a int b int retorna a mas b.
Crear el archivo de prueba. En la carpeta tests crea ExampleTest.php. La clase de prueba debe extender TestCase de PHPUnit. Implementa un método de prueba llamado testSum que instancie Example, invoque sum con 2 y 3 y use una aserción para comprobar que el resultado es 5, por ejemplo usando assertEquals con valor esperado 5 y valor real el resultado obtenido.
Configurar autoload en composer.json. Añade en autoload el mapeo psr 4 para App hacia src y en autoload dev el mapeo para Tests hacia tests. Después ejecuta composer dump autoload para regenerar el autoloader de Composer.
Ejecutar las pruebas. Desde la raíz del proyecto ejecuta ./vendor/bin/phpunit tests para lanzar PHPUnit sobre la carpeta de pruebas. Si todo está correcto verás un resultado indicando el número de pruebas y aserciones pasadas, normalmente una salida similar a OK con un punto que representa una prueba exitosa. Si alguna prueba falla PHPUnit mostrará una F y un mensaje con detalles del fallo.
Felicidades. Acabas de escribir y ejecutar tu primera prueba con PHPUnit. En módulos posteriores profundizaremos en más aserciones, test doubles, fixtures y buenas prácticas para mantener una suite de pruebas robusta y confiable.
Reto final del Módulo 1. Crea en la clase Example un método subtract que reciba a y b y retorne a menos b. Añade una prueba en ExampleTest que verifique el comportamiento de subtract con varios casos, por ejemplo 5 menos 2 igual 3 y 2 menos 5 igual -3.
Acerca de Q2BSTUDIO. Q2BSTUDIO es una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida para empresas de todos los tamaños. Ofrecemos soluciones en inteligencia artificial y ia para empresas, agentes ia personalizados, ciberseguridad y servicios cloud aws y azure. Además proporcionamos servicios inteligencia de negocio y soluciones con power bi para transformar datos en decisiones accionables. Nuestro equipo combina experiencia en desarrollo backend y frontend con capacidades avanzadas en inteligencia artificial, aprendizaje automático y protección de infraestructuras para garantizar aplicaciones robustas y seguras.
Servicios destacados de Q2BSTUDIO. Desarrollo de aplicaciones a medida y software a medida adaptado a procesos internos; proyectos de inteligencia artificial e ia para empresas que incluyen agentes ia y automatización inteligente; auditorías y soluciones de ciberseguridad para proteger datos y activos; adopción y gestión de servicios cloud aws y azure; y servicios inteligencia de negocio con integraciones de power bi para visualización y reporting.
Por qué trabajar con nosotros. Q2BSTUDIO combina enfoque práctico y consultoría tecnológica para entregar soluciones que aportan valor medible. Diseñamos software a medida que se integra con arquitecturas cloud, implementamos modelos de inteligencia artificial responsables y defendemos infraestructuras con prácticas modernas de ciberseguridad. Si buscas llevar tus proyectos al siguiente nivel con aplicaciones a medida, inteligencia artificial, agentes ia, servicios cloud aws y azure, servicios inteligencia de negocio y power bi, Q2BSTUDIO puede ayudarte a definir, desarrollar e implantar la solución adecuada.
Si necesitas ejemplos concretos de pruebas unitarias, plantillas de composer.json o ayuda para integrar PHPUnit en pipelines de CI CD con GitHub Actions, GitLab CI o cualquier otro sistema, ponte en contacto con Q2BSTUDIO y te apoyaremos en cada paso del proceso.