• Ignacio Ribera Díaz

Test de mutación: la calidad es prioritaria



Desde que la programación se convirtió en una herramienta para la resolución de trabajos complejos, se han ido creando diferentes metodologías y herramientas que permiten comprobar el correcto funcionamiento de los programas.


Existen diversos tipos de pruebas que se pueden clasificar según su manera de actuar o según qué parte del programa se quiere probar, como test unitarios, de integración, de estrés, de compatibilidad…


Hoy vamos a hablar sobre un tipo de pruebas poco conocido, pero no por ello menos importante, las pruebas de mutación.


¿Qué es una prueba de mutación?


Los test de mutación son pruebas para medir la calidad del código a largo plazo. Estas pruebas consisten en cambiar (mutar) ciertos puntos del código fuente y ver si se detectan estos cambios (errores) mediante los test unitarios.


Las pruebas de mutación son, por tanto, un sistema doble de calidad que nos permite comprobar tanto la eficacia de nuestros test unitarios y respaldar la cobertura de código exigida en nuestros proyectos, como la robustez del código testeado mediante esos test unitarios.


¿Para qué sirven las pruebas de mutación?



El objetivo final de este tipo de test es comprobar la robustez del código que es testeado mediante test unitarios. Es decir, si los test unitarios fallan es porque han detectado esos pequeños cambios (mutaciones) que hemos incluido en el código fuente.


La idea central en la que se basa este tipo de pruebas es que el código mutado debe hacer fallar los test unitarios, comprobando que el código desarrollado y testeado no funciona de la manera esperada.


Si al comprobar el código con los test unitarios no se genera un error, significa que el desarrollo no es suficientemente robusto, y, por tanto, habrá que continuar trabajando en él hasta conseguir el resultado que se marcó como objetivo en la definición de las funcionalidades del proyecto.


Ejemplo de prueba de mutación


Para tenerlo del todo claro, vamos a poner un ejemplo muy sencillo que ilustra el concepto y el funcionamiento de las pruebas de mutación:


Tenemos una función que suma 2 números y los test están comprobando que esa suma se hace correctamente:


public int add(int i1, int i2) {

return i1 + i2;

}


Al hacer los test de mutación se cambiará (mutará) el operador ‘+’ por ‘-’ y se volverán a ejecutar los test:


public int add(int i1, int i2) {

return i1 - i2;

}


Con este código ‘mutado’ se busca que los test fallen, lo que confirmaría la robustez del código.



Texto: Ignacio Ribera Díaz (Desarrollador de software)

Edición de texto: Marisa Perdices

Imágenes: Lorena Heredia, ©Photon photo/Shutterstock
























Entradas Recientes

Ver todo

PARA CONTACTAR CON NUESTRO EQUIPO DE VENTA O SOPORTE, POR FAVOR LLAME O ESCRÍBANOS:

Enlaces de Interés:

Tel: 91-880-72-00

Email: info@mytra.es

Calle Punto Net, 4

28805 Alcalá de Henares,

Madrid, Spain

© 2018 by Mytra Control S.L.

  • LinkedIn Social Icon
  • Twitter Social Icon
  • YouTube Social  Icon