Junit 4
Mauricio Valderrama Fonseca
          Yuxi Pacific Group LLC
      http://www.yuxipacific.com/
Tipos de pruebas
•   Pruebas de aceptación
•   Pruebas de estrés/carga
•   Pruebas funcionales
•   Pruebas de integración
•   Pruebas unitarias
Pruebas de aceptación

(Cliente) Verifica requisitos funcionales y no
funcionales.
Pruebas de estrés/carga

(QA) Deben realizarse en un ambiente lo más
parecido al de producción.
Pruebas funcionales

(QA) Verificar que la aplicación haga lo que se
especificó en las historias de usuario o casos de
uso.
Pruebas de integración

(DEV) Verificar la interacción entre
componentes y/o ejecutarlo en el ambiente
final.
Pruebas unitarias (UT)

(DEV) Verificar el comportamiento de una
unidad de trabajo.
Pasos para crear una UT
•   Instanciar objeto a probar
•   Definirle el estado inicial
•   Invocar métodos a probar
•   Confirmar el estado final
Ventajas de hacer UT
• Mayor cobertura que pruebas funcionales
• Incrementa la productividad
• Detecta regresiones y limita la necesita de
  debugging
• Da confianza para hacer refactor o cambios.
• Mejora las implementaciones
• Documenta el comportamiento esperado
• Posibilita cobertura de código y otras
  métricas.
Functional Test vs Unit Test
Junit 4
• Framework de java para realizar pruebas
  unitarias, es considerado el estándar. Fue
  creado por Erich Gamma and Kent Beck.
• Sus objetivos son:
  – Ayudar a crear pruebas útiles.
  – Ayudar a crear pruebas que mantengan su utilidad
    en el tiempo.
  – Ayudar a crear pruebas de bajo costo reusables.
Junit 4 - Casos de Prueba

Caso de prueba o Clase de prueba es la que
tiene una o más pruebas.
@Test
@Before
@After
@BeforeClass
@AfterClass
JUnit 4 – Suite

Una Suite permite agrupar un conjunto de Casos
de prueba, todo caso de prueba tiene una Suite
por defecto.
JUnit4 - Runner

Ejecuta las Suites.
Ejemplo
Ejecución con Eclipse
Resultados de Eclipse
Ejecución con Maven(1)

Crear configuración
Ejecución con Maven(2)

Configuración
y
Ejecución
Resultados de Maven
Plugin Cobertura de Maven
Bibliográfia
• JUnit in action (second edition)

J unit4