Curso Avanzado de Pruebas Unitarias
Formación práctica avanzada en tests unitarios Eficaces y Eficientes
Material disponible
Avanzado
7 Clases 14 h
Este nuevo curso destinado al aprendizaje de tests unitarios parte de un conocimiento en la creación de código de testing y se adentra en las pautas que conducen al desarrollo de pruebas unitarias eficaces y eficientes. 

  • Eficacia: A través del diseño de casos de prueba, con juegos de datos que cubran las necesidades, sin requerir la realización de pruebas exhaustivas. Para ello se cubrirán las técnicas de diseño de caja negra y caja blanca.

  • Eficiencia: A través de la codificación de pruebas fáciles de escribir, de ejecutar y de mantener, para reducir los riesgos del proyecto y aumentar la calidad y documentación. Para ello se cubrirán los antipatrones que impiden las características anteriores.

Por último, se profundizará en la necesidad y criterios para los dobles en pruebas unitarias. Se cubrirán los patrones de dobles: dummy, fake, stub, mock y spy 

Qué aprenderé en el Curso Avanzado de Pruebas Unitarias

  • Diseño de Casos de Pruebas Unitarias
    • Pruebas de Caja Negra
      • Variables independientes
        • Clases de Equivalencia
        • Análisis de Valores Límite
      • Variables dependientes
        • Vector ortogonal
        • Grafo de Causa/Efecto
      • Adivinación de Errores
    • Pruebas de Caja Blanca
      • Cobertura de Sentencias
      • Cobertura de Datos
      • Cobertura de Condiciones
      • Cobertura de Decisiones/Condiciones
  • Características de las Pruebas Unitarias
    • Fáciles de Escribir
      • Sencillas. Anti-patrones: Lógica condicional, Pruebas Sobreprotegidas, Sermón de Preparación …
      • Expresivas. Anti-patrones: Comentarios, Números Mágicos, Aserciones Primitivas, Detalles Incidentales, Lógica separada…
      • Separan Asuntos. Anti-patrones: Hiper-aserciones, Doble personalidad, …
    • Fáciles de Ejecutar
      • Rápidas. Anti-patrón
      • Completamente Automáticas. Antipatrón: Entrada de Datos, …
      • Auto-verificables. Anti-patrón: Bocazas, …
      • Independientes. Anti-patrón: Héroe Local, Secuenciador, Restos reutilizados, Dependencia Oculta…
      • Repetibles
    • Fáciles de Mantener
      • Profesionales / Robustas. Anti-patrones: Duplicación, Ruta Paralizante, Lío Parametrizado, El Gigante…
      • Reducen los Riesgos
        • No dañinas
        • Red de Seguridad
    • Aumentan la Calidad
      • Repelentes de Errores
      • Localizan Defectos. Anti-patrones: Escaqueado, Promesas Infundadas, Bajas Expectativas, Mentiroso…
      • Parte de la Especificación
    • Mejoran la Comprensión del SUT
    • Parte de la Documentación
  • Dobles para las Pruebas Unitarias
  • Criterios: Independencia del DOC, Ausencia del DOC, Eficiencia, Caja Blanca
  • Tipos: Dummy, Fake, Stub, Mock y Spy

Clases y contenidos

Pruebas Unitarias eficaces y eficientes Gratis

En esta sesión se explican cuáles son los problemas a los que los programadores se enfrentan en el desarrollo de pruebas del software además de repasar el conocimiento necesario para comenzar el curso Avanzado de Pruebas Unitarias.

Diseño de Casos de Pruebas Unitarias

Primera sesión dedicada al diseño de casos de uso en busca de la eficiencia y la eficacia en los Test Unitarios. Comenzamos el tema del diseño de casos de prueba, que consiste en escoger un conjunto de pruebas que abarque una cobertura suficiente, ni pasarse ni quedarse cortos. Después de explicar el concepto de manera global y su necesidad, se abarcan diversas técnicas y prácticas para el diseño de casos de prueba, centrándose en este primer tema en las pruebas unitarias de caja negra, variables independientes y clases de equivalencia.

Clases de equivalencia, factores múltiples y valores límite

En esta clase seguimos practicando con ejercicios para asimilar el concepto de las clases de equivalencia. A lo largo de diversos ejemplos se irán complicando las situaciones y se irán abordando en detalle nuevos escenarios, como los que nos encontraremos en el mundo real.

Veremos que muchas veces las clases de equivalencia se derivan de la combinación de diversos factores. Veremos además que es importante realizar un análisis de los valores límite, en los que cambia el comportamiento del SUT.

Ante la aplicación de diversos factores y la necesidad de comprobar cada uno de los valores límite, observaremos que el diseño de casos de prueba aumenta sensiblemente el rango de combinaciones que se deberían testar. En próximas clases de deja planteado que buscando la eficiencia aún tendremos que reducir esas combinaciones.

Diseño de casos de prueba para pruebas de caja blanca

Comenzamos con la resolución de nuevos ejercicios planteados para el diseño de pruebas de caja negra. Abordamos luego nuevos enfoques para la creación de clases de equivalencia, todavía en las pruebas de caja negra.

Más tarde comenzamos con el desarrollo eficiente de las pruebas de caja blanca. Para ello aprenderemos a entender los grafos, que nos ayudarán a establecer el conjunto de caminos que nos asegura el 100% de la cobertura en las pruebas.

Una vez entendido y deducidos los caminos de flujo de ejecución, aprenderemos a crear nosotros mismos los grafos.

Por último analizaremos el funcionamiento y utilidad de las herramientas que calculan los caminos necesarios para la cobertura del 100% en el testing del código de caja blanca. Cómo conclusión repasaremos cuál es el modo habitual de realizar las pruebas combinando tanto la caja negra como la caja blanca.

Análisis práctico del código de las Pruebas Unitarias

Sesión íntegra dedicada a revisar cómo tenemos que hacer el código de las Pruebas Unitarias mediante el análisis de sus propiedades.

Últimas Propiedades y Dobles en las Pruebas Unitarias

Terminamos con el repaso a cómo tenemos que hacer las pruebas (análisis propiedades) e iniciamos el último bloque de contenidos con los Dobles en las Pruebas Unitarias.

Dobles en Pruebas del Software

En esta clase nos dedicamos a estudiar la creación de dobles en las pruebas unitarias. En el primer momento se realiza una introducción conceptual, aunque es un tema que ya se había tratado en clases anteriores de manera general.

Luego se muestra la implementación de los dobles en código, y su integración en el código de pruebas unitarias. Se explicarán posteriormente los tipos de dobles y sus características, los casos en los que se deben producir cada tipo de doble, etc.

Posteriormente se explica cómo se debe producir ese código de dobles, usando el framework JMockit, lo que nos ayudará a entender perfectamente el desarrollo de los dobles en las distintas situaciones (tipos de dobles) explicadas con anterioridad.

Valoraciones

Jaime Hernandez Ortiz

Eloy

Holden

Francisco Gonzalez Espartero

Mario Tovar

Iván Aguilar

pedro

Diego

Jose García

Muy recomendable

Jose Llacer

Roberto Mendoza Ulecia

Sashir Estela

Manu

Jose María Rodríguez Medina

Siempre es un placer aprender de Luis

Paco_

Muy buen curso. Como siempre Luis es muy bueno

JMSanchez

Excelente.

David García Illanas

Buen material didáctico, como siempre, de la mano de Luis, pero esta vez en mi opinión creo que se excede demasiado en explicar el tema de los grafos, la complejidad ciclomática y demás y al final no queda mucho hueco en la última clase para profundizar en temas más críticos sobre cómo trabajar bien con mocks y cómo evitar caer en la tentación de mezclar pruebas de caja negra con caja blanca, esta parte en mi opinión, no se cubrió bien porque no dió tiempo.

Rubén Cazorla

Ferran Llop

Luis, gracias

Nelson Acosta

excelente

madebyivan

Great!

Matias Peñafiel

Luis es un genio explicando !. Gracias a este curso mejoré el criterio para la construcción de pruebas.

Luis Jonathan Nava Flores

Geovani Robles

¿Conoces nuestra tarifa plana?

Toda la formación de EscuelaIT, con más de 130 cursos completos para aprender las más variadas tecnologías de programación, diseño y marketing online. Todo! con tu suscripción.

Suscríbete