Prueba de mutación
Procedimiento que introduce deliberadamente pequeños errores en el código para comprobar la capacidad de detección de las pruebas.
Una prueba de mutación modifica el código deliberadamente de forma mínima en puntos concretos — por ejemplo, se invierte un operador de comparación o se cambia una constante — y comprueba si la suite de pruebas existente detecta ese cambio, la llamada mutación. Si ninguna prueba falla, la mutación ha «sobrevivido» y, en caso de duda, las pruebas no cubren suficientemente ese punto.
Las pruebas de mutación abordan una laguna que la mera cobertura de pruebas deja abierta: el código puede recorrerse sin que ninguna prueba compruebe realmente si el resultado es correcto. Como cada mutación vuelve a ejecutar la suite de pruebas completa, el procedimiento es intensivo en cómputo y en la práctica a menudo no se ejecuta en cada commit.
Para qué lo utiliza Provimedia
Provimedia emplea pruebas de mutación en proyectos seleccionados como gate local para descubrir puntos ciegos en su propia suite de pruebas.
¿Quiere usar Prueba de mutación en su proyecto?
En una conversación gratuita descubriremos cómo podemos llevarlo a cabo para usted.
Más de Calidad del software
Clean Code
Idea rectora para un código pensado para ser comprensible para las personas y no solo para el compilador.
Más informaciónRevisión de código
Examen sistemático del código por parte de otros desarrolladores antes de su fusión en la rama principal.
Más informaciónCode Smell
Patrón llamativo en el código que no es necesariamente erróneo, pero que apunta a un problema más profundo.
Más informaciónDefinition of Done
Lista escrita y acordada en el equipo de los criterios que una tarea debe cumplir para considerarse terminada.
Más informaciónLinting
Examen automatizado del código en busca de errores de estilo y formato según reglas fijas.
Más informaciónQuality Gate
Etapa de verificación en la pipeline de desarrollo que solo deja pasar un cambio si cumple criterios fijos.
Más informaciónRefactorización
Reestructuración deliberada del código existente sin modificar su comportamiento externo.
Más informaciónPrueba de regresión
Nueva ejecución de pruebas sobre funciones existentes tras un cambio, para detectar errores recién surgidos.
Más información