Inicio Productos BACTERIO
BACTERIO Mutation Test System
logo_bacterio_2

BACTERIO Mutation Test System es una herramienta de pruebas para Java basada en la técnica de mutación. La mutación es un técnica de pruebas que se basa en la capacidad de los casos de prueba para encontrar fallos en el sistema que se está probando. La mutación es una técnica desarrollada durante las últimas décadas en el ámbito de la investigación cuya transferencia al entorno industrial se está realizando con éxito durante los últimos años.

 
Características de la nueva versión de BACTERIO
  • Testing exploratorio automático. Ahora, Bacterio es capaz capturar eventos de teclado y ratón y guardarlos como casos de prueba en un formato propio de Bacterio. Una vez almacenados, estos casos de prueba pueden ser ejecutados contra los mutantes para calcular el “mutation score”. Esta es una es una Buena manera para medir la calidad de las pruebas exploratorias mediante testing basado en mutación.
  • “Mutant schema” implementado. En la nueva versión, Bacterio implementa la técnica “mutant schema”, la cual reduce los requisitos de almacenamiento para guardar los mutantes y acelera la ejecución de los mismos. Esto hace a Bacterio más rápido y eficiente.
  • Tipos de mutación. En la versión anterior, Bacterio solo implementaba mutación débil flexible. En esta versión, Bacterio implementa mutación fuerte, mutación débil “BB-Weak/1” y mutación débil “BB-Weak/N”. Cada tipo de mutación tiene una diferente relación efectividad/eficiencia, lo que da más flexibilidad durante un proyecto de pruebas, pudiendo elegir entre un tipo u otro.
  • Almacenamiento de tiempos de ejecución. Esta nueva versión de Bacterio es capaz de almacenar los tiempos de generación y ejecución de mutantes. Esta importante información puede ser usada para estimar costes en futuros proyectos de prueba.
  • Ejecución en paralelo. Puesto que la ejecución de los casos de prueba contra los mutantes tiene un alto coste computacional, la nueva versión de Bacterio implementa dos nuevos módulos que permiten ejecutar los mutantes en diferentes ordenadores concurrentemente, con la única restricción de que los ordenadores han de estar en la misma red (no es necesario ningún sistema operativo especial).
  • Asistencia para la detección de mutantes equivalentes. La nueva versión de Bacterio asiste a los testers en la identificación de mutantes equivalentes. Para ello, Bacterio compara el código de sistema original y de cada uno de los mutantes y las diferencias encontradas se muestran con diferentes colores.
 
¿Qué es BACTERIO Mutation Test System?

BACTERIO Mutation Test System es una herramienta para probar aplicaciones Java completas. Genera copias de la aplicación e introduce en cada una, a criterio del usuario, uno o más fallos. A partir de este momento, permite ejecutar un test suite compuesto de casos JUnit o UISPec contra la versión original y contra los mutantes: cuando un test suite no encuentra fallos en la aplicación original y, sin embargo, sí que encuentra los que se han sembrado en los mutantes, puede decirse que la prueba de la aplicación ha sido satisfactoria, ya que se dispone de un test suite muy completo que no encuentra fallos en la versión original y elimina un alto porcentaje de mutantes.

El proceso de testing basado en mutación con la herramienta BACTERIO Mutation Test System queda resumido en la siguiente figura:

 

Proceso de preubas con BACTERIO

 

El proceso de pruebas con BACTERIO Mutation Test System se puede resumir en los siguientes pasos:

 

1. Generación de mutantes

En este primer paso, BACTERIO Mutation Test System genera versiones defectuosas (mutantes) de las clases que componen la aplicación que se va a probar. Para ello, proporciona varios operadores de mutación: reemplazo de operadores aritméticos, intercambio de parámetros, incrementador y decrementador de operandos, etc.

 

Generación de Mutantes


2. Combinación de mutantes

En el segundo paso, BACTERIO Mutation Test System proporciona tres algoritmos (un mutante por versión, usar cada mutante al menos una vez, y usar todos los pares de mutantes) para combinar los mutantes y producir versiones defectuosas.

 

Combianación de mutantes


3. Ejecución de los casos de prueba

En este último paso, BACTERIO Mutation Test System permite ejecutar los casos de prueba sobre las distintas versiones defectuosas generadas, obteniendo el porcentaje de mutantes eliminados, y por tanto la cobertura alcanzada con el test suite diseñado.

 

Ejecución de los casos de preuba

 
Versión Demo de BACTERIO Mutation Test System

 

Obtener demo