Envíanos tu consulta
Términos y condiciones *
*Si no puedes asistir en directo de facilitaremos un enlace para verlo en diferido
logoImagina
iconoCurso

Curso completo de Testing unitario y de integración en C#

DISPONIBLE EN MODALIDAD:
Aprende a realizar pruebas unitarias y de integración con XUnit en proyectos C# de .Net y así crear soluciones robustas y mantenibles con más de 80% de coverage
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient
Formación en Testing unitario y de integración en C# bonificable para empresas

¿A quién va dirigido?

Desarrolladores, con experiencia en C# y .Net, que quieran realizar pruebas unitarias y de integración en proyectos C# y así crear soluciones robustas y mantenibles

Objetivos

  • Aprender los fundamentos del testing unitario y de integración para desarrollar pruebas con C# en .Net
  • Aprender a instalar y configurar XUnit en tus proyectos C# de .Net
  • Aprender redactar pruebas unitarias y de integración, además de ejecutarlas para realizar análisis de aceptación
  • Aprender a garantizar un mínimo del 80% de coverage en tus proyectos C# de .Net

¿Qué vas a aprender?

Aprende a realizar pruebas unitarias y de integración con XUnit en proyectos C# de .Net y así crear soluciones robustas y mantenibles con más de 80% de coverage

Requisitos

  • Tener experiencia desarrollando en C# (10, 11 o superior) y .Net (6, 7 o superior)
  • Se recomienda haber desarrollando soluciones Web Api con .Net dockerizadas
  • Disponer de la última versión de Visual Studio 2022 Community (o superior) y Docker Desktop instalados en el equipo
  • Disponer de un equipo con al menos 8GB de RAM, i5 (o superior) y acceso a un usuario con permisos de instalación de software
  • Es recomendable tener experiencia dockerizando aplicaciones .Net

Temario del curso

tema 1

Introducción al Testing de Software

  • Importancia del testing en el desarrollo de software
  • Tipos de pruebas y sus objetivos
  • Beneficios del testing unitario y de integración
  • Papel del testing en el ciclo de vida del desarrollo de software
tema 2

Configuración del entorno de pruebas

  • Creación de un proyecto .NET para pruebas unitarias y de integración
  • Configuración de herramientas de testing en Visual Studio
  • Manejo de paquetes NuGet para obtener bibliotecas de testing
  • Integración de frameworks de testing en el proyecto
tema 3

Testing Unitario con NUnit

  • Introducción a NUnit como framework de pruebas unitarias
  • Estructura de una prueba unitaria con NUnit
  • Assertions y aserciones en pruebas unitarias
  • Uso de atributos y anotaciones en pruebas unitarias
  • Ejecución y análisis de resultados de pruebas unitarias
tema 4

Testing Unitario con XUnit

  • Introducción a XUnit como framework de pruebas unitarias
  • Estructura de una prueba unitaria con XUnit
  • Assertions y aserciones en pruebas unitarias con XUnit
  • Uso de atributos y anotaciones en pruebas unitarias con XUnit
  • Ejecución y análisis de resultados de pruebas unitarias con XUnit
tema 5

Testing de Integración con NUnit

  • Diferencias entre pruebas unitarias y de integración
  • Creación de pruebas de integración en NUnit
  • Uso de mocks y stubs para simular dependencias
  • Configuración de datos de prueba para pruebas de integración
  • Ejecución y análisis de resultados de pruebas de integración
tema 6

Testing de Integración con XUnit

  • Diferencias entre pruebas unitarias y de integración
  • Creación de pruebas de integración en XUnit
  • Uso de mocks y stubs para simular dependencias en XUnit
  • Configuración de datos de prueba para pruebas de integración en XUnit
  • Ejecución y análisis de resultados de pruebas de integración en XUnit
tema 7

Buenas prácticas en el Testing de Software

  • Diseño de pruebas independientes y aisladas
  • Mantenimiento y actualización de pruebas
  • Uso de nombres descriptivos y legibles en las pruebas
  • Organización y estructura de pruebas en proyectos grandes
  • Estrategias de reutilización de código en pruebas
tema 8

Análisis de Informes de Ejecución de Pruebas

  • Generación de informes de resultados de pruebas
  • Interpretación y análisis de los informes de ejecución
  • Identificación y solución de errores encontrados en las pruebas
  • Seguimiento y trazabilidad de problemas en el ciclo de vida del desarrollo
tema 9

Ejecución de Pruebas en Paralelo

  • Beneficios y consideraciones de ejecutar pruebas en paralelo
  • Configuración de entornos de ejecución paralela
  • Uso de herramientas y frameworks para la ejecución paralela de pruebas
  • Distribución de pruebas en diferentes recursos de hardware
  • Manejo de problemas comunes en ejecuciones paralelas
tema 10

Automatización de Pruebas

  • Automatización de pruebas unitarias y de integración
  • Uso de herramientas y scripts para la ejecución automatizada
  • Integración de pruebas automatizadas en procesos de integración continua
  • Desarrollo de flujos de trabajo de automatización de pruebas
tema 11

Herramientas de Calidad y Auditoría de Código

  • Uso de herramientas estáticas para la auditoría de código
  • Análisis de métricas y estándares de calidad del código
  • Mejores prácticas para mejorar la calidad del código en pruebas
  • Uso de herramientas de análisis de cobertura de código
tema 12

Técnicas para Garantizar un Coverage Alto

  • Importancia del coverage en pruebas de software
  • Estrategias para aumentar el coverage en pruebas unitarias
  • Uso de técnicas como branch coverage y statement coverage
  • Identificación de áreas críticas de código para pruebas exhaustivas
  • Medición y seguimiento del coverage en el proyecto de pruebas
tema 13

Integración de Tests con Herramientas de Build

  • Configuración de sistemas de construcción (build systems) para ejecución de pruebas
  • Uso de herramientas como MSBuild o Jenkins en la integración de tests
  • Automatización de la ejecución de pruebas en el proceso de compilación
  • Integración de resultados de pruebas en informes de construcción
tema 14

Pruebas de Regresión

  • Concepto y objetivos de las pruebas de regresión
  • Identificación de casos de prueba para pruebas de regresión
  • Automatización de pruebas de regresión en proyectos C#
  • Estrategias para ejecutar pruebas de regresión de manera eficiente
tema 15

Integración de Tests con SpecFlow

  • Introducción a SpecFlow y BDD (Behavior Driven Development)
  • Redacción de features y escenarios en lenguaje Gherkin
  • Configuración de SpecFlow en proyectos C#
  • Implementación de step definitions para ejecución de pruebas
  • Automatización de la ejecución de archivos feature en proyectos .NET
tema 16

Pruebas de Performance y Carga

  • Importancia de las pruebas de performance y carga en proyectos C#
  • Uso de herramientas para medir el rendimiento en pruebas
  • Configuración de escenarios de carga y estrés en proyectos C#
  • Análisis de resultados y optimización de rendimiento en pruebas
tema 17

Proyecto Final: Desarrollo de un Sistema de Pruebas Completo

  • Definición y alcance del proyecto final
  • Diseño y planificación del sistema de pruebas
  • Implementación de pruebas unitarias y de integración en un proyecto C#
  • Integración de pruebas automatizadas en un proceso de CI/CD
  • Análisis de resultados y generación de informes de pruebas

Curso de Testing unitario y de integración en C# bonificado para Empresas a través de FUNDAE

Somos entidad organizadora de FUNDAE, todas nuestras formaciones se pueden bonificar hasta el 100%, sujeto a vuestro crédito disponible y a cumplir con todos los requisitos de realización establecidos por la Fundación Estatal para el Empleo.

 

Si desconoces el funcionamiento de las bonificaciones, ofrecemos el servicio de gestión en FUNDAE, consúltanos cualquier duda que te surja.

Descargar Guía FUNDAE
imagenFundae
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient