Repaso
English
TestingAvanzadoTST-12

El mutation testing mide…

Opciones

  1. La velocidad de ejecución del código bajo prueba
  2. La calidad de los tests: planta bugs y espera fallos (Opción correcta)
  3. El uso de memoria del código durante una ejecución
  4. La frecuencia con la que cambia el código en el repositorio

Respuesta

Lo buenos que son tus tests: inyecta pequeños bugs (mutantes) en el código y comprueba si los tests fallan

Por qué

La herramienta hace pequeños cambios en tu código, por ejemplo > por >= o + por -, y ejecuta tus tests para cada cambio.

Si los tests siguen pasando con el bug, ese mutante 'sobrevivió', lo que significa que tus tests no comprueban de verdad ese comportamiento.

Es lento, así que normalmente se ejecuta en los módulos importantes. Herramientas: mutmut (Python), Stryker (JS).

Recuerda

Mutation testing = ¿mis tests detectan bugs plantados a propósito?

Términos clave

Practica esta pregunta en Repaso