Está en la página 1de 4

DEPARTAMENTO DE ELCTRICA Y ELECTRNICA

CARRERA DE INGENIERA DE SOFTWARE



EVALUACIN DE SOFTWARE

Nombres: - Alex Zambrano P.
- Andrea Bassante B.
- Gonzalo Albn
Fecha: 2014-06-16
Tema: Informe EclEmma


Qu es EclEmma?

EclEmma es una herramienta para Eclipse que permite visualizar la cobertura del cdigo
de los tests unitarios que hemos hecho. Existen otras herramientas como Cobertura, que
generan informes, pero que no permiten visualizar esta informacun de forma grfica
directamente en Eclipse.

EclEmma se instala en Eclipse de forma sencilla, desde Help -> Software Updates ->
Available Software -> Add Site, se aade el sitio http://update.eclemma.org/ y pasamos a
realizar la instalacin del plugin.

Una vez instalado el plugin y reiniciado Eclipse, aparece una nueva opcin en la barra de
herramientas:



A travs de este botn, podemos lanzar los tests de forma que EclEmma analizar qu
parte del cdigo se est cubriendo en ellos. Veamos un ejemplo prctico.

He creado una clase OperadorAritmtico, que realiza las operaciones de suma y division:

package com.roldan.tests;

public class OperadorAritmetico {

public static int suma(int a, int b) {
return a + b;
}

public static int division(int a, int b) throws
Exception {
if(b==0) {
throw new Exception();
}
return a / b;
}
}

Para probar esta clase he creado una clase de test que, en principio, solo prueba la suma:

package com.roldan.tests;

import org.junit.Assert;
import org.junit.Test;

public class OperadorAritmeticoTest {

@Test
public void suma() {

int a = 5;
int b = 3;

int suma = OperadorAritmetico.suma(a, b);

Assert.assertEquals(8, suma);
}
}

Ahora lanzamos las pruebas para el proyecto, sitndonos en la raz del proyecto y yendo
al botn de EclEmma antes mostrado, seleccionamos la opcin Coverage as -> JUnit Test:



Vemos como las instrucciones de la clase OperadorAritmetico has sido coloreadas, con
verde aquellas que han sido cubiertas en las pruebas y con rojo aquellas que no. La
pestaa Coverage muestra el informe de cobertura del proyecto.

Ahora queremos arreglar un poco esta situacin y hacer un prueba para la divisin:

@Test
public void division() {

int a = 8;
int b = 4;

int division;
try {
division = OperadorAritmetico.division(a, b);
Assert.assertEquals(2, division);
} catch (Exception e) {
Assert.fail();
}
}

Si ahora volvemos a realizar las pruebas, vemos que la situacin se ha mejorado, aunque
todava queda cdigo sin cubrir:


De esta forma, podemos ir mejorando progresivamente la cobertura de las pruebas para
asegurar el buen funcionamiento de nuestro cdigo.

Bibliografa:
[Online:] http://tratandodeentenderlo.blogspot.com/2009/11/visualizar-la-cobertura-de-los-
tests.html

También podría gustarte