Want to create interactive content? It’s easy in Genially!
Pruebas Unitarias
ANTHONY MARTINEZ ARELLANO
Created on October 17, 2024
Start designing with a free template
Discover more than 1500 professional designs like these:
Transcript
Pruebas unitarias
Alvarado Mombela Cristopher Yahir Fernandez Marquez Braulio Israel Martinez Arellano Anthony Silva Palmas Angélica Araceli
Empezar
17/10/2024
definición
Las pruebas unitarias son el proceso en el que se prueba la unidad funcional de código más pequeña. Una prueba unitaria es un bloque de código que verifica la precisión de un bloque más pequeño y aislado de código de aplicación, normalmente una función o un método, diseñada para verificar que se ejecuta según lo esperado, de acuerdo con la lógica teórica del desarrollador.
ventajas
Las pruebas unitarias benefician a los proyectos de desarrollo de software de muchas maneras.
Trabajo ágil
Detección eficaz de errores
Facilidad de cambios e integración
Documentación
Buenas Prácticas
Nombres claros
Son esenciales para garantizar un código robusto y mantenible. Al aplicar estas prácticas, se mejora la calidad del software, se detectan errores más rápidamente y se facilita la colaboración entre desarrolladores.
Pruebas independientes
Mensajes de fallo claros
Cobertura completa
Automatización
Compatibilidad
La compatibilidad en las pruebas unitarias se refiere a su capacidad para funcionar en diferentes entornos de desarrollo y lenguajes de programación.
Los tres aspectos clave de esta compatibilidad son:
Integración con Herramientas de Desarrollo
Lenguajes de Programación
Frameworks y Bibliotecas
herramientas
Frameworks y Bibliotecas:
JUnit (Java):
Integración Continua (CI) y Entrega Continua (CD)
NUnit (C#)
Jenkins
pytest (Python)
GitHub Actions
Mocha (JavaScript)
GitLab CI/CD
RSpec (Ruby)
CircleCI
Azure DevOps
Jest (JavaScript)
Test-Driven Development (TDD)
Es una metodología de desarrollo de software que se basa en la creación de pruebas antes de escribir el código de implementación. Este enfoque enfatiza la necesidad de que el código cumpla con los requisitos especificados en las pruebas desde el principio del proceso de desarrollo.
Principios del TDD
Se basan en la idea de que las pruebas deben guiar el desarrollo. Este enfoque permite a los desarrolladores aclarar los objetivos de cada parte del sistema desde el inicio y asegurar que el código escrito cumpla con las expectativas.
Principios clave que sustentan esta práctica:
Probar el comportamiento, no la implementación
Escribir pruebas primero
Ciclo de desarrollo corto
Beneficios de TDD
Documentación viva
Diseño más claro y enfocado
Detección temprana de errores
Facilidad de refactorización
Mejor cobertura de pruebas
Mejor cobertura de pruebas
Prácticas Recomendadas en TDD
Utilizar mocks y stubs: Para simular el comportamiento de recursos externos, como bases de datos o servicios, se deben usar mocks y stubs.
Mantener las pruebas simples y rápidas: Las pruebas deben ser fáciles de ejecutar y rápidas, permitiendo su uso frecuente durante el desarrollo.
Seguir el principio de "un solo fallo": Cada prueba debe verificar un solo aspecto del código, facilitando la identificación de problemas en caso de fallo.
Ejecutar pruebas frecuentemente: Se deben correr las pruebas después de cada cambio significativo en el código para asegurar que no se rompa ninguna funcionalidad existente.
Documentar las pruebas: Las pruebas deben estar bien documentadas para que otros desarrolladores puedan entender su propósito y lo que están verificando.
Limitar la complejidad del código: Se debe mantener el código sencillo y comprensible, evitando complicaciones innecesarias que dificulten las pruebas.
Referencias
- Admin-Factoria. (2024, 21 octubre). Pruebas unitarias: qué son, características, tipos y por qué son importantes en el desarrollo de aplicaciones native-cloud. Ausum Cloud: Servicios y Soluciones Cloud. https://ausum.cloud/que-son-las-pruebas-unitarias/
- ¿Qué es y para qué sirve un TDD o Test Driven Development? (s. f.). Intelequia. https://intelequia.com/es/blog/post/qu%C3%A9-es-y-para-qu%C3%A9-sirve-un-tdd-o-test-driven-development
- ¿Qué son las pruebas unitarias?: explicación de las pruebas unitarias en AWS. (s. f.). Amazon Web Services, Inc. https://aws.amazon.com/es/what-is/unit-testing/
- Desarrollo Guiado por Pruebas (TDD): Guía completa. (s. f.). https://www.codurance.com/es/guia-completa-desarrollo-guiado-por-pruebas-tdd Novoseltseva, E. (2023, 20 junio).
- Pruebas unitarias: ventajas y caracteristicas | Apiumhub. Apiumhub. https://apiumhub.com/es/tech-blog-barcelona/beneficios-de-las-pruebas-unitarias/
Gracias por su Atención
Las pruebas unitarias son compatibles con una amplia variedad de lenguajes, incluidos Java, C#, Python, JavaScript, Ruby y Go. Cada uno de estos lenguajes tiene su propio conjunto de bibliotecas y frameworks de prueba, lo que permite a los desarrolladores elegir la opción más adecuada para sus proyectos.
Otros desarrolladores leen las pruebas para ver qué comportamientos se espera que muestre el código cuando se ejecute. Utilizan la información para modificar o refactorizar el código. Refactorizar el código hace que sea más eficaz y esté mejor compuesto.
El framework de pruebas más usado en Ruby, se destaca por su enfoque en pruebas legibles y orientadas a comportamiento (BDD).
Plataforma especializada en CI/CD, que permite ejecutar pruebas y despliegues en múltiples entornos automáticamente, con alta compatibilidad para proyectos alojados en GitHub o Bitbucket.
Parte de la plataforma GitLab, ofrece CI/CD integrado que facilita la ejecución de pruebas y despliegues dentro de los proyectos GitLab.
Una de las herramientas más populares para CI/CD, de código abierto, que automatiza el proceso de construcción, prueba y despliegue de aplicaciones.
Muy popular en el ecosistema de JavaScript, especialmente para aplicaciones desarrolladas con React, proporciona un entorno de pruebas sencillo y eficaz.
Framework de pruebas flexible que permite realizar pruebas unitarias tanto en el frontend como en el backend de aplicaciones JavaScript.
Los tests unitarios, nos permiten modificar partes del código sin afectar al conjunto, simplemente para poder solucionar bugs que nos encontramos por el camino. Al estar desglosados en bloques individuales permiten la integración de nuevas aportaciones para hacer un código más complejo o actualizarlo en función de lo que el cliente demande.
Como procedimiento ágil que es, permite poder detectar los errores a tiempo, de forma que puedas reescribir el código o corregir errores sin necesidad de tener que volver al principio y rehacer el trabajo. Puesto que las pequeñas se van haciendo periódicamente y en pequeños packs. Disminuyendo el tiempo y el coste.
Conocido por su simplicidad y flexibilidad, es uno de los frameworks más usados para pruebas unitarias en Python.
Con esta función... Puedes añadir un contenido adicional que emocione al cerebro de tu audiencia: vídeos, imágenes, enlaces, interactividad... ¡Lo que tú quieras!
Existen múltiples frameworks de pruebas unitarias que proporcionan las herramientas necesarias para crear y ejecutar pruebas. La elección del framework a utilizar puede depender de la tecnología y la arquitectura del proyecto, así como de las preferencias del equipo de desarrollo.
Antes de escribir una sola línea de código, el desarrollador formula una prueba que especifica el comportamiento esperado de la funcionalidad. Este principio es crucial, ya que orienta el proceso de desarrollo y asegura que el código esté diseñado para cumplir con los requisitos.
TDD sigue un ciclo de desarrollo corto que consiste en tres fases clave:
- Rojo: El desarrollador escribe una prueba que define un comportamiento esperado. Dado que la funcionalidad aún no está implementada, la prueba fallará. Esto ayuda a clarificar los requisitos antes de comenzar.
- Verde: Se implementa el código mínimo necesario para que la prueba pase. El enfoque aquí es cumplir con la prueba escrita, asegurando que al ejecutarla ahora, esta pase exitosamente.
- Refactorizar: Se mejora el código implementado sin cambiar su funcionalidad. Esta fase busca optimizar la estructura y la legibilidad del código, asegurándose de que todas las pruebas sigan pasando.
El framework más utilizado para pruebas unitarias en Java, ofrece una estructura sencilla para crear y ejecutar pruebas automatizadas.
Integrada directamente en GitHub, permite automatizar flujos de trabajo, ejecutar pruebas y realizar despliegues automáticamente.
Herramienta de Microsoft que integra CI/CD en flujos de trabajo completos, permitiendo la integración con Azure y otras plataformas.
Los frameworks de pruebas son compatibles con herramientas de desarrollo e integración continua (CI), permitiendo ejecutar pruebas automáticamente en cada commit o despliegue, lo que mejora la eficiencia y asegura la calidad del software.
Con esta función... Puedes añadir un contenido adicional que emocione al cerebro de tu audiencia: vídeos, imágenes, enlaces, interactividad... ¡Lo que tú quieras!
Se enfoca en evaluar el comportamiento observable del sistema en lugar de los detalles internos del código. Esto permite mayor flexibilidad, ya que los desarrolladores pueden modificar la implementación sin romper las pruebas, siempre que el comportamiento esperado se mantenga. Así, se facilita el mantenimiento y la adaptación del código a cambios, garantizando que las pruebas sigan siendo útiles a lo largo del tiempo.
Framework popular para pruebas en el ecosistema .NET, utilizado para escribir pruebas unitarias en aplicaciones de C#.
Si hay errores de entrada, salida o basados en la lógica dentro de un bloque de código, las pruebas unitarias ayudan a detectarlos antes de que los errores lleguen a producción.Pudiendo identificar con rapidez la parte exacta del código que tiene un error.