- Manuales: Ejecutados por nosotros mismos, resultan costosos, ya que se requiere contar con una persona encargada de esta tarea; para configurar un entorno y así mismo ejecutar las pruebas.
- Automaticas: Mediante software, pueden llegar a ser complejos, son más rápidos y confiables, componente para CI/CD, permite escalar más rápido los test
Tipos de Test:
- Integración. Verifican que los diferentes módulos y/o servicios usados por nuestra aplicación funcionan en armonía cuando trabajan en conjunto. Por ejemplo, pueden probar la interacción con una o múltiples bases de datos, o asegurar que los microservicios operen como se espera
- Funcionales. Se centran en los requerimientos de negocios de una aplicación, verifican la salida de una acción, sin prestar atención a los estados intermedios del sistema mientras se lleva a cabo la ejecución. La diferencia con un test de integración es que una prueba funcional esperaría testear un valor específico a un usuario, en concordancia a lo definido por los requerimientos del producto.
- End-to-End. Replican el comportamiento de los usuarios con el software, en un entorno de aplicación completo.
- De carga o Performance. Verifican como responder el sistema cuando éste se encuentra bajo una alta carga. Estos test son no-funcionales, y pueden tener diversas formas para entender: la fiabilidad, estabilidad y disponibilidad de la plataforma.
Referencias:
Pruebas unitarias NodeJS
Test Unitarios Go