¿Qué es la cobertura de código?

La cobertura de código se conoce como la medida en la que describimos el grado del código fuente del programa que necesita pruebas. En resumen, la cobertura de código es un tipo de técnica de prueba de recuadro blanco en la que localizamos aquellas partes del programa que no han sido ejecutadas por el conjunto de casos de prueba. También se incorporan en la creación de pocos casos de prueba para elevar la cobertura, así como la determinación de la medida bastante buena de la cobertura del código. Sin embargo, en muchos casos, este sistema recopila información sobre el programa en ejecución. La cobertura del código, además, la incorpora junto con la información del código fuente para sacar el informe sobre la cobertura del código del conjunto de pruebas.

¿Cómo funciona la cobertura de código?

En realidad, existen varios enfoques para la medición de la cobertura del código. Si consideramos de manera amplia, existen 3 de los enfoques que son los siguientes:

  • Instrumentación del código fuente : la instrumentación del código fuente agregará las declaraciones de instrumentación al código fuente y luego compilará el código junto con la herramienta de compilación normal para obtener un ensamblaje instrumentado.
  • Instrumentación de código intermedio: en la instrumentación de código intermedio, los archivos compilados se instrumentan mediante la adición de los códigos de bytes que son nuevos y después de eso, se genera la nueva clase.
  • Recopilación de información de tiempo de ejecución: En la recopilación de información de tiempo de ejecución recopilamos la información del entorno que es tiempo de ejecución, ya que el código se ejecuta para determinar la información de cobertura.

Dado que el código se ejecuta bajo la prueba, el sistema de cobertura de código estaría recopilando información sobre cuáles de las declaraciones se ejecutan. Ahora, esta información se utilizaría como parte de la base de los informes. Además, los métodos de cobertura de código difieren según las diversas formas de la información de cobertura que se recopila. Existen varios métodos de cobertura de código si vamos más allá de los métodos básicos de cobertura de declaraciones.

Métodos de cobertura del código

Existen muchos métodos de cobertura de código. Pocos de ellos se enumeran a continuación:

  • Cobertura de condición
  • Cobertura FSM
  • Cobertura de estado de cuenta
  • Cobertura de decisiones
  • Cobertura de sucursal

1. Cobertura de la declaración

  • Es la técnica de diseño de prueba de caja blanca en la que tratamos con la ejecución de todas las declaraciones ejecutables al menos una vez que existe en el código fuente. La cobertura del código es necesaria en el cálculo, así como en la medición de muchas declaraciones que existen en el código fuente, así como aquellas que pueden ejecutarse siempre que se cumplan los requisitos.
  • Este método es necesario en la derivación de los escenarios dependiendo de la estructura del código que existe bajo la prueba.

2. Cobertura de decisiones

  • Este método es útil para informar los resultados verdaderos o falsos de cada expresión que es booleana. Las expresiones en esta cobertura a menudo se vuelven complicadas. Es por eso que es bastante difícil obtener una cobertura del 100%.
  • Esa es la razón por la que existen varios métodos para informar este tipo de métrica. Estos métodos completos básicamente se ocupan de la cobertura de las combinaciones más significativas. La cobertura de decisiones proporciona una gran sensibilidad para controlar el flujo.

3. Cobertura de sucursal

  • Cuando hablamos de este tipo, queremos decir que cada salida que proviene del módulo de código se prueba. Como ejemplo, podemos considerar que en caso de que las salidas sean binarias, probaremos las salidas True y False.
  • La cobertura de sucursales nos ayuda a garantizar que todas las sucursales posibles que surjan de cada una de las decisiones, la condición se ejecute como mínimo una vez.
  • A través del método de cobertura Branch, podemos calcular la fracción de los segmentos de código que son independientes. Además, este método nos permite descubrir qué secciones del código no tienen las ramas.

Existe la fórmula del cálculo de la cobertura de sucursal:

Cobertura de sucursal = Número de sucursales ejecutadas / No total de sucursales ejecutadas

4. Condición de cobertura

  • La cobertura de condición, que también se llama cobertura de expresión, nos dice cómo se evalúan las variables o las subexpresiones que existen en la declaración condicional.
  • Consideremos un ejemplo en el que una expresión consiste en operaciones booleanas como AND, OR o XOR que consiste en el número total de posibilidades.
  • Este método en realidad nos brinda una sensibilidad mucho mejor para controlar el flujo en comparación con la cobertura de decisión. Este método no nos brinda una garantía con respecto a la cobertura de decisión completa.

Existe la fórmula del cálculo de la cobertura de sucursal:

Cobertura de condición = Número de operandos ejecutados / No total de operandos ejecutados

5. Cobertura de máquinas de estado finito

  • Este método se considera el tipo más complejo de método de cobertura de código. La razón detrás de esto es que este método realmente funciona en el comportamiento del diseño.
  • Además, en este método, tenemos que averiguar cuántos de los estados específicos del tiempo son visitados y transitados. Además, este método también verifica cuántas de las secuencias se consideran en la máquina de estados finitos.

Ventajas de la cobertura del código

Algunas de las ventajas se dan a continuación:

  • Es bastante útil en la evaluación de la medida cuantitativa de la cobertura del código.
  • También nos permite la creación de casos de prueba adicionales para aumentar la cobertura.
  • La cobertura del código también nos permite ubicar aquellas partes del programa que no son ejercidas por los casos de prueba.

Desventajas de la cobertura del código

Algunas de las desventajas se dan a continuación:

  • Siempre que una característica en particular no esté bien implementada dentro del diseño, la cobertura del código aún informaría que la cobertura es del 100%.
  • Es imposible entender si prueba todos los valores posibles de la función a través de la cobertura del código
  • Tampoco dice cuánto y qué tan bien cubrimos nuestra lógica.

Conclusión

La cobertura del código se considera la medida en la que describimos el grado en el que se probó el código fuente de un programa. También nos ayuda a calcular la eficiencia de la implementación de prueba. Además, la cobertura de la declaración significa ejecutar todas las declaraciones ejecutables como mínimo una vez.

Artículos recomendados

Esta es una guía para la cobertura del código. ¿Aquí discutimos los métodos y cómo funciona la cobertura de código? junto con ventajas y desventajas. También puede consultar los siguientes artículos para obtener más información:

  1. ¿Cómo la cobertura de prueba hace que trabajar sea tan fácil?
  2. Varias herramientas de prueba de GUI
  3. Tipos de pruebas de mutación
  4. ¿Qué es CodeIgniter?
  5. Herramientas de cobertura de código | Las 6 principales herramientas de cobertura de códigos
  6. ¿Qué es el caso de prueba? El | Consejos y trucos