0% encontró este documento útil (0 votos)
9 vistas

Curso de Unit Testing en Python

El testing en software es crucial para asegurar la calidad del código, utilizando tanto pruebas manuales como automatizadas, especialmente con Python, que facilita la detección temprana de errores. Las pruebas unitarias y de integración son métodos clave para validar el funcionamiento de componentes individuales y su interacción. La automatización de pruebas en Python mejora la eficiencia y legibilidad, permitiendo una integración continua y una rápida identificación de errores.

Cargado por

inzuaz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas

Curso de Unit Testing en Python

El testing en software es crucial para asegurar la calidad del código, utilizando tanto pruebas manuales como automatizadas, especialmente con Python, que facilita la detección temprana de errores. Las pruebas unitarias y de integración son métodos clave para validar el funcionamiento de componentes individuales y su interacción. La automatización de pruebas en Python mejora la eficiencia y legibilidad, permitiendo una integración continua y una rápida identificación de errores.

Cargado por

inzuaz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

¿Qué es el Testing en Software?

Publicado el 05 de septiembre de 2024


Las pruebas en el desarrollo de software son esenciales para garantizar
la calidad y estabilidad del código antes de lanzarlo a producción. Tanto
las pruebas manuales como las automatizadas juegan un rol
fundamental para detectar errores. Usar Python para automatizar estas
pruebas no solo ahorra tiempo, sino que también asegura que los
errores críticos se detecten antes, evitando posibles pérdidas
económicas y de confianza de los usuarios.
¿Qué son las pruebas manuales y cómo funcionan?
Las pruebas manuales consisten en validar el funcionamiento de un
cambio en el código mediante la interacción directa con la aplicación.
Esto se hace, por ejemplo, al modificar una línea de código, ejecutar la
aplicación y verificar si el cambio funciona correctamente. Es similar al
trabajo de un mecánico que ajusta un auto y luego lo prueba
encendiéndolo cada vez.
¿Cómo funcionan las pruebas unitarias?
Las pruebas unitarias permiten validar que pequeñas piezas de código,
como funciones individuales, trabajan correctamente. En el ejemplo de
un mecánico, esto sería como revisar solo un neumático: inflarlo,
verificar que no tenga fugas y confirmar que esté en buen estado. En
Python, estas pruebas se automatizan utilizando la palabra clave assert,
que compara los resultados esperados con los reales.
¿Qué son las pruebas de integración?
Las pruebas de integración verifican que diferentes componentes de la
aplicación funcionen en conjunto sin problemas. En el caso del
mecánico, sería comprobar que el neumático instalado en el coche
funcione bien con el resto de las piezas del vehículo. En desarrollo de
software, esto se traduce a verificar, por ejemplo, que el proceso de
inicio de sesión funcione correctamente, desde la entrada del usuario
hasta la confirmación del acceso.
¿Cómo Python nos ayuda a automatizar pruebas?
Python ofrece herramientas para automatizar las pruebas, permitiendo
ejecutar muchas validaciones rápidamente sin intervención manual. A
través de pruebas automatizadas, podemos detectar errores que de
otro modo podrían pasar desapercibidos y llegar a producción, como un
fallo en el cálculo de una orden de compra. Esto es crítico para evitar
situaciones como la que enfrentó CrowdStrike, donde un error no
detectado en una actualización paralizó aeropuertos.

Instalación y Configuración del


Entorno de Pruebas
Publicado el 05 de septiembre de 2024

La creación de funciones y pruebas para el código que se va a producción es clave para validar
resultados correctamente. En Python, el uso de Unit Testing simplifica este proceso, permitiendo
automatizar pruebas y hacerlas más legibles y eficientes, además de integrarse fácilmente con
sistemas de Continuous Integration.

¿Cómo mejorar la legibilidad de las pruebas


con Unit Testing?
Python incluye Unit Testing de forma nativa, proporcionando clases reutilizables para ejecutar
pruebas de manera automática o manual. Esta herramienta no solo permite mejorar la legibilidad,
sino también identificar y solucionar errores rápidamente, sin necesidad de depender de print
para verificar si las pruebas se están ejecutando.

¿Cómo estructurar un proyecto de testing en


Python?
1. Separación de código y pruebas: Coloca el código fuente en una carpeta src y las pruebas en
una carpeta test.
2. Entorno virtual: Crea un entorno virtual para aislar dependencias del proyecto. Esto se hace con
python -m venv, lo que genera una carpeta con binarios y librerías solo para el proyecto.
3. Uso de gitignore: Añade un archivo .gitignore para evitar que el entorno virtual y otros
archivos no deseados se suban al repositorio.

¿Cómo escribir y ejecutar pruebas con Unit


Test?
Para escribir pruebas, sigue estas buenas prácticas:

 Crea un archivo de pruebas, como test_calculator.py, y empieza importando Unit Test.


 Define clases que hereden de unittest.TestCase.
 Escribe métodos de prueba que validen funciones específicas usando assertEqual para
verificar resultados.

Ejemplo básico de prueba:

import unittestfrom src.calculator import add, subtract


class TestCalculator(unittest.TestCase):
def test_add(self):
self.assertEqual(add(2, 3), 5)

def test_subtract(self):
self.assertEqual(subtract(10, 5), 5)

Ejecuta las pruebas con python -m unittest discover para que Unit Testing encuentre y
ejecute las pruebas automáticamente.

¿Qué hacer cuando una prueba falla?


Si una prueba falla, Unittest lo indica con una “F”, mostrando el error detallado, lo que facilita la
depuración. Puedes forzar un fallo, por ejemplo, esperando que la suma de 2 + 3 sea 6 en lugar
de 5, para ver cómo se comporta.

También podría gustarte