# Testing
## Unit Test
El unit Testing consiste en comprobar funcionalidades puntuales del codigo sin tener que ejecutar todo el proyecto entero para saber si funciona o no.

Algunas caracteristicas que tiene es que no usan la informacion directa de la base de datos sino que utilizan stubs o info no relevante, además se ejecutan en el entorno del desarrollador. el codigo nunca interactua contra servicios externos.

## Test de Intergracion
testea partes del codigo que pegan contra servicios externos como lo pueden ser apis web o servidores de mails. Además se ejecutan en un entorno creado diferente al del desarrollador.

## Test funcional
Simulan el uso de un usuario final.

## Pruebas de Estress
son Pruebas que testean la performance del programa.

## QA en todas partes
- Incremental.
- pasos pequeños.
- Suite de tests automatizados.
- Revisiones de codigo.
- Usar nuestros productos nosotros mismos.
- Monitorizacion.

# PyTest
Vamos a usar este testing framwork para poder hacer testeos.

## Notas
Tiene que usar el prefijo test_ adelante de cada nombre.







