La cobertura de aplicaciones es la actividad de métricas más poderosa que no está haciendo

Por Adán Trujillo

1 de junio de 2016

3  min leer

La cobertura del código es un primer paso en un proceso general de calidad del software que le permite comenzar a comprender dónde acecha el riesgo en su aplicación. Además, los métodos en los que se mide la cobertura son importantes: diferentes actividades miden diferentes dimensiones de la aplicación.

Ingrese la cobertura de la aplicación, que expresa el grado en que el código fuente de la aplicación es ejercido por todas las prácticas de prueba. La cobertura de la aplicación proporciona una visión extremadamente poderosa del riesgo porque expone partes de la aplicación que no se han probado o que no se han probado. Antes de entrar en los detalles de la cobertura de la aplicación, analicemos cómo se mide normalmente la cobertura del código.

¿Qué hay de malo en la forma en que normalmente mido la cobertura?

Los equipos de desarrollo / pruebas generalmente se apoyan en las pruebas unitarias como el vehículo principal para la cobertura de conducción. Las pruebas unitarias también brindan muchos otros beneficios valiosos, como:

  • Prueba instantánea y automática de que el código funciona en cualquier momento y en cualquier lugar
  • Confianza para refactorizar el código, lo que resulta en un diseño mejorado y una mejor capacidad de mantenimiento.
  • Retroalimentación casi instantánea si algo se rompe
  • La capacidad de validar el código antes de registrarlo (porque las pruebas pueden ejecutarse localmente e independientemente de la infraestructura de integración continua)
  • Permite a los equipos de desarrollo corregir errores mientras el código es lo más importante, en lugar de depurarlo durante horas / días a medida que la base del código envejece.

Para ser claros, somos grandes fanáticos de las pruebas unitarias y si el tiempo no fuera un problema, ejecutaríamos el conjunto de regresión completo después de cada cambio para monitorear la cobertura y garantizar la seguridad y confiabilidad de la aplicación. Obviamente, nadie tiene el tiempo ni los recursos para implementar este nivel de pruebas. Además, medir la cobertura durante la ejecución de pruebas funcionales y manuales también es importante para obtener una visión holística de qué tan bien se cubre la aplicación.

La conclusión es que medir la cobertura durante la ejecución de la prueba unitaria es excelente, pero también medir la cobertura durante las pruebas funcionales y manuales es aún mejor.

Por qué debería agregar cobertura de aplicaciones a la combinación de desarrollo / prueba

Una métrica crítica para evaluar la 'preparación para la publicación' es la cobertura de la aplicación. La cobertura de la aplicación es la agregación y correlación de la cobertura del código de varias técnicas de prueba. Al agregar la cobertura del código de todas las prácticas de prueba, las organizaciones pueden tener una mejor visibilidad de las áreas de riesgo de la aplicación.

¿No hay tiempo para realizar pruebas? No hay problema

Además de permitir métricas de cobertura y calidad más precisas, la cobertura de la aplicación también puede ayudar a las organizaciones a enfocar los esfuerzos de prueba cuando las limitaciones de tiempo limitan su capacidad para ejecutar el conjunto completo de pruebas de regresión manual. En las pruebas exploratorias, por ejemplo, los evaluadores saben que el código alrededor de cierta funcionalidad ha cambiado e intentan identificar rápidamente un comportamiento inesperado realizando pruebas manuales en torno a la funcionalidad modificada. La captura de datos de cobertura en la aplicación en ejecución durante las pruebas exploratorias aumenta potencialmente el valor de este enfoque porque permite una mejor comprensión del código que realmente tocó el probador.

Una plataforma de pruebas de desarrollo como DTP de Parasoft puede reducir la dependencia de las pruebas exploratorias arbitrarias al proporcionar a los equipos una mejor comprensión de los cambios, las áreas potencialmente afectadas y las que deben volver a probarse. Las pruebas exploratorias se convierten en una capa adicional de pruebas que se utiliza para llenar los vacíos.

Ninguna métrica o actividad única es una panacea para la prevención de defectos

Sin embargo, es importante tener en cuenta que la cobertura de la aplicación por sí sola no es una medida creíble de la calidad de la aplicación. Los datos de cobertura también deben expresarse dentro del contexto de otras métricas de calidad del software, como violaciones de análisis estático, resultados de pruebas unitarias, etc., para proporcionar una hoja de ruta para prevenir defectos del software. La siguiente captura de pantalla muestra una vista en Parasoft Development Testing Platform (DTP) con datos de cobertura, resultados de pruebas unitarias, resultados de pruebas funcionales, infracciones de análisis estático y otras métricas. Este nivel de detalle granular ayuda a los gerentes a comprender el estado actual del riesgo en la aplicación, así como el impacto de los cambios recientes en las métricas de calidad.

Pero espera hay mas

Podríamos seguir y seguir sobre los beneficios de la cobertura de aplicaciones y cómo Parasoft DTP fusiona y correlaciona los datos con la cobertura de otras actividades de prueba para proporcionar una gran cantidad de beneficios de calidad del software. En cambio, si le gustó lo que ha leído y está interesado en ver de primera mano nuestras capacidades de cobertura de aplicaciones, contáctenos y estaremos encantados de atenderle. programe una demostración.

Por Adán Trujillo

Reciba las últimas noticias y recursos sobre pruebas de software en su bandeja de entrada.