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.
Material disponible
Intermedio
6 Clases 12 h
99€
69€
Precio en promoción
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 Gratis
  • Vista de pájaro sobre la disciplina del testing
  • Beneficios de las pruebas de software
  • Testing vs TDD
  • Bibliografía
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
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.
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...
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.
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.

Valoraciones

Alberto Morales

Excelente curso, a mi me ha sido muy valioso. En el curso Ricardo Guzmán detalla los aspectos mas importantes del testing explicando el por qué y el para qué con referencias a la bibliografía mas relevante sobre el testing y sobre todo contando sus experiencias en proyectos reales, en lecturas y en discusiones de la comunidad. Me parece un curso muy necesario para entrar en el mundo del testing con las bases bien formadas

Victor Moreno

El rigor de Ricardo es tan necesario como poco frecuente en estos días de ruido e inmediatez. Un lujo de profesor y un curso imprescindible para el crecimiento como ingeniero de software.

Angel Siendones Sillero

Explicación de 10 de la disciplina de pruebas.

Leonardo Hakim

DOCAL ARTAJO / JAIME

Fantastico curso, espero que sea el segundo de muchos!!

Diego Morodo Fidalgo

Instructivo e inspirador

Jonatan Terrazas Ayala

Muy bueno,

Miguel Ángel Hita Acevedo

Muy cercano y bien explicado, lo recomiendo mucho

José Gala Naranjo

Ricardo deja claro que es una persona a la que le gusta transmitir conocimiento y se nota por su forma de ser que disfruta de su trabajo. Me llevo un conocimiento muy valioso y muchas ganas de conocer más.

Maria Paula Herrero

El curso es muy bueno, trata temas importantes y uno aprende mucho, sin embargo, al no tener unas láminas que te resuman los conceptos nombrados, las tecnologías usadas, o el nombre de los consultores o videos de los que se hace referencia, para las personas que vemos testing por primera vez, nos pierde un poco. Tuve que ver todo el curso dos veces para poder comprender bien conceptos que se nombran muy de pasada varias veces en todo el curso.

Sergio Aguilar Flores

Manuel Emilio Vargas Herrera

Desde cada método por probar, se puede invocar un método en otra clase. Si la bandera de desarrollo está activada, se ejecutaría un Mock, que estaría a su vez en otra clase y si no, no se haría nada. El Mock se podría cambiar a gusto del tester o el programador. Por ejemplo, se podría lanzar un número de error para ver si la interfaz lo maneja bien.

Eduardo Garces

Jorge Ignacio Jover Bou

¿Conoces nuestra tarifa plana?

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