Cobertura de pruebas en pruebas de software

¿Qué es la cobertura de prueba?

La cobertura de prueba se define como una métrica en Pruebas de software que mide la cantidad de pruebas realizadas por un conjunto de pruebas. Incluirá la recopilación de información sobre qué partes de un programa se ejecutan al ejecutar el conjunto de pruebas para determinar qué ramas de declaraciones condicionales se han tomado.

En términos simples, es una técnica para garantizar que sus pruebas prueben su código o qué parte de su código ejerció al ejecutar la prueba.

¿Qué hace la cobertura de prueba?

  • Encontrar el área de un requisito no implementado por un conjunto de casos de prueba
  • Ayuda a crear casos de prueba adicionales para aumentar la cobertura.
  • Identificar una medida cuantitativa de la cobertura de la prueba, que es un método indirecto para el control de calidad.
  • Identificar casos de prueba sin sentido que no aumentan la cobertura

¿Cómo se puede lograr la cobertura de la prueba?

  • La cobertura de la prueba se puede realizar ejercitando técnicas de revisión estática, como revisiones por pares, inspecciones y recorridos.
  • Transformando los defectos ad-hoc en casos de prueba ejecutables
  • A nivel de código o de prueba unitaria, la cobertura de la prueba se puede lograr aprovechando la cobertura de código automatizada o las herramientas de cobertura de prueba unitaria.
  • La cobertura de pruebas funcionales se puede realizar con la ayuda de herramientas de gestión de pruebas adecuadas.

Beneficios de la cobertura de pruebas en ingeniería de software

  • Puede asegurar la calidad de la prueba.
  • Puede ayudar a identificar qué partes del código se modificaron realmente para el lanzamiento o la corrección.
  • Puede ayudar a determinar las rutas en su aplicación que no fueron probadas.
  • Prevenir Defecto fuga
  • El tiempo, el alcance y el coste se pueden mantener bajo control
  • Prevención de defectos en una etapa temprana del ciclo de vida del proyecto
  • Puede determinar todos los puntos de decisión y rutas utilizados en la aplicación, lo que le permite aumentar la cobertura de la prueba.
  • Las lagunas en los requisitos, casos de prueba y defectos a nivel de unidad y de código se pueden encontrar de forma sencilla

¿Cuáles son las principales diferencias entre la cobertura de código y la cobertura de prueba?

Cobertura de código y la cobertura de prueba son técnicas de medición que le permiten evaluar la calidad del código de su aplicación.

A continuación, se muestran algunas diferencias fundamentales entre las cabinas de estos métodos de cobertura:

parámetros Cobertura de código Cobertura de prueba
Definición Término de cobertura de código que se utiliza cuando el código de la aplicación se ejecuta cuando se ejecuta una aplicación. Cobertura de prueba significa plan de prueba general.
Objetivo Las métricas de cobertura de código pueden ayudar al equipo a monitorear sus pruebas automatizadas. La cobertura de la prueba se proporciona details sobre el nivel al que se ha probado la codificación escrita de una aplicación.
Subtipos Cobertura de código dividida con subtipos como cobertura de estado de cuenta, cobertura de condición, cobertura de sucursal, cobertura de Toogle, cobertura de FSM. Ningún subtipo de método de cobertura de prueba.

Fórmula de cobertura de prueba

Para calcular la cobertura de la prueba, debe seguir los pasos que se indican a continuación:

Paso 1) El total de líneas de código en la calidad del software que está las pruebas

Paso 2) El número de líneas de código que ejecutan actualmente todos los casos de prueba.

Ahora, necesita encontrar (X dividido por Y) multiplicado por 100. El resultado de este cálculo es el porcentaje de cobertura de su prueba.

Por ejemplo:

Si el número de líneas de código en un componente del sistema es 500 y el número de líneas ejecutadas en todos los casos de prueba existentes es 50, entonces la cobertura de la prueba es:

(50 / 500) * 100 = 10%

Ejemplos de cobertura de pruebas

Ejemplo 1:

Por ejemplo, si "cuchillo" es un artículo que desea probar. Luego debes concentrarte en comprobar si corta las verduras o frutas con precisión o no. Sin embargo, hay otros aspectos a tener en cuenta como que el usuario debería poder manejarlo cómodamente.

Ejemplo 2:

Por ejemplo, si desea consultar la aplicación del Bloc de notas. Entonces es imprescindible comprobar sus características esenciales. Sin embargo, es necesario cubrir otros aspectos, como que la aplicación del Bloc de notas responde de manera esperada mientras usa otras aplicaciones, el usuario comprende el uso de la aplicación, no falla cuando el usuario intenta hacer algo inusual, etc.

Desventajas de la cobertura de la prueba:

  • La mayoría de las tareas cubiertas por la prueba son manuales ya que no existen herramientas para automatizar. Por lo tanto, se necesita mucho esfuerzo para analizar los requisitos y crear casos de prueba.
  • La cobertura de prueba le permite contar características y luego compararlas con varias pruebas. Sin embargo, siempre hay espacio para errores de juicio.