2009-07-21 15 views

Respuesta

13

Usted puede obtener muy buena información de SITIO WEB SO

Free code coverage tools

What is Code Coverage and how do YOU measure it?

cobertura de código es una medida de la muchas líneas/bloques/arcos de su código se ejecutan mientras el sistema automatiza Las pruebas d se están ejecutando. El CC se recopila mediante el uso de una herramienta especializada para instrumentar los binarios para agregar llamadas de rastreo y ejecutar un conjunto completo de pruebas automatizadas contra el producto instrumentado. Una buena herramienta de CC le dará no solo el porcentaje del código que se ejecuta, sino que también le permitirá profundizar en los datos y ver exactamente qué líneas de código se ejecutaron durante una prueba en particular.

Los algoritmos de cobertura de código se crearon primero para abordar el problema de evaluar un código fuente mirando directamente el código fuente. La cobertura del código pertenece a la categoría de pruebas estructurales debido a las afirmaciones hechas en las partes internas del programa y no en las salidas del sistema. Por lo tanto, la cobertura del código tiene como objetivo encontrar partes del código que no valen la pena probar.

http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=ART&ObjectId=7580 alt text http://www.codecoveragetools.com/images/stories/software_lifecycle.jpg

su buena para

  1. cobertura funcional con el objetivo de encontrar cómo se ejecutan muchas funciones o procedimientos.

  2. Se ha ejecutado una cobertura de línea o línea que identifica el número de líneas en el código fuente.

  3. Cobertura de estado o cobertura de decisión responde a la pregunta sobre el número de condiciones de bucle que se ejecutaron en el programa.

  4. Se ha ejecutado la cobertura de ruta que se centra en encontrar todas las rutas posibles desde un punto de partida dado en el código.

  5. Cobertura de entrada y salida que determina cuántas funciones (C/C++, Java) o procedimientos (Pascal) se estaban ejecutando desde el principio hasta el final.

HERRAMIENTAS

http://www.codecoveragetools.com/

http://java-source.net/open-source/code-coverage

http://www.codecoveragetools.com/index.php/coverage-process/code-coverage-tools-java.html

http://open-tube.com/10-code-coverage-tools-c-c/

http://csharp-source.net/open-source/code-coverage

http://www.kdedevelopers.org/node/3190

+1

Woooww .excellent description. Entiendo . GRACIAS ! – n00ki3

4

De wikipedia article

cobertura de código es una medida utilizada en pruebas de software. Describe el grado con el que se ha probado el código fuente de un programa . Es un formulario de prueba que inspecciona el código directamente y es por lo tanto una forma de prueba de caja blanca 1. Actualmente, el uso del código de cobertura se extiende a en el campo del hardware digital, la metodología de diseño contemporáneo de que se basa en la descripción del hardware idiomas (HDL).

Advocating the use of code coverage

Una herramienta de cobertura de código simplemente mantiene un seguimiento de qué partes de su código consiguen ejecutado y qué partes no lo hacen.

Normalmente, los resultados son granulares abajo al nivel de cada línea de código. Por lo tanto, en una situación típica, inicia su aplicación con una herramienta de cobertura de código configurada para supervisarla. Cuando sale de la aplicación, la herramienta generará un informe de cobertura de código que muestra qué líneas de código se ejecutaron y cuáles no. Si cuenta el número total de líneas que se ejecutaron y dividen por el número total de líneas que podrían haberse ejecutado , obtendrá un porcentaje. Si cree en la cobertura del código, el es mayor en porcentaje, mejor. En la práctica , llegar al 100% es extremadamente raro .

El uso de una herramienta de cobertura de código es generalmente combinado con el uso de algún tipo de paquete de prueba automática . Sin las pruebas automáticas , una herramienta de cobertura de código simplemente le dice qué características recuerda haber usado un usuario humano . Tal herramienta es mucho más útil cuando es midiendo qué tan completo está el conjunto de pruebas con respecto al código que tiene escrito.

artículos relacionados

The Future of Code-Coverage Tools

The effectiveness of code coverage tools in software testing

Herramientas

Open Source Code Coverage Tools in Java

2

La cobertura de código es una medida utilizada en las pruebas de software. Describe el grado en que se ha probado el código fuente de un programa.

http://en.wikipedia.org/wiki/Code_coverage

La definición de Wikipedia es bastante bueno, pero en mis propias palabras cobertura de código indica la cantidad de pruebas automatizadas que han representado. 100% significa que una sola línea de código en su aplicación está siendo cubierta por una prueba unitaria.

NCover es una aplicación para .NET

3

cobertura de código es una métrica, que muestra cómo "bien" el código fuente se pone a prueba. Existen varios tipos de cobertura de código: cobertura de línea, cobertura de función, cobertura de sucursal.

Para medir la cobertura, debe ejecutar la aplicación manualmente o mediante una prueba automatizada.

Las herramientas se pueden dividir en dos categorías: - las que ejecutan el código compilado en un entorno modificado (como el depurador), contando los puntos requeridos (funciones, líneas, etc.); - los que requieren una compilación especial - en este caso, el binario resultante ya contiene el código que realmente hace el recuento.

Existen varias herramientas para medir y visualizar el resultado, dependen de la plataforma, del lenguaje del código fuente.

Lea artículo sobre Wikipedia

Para proporcionarle herramientas, por favor defina para qué sistema operativo y el idioma que utilice.

+0

Code Coverage no significa directamente que haya probado bien su código. Si realiza pruebas muy buenas y las tiene de un valor de prueba alto, tendrá una buena cobertura de código – AutomatedTester

+0

de acuerdo, sin embargo, para obtener un alto valor de cobertura, debe crear pruebas para los muchos casos de error que generalmente contiene el código. Esto implicará "buenas" pruebas – CsTamas

0

Las otras respuestas ya cubren qué Cobertura del código es. Creo que me gustaría hacer hincapié en que debe tener cuidado de no tratar la cobertura alta como implícitamente lo que significa que ha probado todos los escenarios. No dice necesariamente cómo bien ha probado el código o la calidad de sus pruebas, solo que ha alcanzado un cierto porcentaje de código como parte de las pruebas en ejecución.

alta cobertura de código no significa necesariamente alta calidad de prueba, pero de alta calidad de prueba no significa alta cobertura de código

En la práctica, por lo general apunto para la cobertura de código 90-95%, lo que a menudo es alcanzable. Los últimos% son a menudo demasiado caros para que valga la pena intentarlos.

0

Existen muchas formas de desarrollar aplicaciones. Uno de ellos es "Programación extrema" o "Diseño controlado por prueba (TDD)". Establece que todo código debe ser probado. Code Coverage es un medio para medir cuánto se prueba.

Me gustaría hacer un pequeño comentario al respecto: no creo que se deba probar todo el código, ni que se deba establecer un porcentaje específico de cobertura del código. Tampoco creo que el código no deba probarse con pruebas unitarias (código de prueba de código). Creo que uno debe decidir qué tiene sentido poner a prueba. Debido a esta razón, generalmente no uso la cobertura de código.

Una cosa que proporcionan algunas herramientas es resaltar las partes que se prueban. De esta forma, es posible que te topes con algún código que no está probado, pero que en realidad debería ser, que es lo único para lo que lo uso.

0

Buenas respuestas.

Mis dos centavos es que no hay un método de prueba que capture todos los errores, pero menos pruebas nunca captarán más errores, por lo que cualquier prueba es buena. En mi opinión, la prueba de cobertura no es para mostrar qué código se ha ejecutado , sino para mostrar qué código tiene no, porque es allí donde a los insectos les encanta esconderse.

Si lo combina con un solo paso, es una muy buena manera de revisar el código y detectar errores. Here's an example.

0

Otra herramienta útil para garantizar la calidad del código (que abarca la cobertura del código) que utilicé recientemente es Sonar. Aquí está el enlace http://www.sonarqube.org/

Cuestiones relacionadas