Adsence

martes, 30 de diciembre de 2014

Cobertura de Codigo


La cobertura de pruebas es una de las medidas en tanto por ciento que nos indica el grado en que el código fuente ha sido probado.
Es decir no da una idea sobre los métodos probado por pruebas unitarias automáticas es una de las medidas realmente complicadas de obtener al menos manualmente sin embargo existen herramientas que nos ayuda a visualizar de mejor manera este parámetro. Un ejemplo es EclEmma que es un plugin de eclipse basado en la librería JaCoCo que quiere decir java code coverage es decir es una herramienta para medir la cobertura de pruebas en java . Otro ejemplo es dotCover que es una herramienta desarrollada por JetBrains para tecnologías .net , obviamente una es libre y otra de licencia paga dependiendo de las tecnologías.
Ahora aquí la gran pregunta es ¿Cuál es el porcentaje de cobertura de código que debo cumplir? pues es una pregunta un poco relativa pues hay que tener en cuenta algunas cosas como:

Mientras más cobertura de pruebas más costoso el proyecto

Recordemos que mientras más pruebas hagamos requiere de mayor esfuerzo por lo que se hace más costoso el proyecto, además que esta métrica quiere decir que debemos probar todos los bucles y métodos de nuestra aplicación por lo que tener un 100% de cobertura es una "locura".

La cobertura de pruebas no me asegura cero errores.

Pues bien suena un poco extraño esto pero pensemos en algo los test unitarios se hacen preparando escenarios a probar de un método, sin embargo si tenemos una aplicación diseñada bajo principios básicos de ingeniería nos da como resultado métodos que son parte de procesos y estos a su vez dan requerimientos funcionales, pero estos requerimientos funcionales normalmente tienen que ver entradas de interfaces graficas o si bien entradas de otro tipo de interfaces como otras aplicaciones porque realmente asegurar ese cero errores es imposible de dar con un 100% de efectividad.
Ahora respecto de la pregunta anterior como vemos es realmente compleja de responder pero en la experiencia mía y de varias otras personas se dice que un porcentaje de cobertura de al menos 50% te puede asegurar algo, sin embargo recordemos que las pruebas que miden esta medida son test unitarios, porque nuestras aplicaciones normalmente van a ser probadas con otro tipos de pruebas tanto de caja negra como de caja blanca que las explicaremos más adelante.

No hay comentarios.:

Publicar un comentario

Déjame tus mensajes y recomendaciones