Curso de testing práctico

Aprender de manera práctica a realizar tests del software con sus flujos de automatización y la aplicación de patrones de test unitarios.
Inscripciones abiertas
Intermedio
6 Clases 10 h (aprox.)
99€
69€
Precio en promoción

Inicio del curso

Jueves 13 de octubre

h

Añadir a Google Calendar

El testing del software es una de las disciplinas más importantes para mantener un software robusto y de calidad, con una red de seguridad que permita actualizaciones frecuentes. Para ello hay que aprender a diseñar correctos casos de test, la implementación de los test aplicando patrones que faciliten la flexibilidad y el mantenimiento y, finalmente, conseguir un buen flujo de automatización para los procesos de integración y despliegue continuos. 

En este curso de testing práctico vamos a abordar todos estos aspectos, para formar a los estudiantes en el proceso de creación de los test del software y todo el conjunto de prácticas que engloban los flujos de desarrollo dirigidos por tests.

Qué aprenderé en el Curso de testing práctico

  • Qué es la automatización de test.
  • Qué es un test unitario y qué otros tipos de test hay.
  • Cuál es la relación entre el testing y el TDD.
  • Cómo se diseñan casos de test.
  • Cómo se implementan internamente casos de test.
  • Qué patrones ayudan a hacer test rápidos y robustos ante refactorización.
  • Cómo se relaciona el testing con DevOps, CI/CD y qué es la cobertura de test.
  • Qué aporta el BDD a la escritura de test y qué son los test de aceptación.

Objetivos del curso

Introducirse en el proceso completo del desarrollo de las pruebas del software, de manera práctica y dirigida a mejorar los procesos de desarrollo del software.

Durante el curso de testing práctico se sentarán todas las bases acerca de la automatización de test, siempre partiendo de prácticas, principios y patrones de test unitarios.

Por qué debes aprender testing

Este curso presenta una excelente oportunidad para conocer los flujos de desarrollo dirigidos por pruebas, realizando no solo el testing del software, sino la automatización a través de herramientas populares. En concreto se abordarán las pruebas con NUnit en .NET tocando librerías muy extendidas como NSubstitute/Moq/FakeItEasy, herramientas de BDD, FluentAssertions…

Todas estas herramientas forman parte del ecosistema habitual de C#, lo que aumentará las competencias para el desarrollo en esta tecnología, sin embargo, el contenido se impartirá de modo que tenga una fuerte base, aplicable a cualquier lenguaje y stack de tecnologías.

Qué tengo que saber

Fuerte orientación a objetos. Cualquier lenguaje sirve pero si se conoce C# o Java será mucho más natural el contenido. Otros como PHP, Javascript, Ruby, Python, C++, etc. diferirán solo en la sintaxis.

Nociones de refactoring (no se va a incluir en el curso, por lo que se debe tener cierta familiaridad con el vocabulario típico de refactoring).

Clases y contenidos

Disciplina de testing
  • Vista de pájaro sobre la disciplina del testing
  • Beneficios de las pruebas de software
  • Testing vs TDD
  • Bibliografía
Añadir a Google Calendar
Fundamentos de los test unitarios
  • ¿Qué es el unit testing?
  • Tipos de test y pirámide de test.
  • Estructura y nomenclatura de un test.
  • Patrón AAA, BDD, etc.
  • Aserciones de test vs Diseño por contrato.
  • Aserciones semánticas
Añadir a Google Calendar
Retos y soluciones para conseguir buenos tests
  • Fragilidad de los test.
  • Costes de conformidad.
  • Falsos positivos, negativos y otros smells y antipatrones.
  • Robustez ante refactoring
  • Patrones TestDataBuilder y ObjectMother.
  • Dependencias con terceros.
  • Dobles de test: mocks, stubs, spies, dummies, etc.
  • Patrón Special Case, Null Object Pattern, etc.
Añadir a Google Calendar
Organización y diseño de tests y flujos de trabajo
  • Organización de la suite de test.
    • Repaso a categorías y mención de otras.
  • Test en CI/CD.
  • Code coverage.
  • Diseño de casos de test.
    • Clases de equivalencia, casos límite...
Añadir a Google Calendar
Diseño de test
  • Continuación diseño de casos de test.
  • Relación con el TDD.
    • Patrón Assert-first.
    • Separación test de TDD vs test de testing.
  • Parametrización, teorías, etc.
  • Test de aceptación y BDD.
Añadir a Google Calendar
Prácticas de testing adicionales
  • Cierre de contenidos.
  • Test no unitarios.
  • Exploratory testing.
  • Herramientas de test de alto nivel.
  • Integración con prácticas como la inyección de dependencias.
  • Siguientes pasos.
Añadir a Google Calendar
¿Conoces nuestra tarifa plana?

Toda la formación de EscuelaIT, con más de 190 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