Skip to content

Curso de desarrollo para asegurar la calidad del software

Notifications You must be signed in to change notification settings

dylan-nogueras/curso-tdd

 
 

Repository files navigation

Curso de programación para QA -3ª edición

Build Status 💟 CircleCI DevQAGRX

En este curso trataremos de aprender las técnicas necesarias para tabajar en un entorno de desarrollo, para aplicaciones nativas en la nube o cualquier otra cosa. Será un curso conceptual, pero también práctico donde aprenderemos a desarrollar diferentes técnicas en cualquier lenguaje de programación y diferentes microframeworks. La idea principal es que este curso sirva de introducción a la asignatura de infraestructura virtual o cualquier otra asignatura de informática avanzada.

Cada sesión será una parte teórica y una parte práctica; la parte teórica será una clase magistral de 20-30 minutos, seguida de una parte práctica. Durante el curso se irá elaborando un proyecto en equipo de dos o tres personas. Cada dos o tres sesiones se tendrá que alcanzar un hito del proyecto que se haya elegido, que se tendrá que entregar (y se evaluará de forma más o menos automática) al final de las mismas. Cuando se completen todas las sesiones y objetivos generaré un badge para el repo donde se haya cumplido todo (y dependiendo del nivel en el que se haya alcanzado, se hará también una recomendación en LinkedIn o donde se solicite).

Planificación del curso

  • Sesión 1: Git y GitHub/GitLab. Uso básico y avanzado de sistemas de control de fuentes y de sitios web para desarrollo colaborativo.

    • Conceptos básicos: pull, pull request, push, clone.
    • Cómo organizar un proyecto: canvas, milestones, issues.
  • Sesión 2: Diseñando una aplicación informática.

    • Temática.
    • Organización del mismo.
  • Sesión 3: Servicios avanzados en informática.

    • Configuración distribuida.
    • Logs.
    • Almacenamiento de datos.
  • Sesión 4: Historias de usuario, requisitos funcionales, personas (historias de usuario), desarrollo por capas y todo lo que necesitamos para empezar.

    • Uso de issues/hitos en el desarrollo basado en test.
    • Material.
  • Sesión 5: Cómo crear las historias de usuario, comenzar la aplicación.

    • Documentación de las historias de usuario y traslado a issues.
    • Material.
  • Sesión 6: Task runners y cómo usarlos.

    • Diferentes tipos de task runners y por qué son útiles para todo.
    • Material.
  • Sesión 7: Preparando tu aplicación para testear: separation of concerns, inversión de dependencias, diseño.

    • Cómo asegurarnos desde el diseño de que se cumplen las historias de usuario.
    • Material.
  • Sesión 8: objetos de test, aserciones, marcos de pruebas, fases del test.

  • Sesión 9: Qué es la integración continua y cómo usarla para ejecutar los tests automáticamente.

    • Hooks de git y cómo usarlos para testear todo el tiempo.
    • Diferentes sistemas de integración continua: Travis, GitHub Actions...
    • Material.
  • Sesión 10: CI: Acelerando con Dockerfiles.

  • Sesiones 11: Tests de cobertura y por qué son importantes.

  • Sesión 12: Tests funcionales/de integración

    • Cómo testear microservicios y sistemas basados en tareas.
    • BDD y algunos frameworks.
    • Material.
  • Sesión 13: Inversión de dependencias.

  • Sesión 14: Tests adicionales

    • Tests de prestaciones.
    • Tests de front-end.
    • Tests de regresión.
    • Material.
  • Sesión 15: Última sesión.

    • Aclaración de dudas.

Proyectos inicialmente propuestos

Se puede usar esta plantilla para los proyectos.

Lugar

Se hará de forma virtual usando Jitsi, Rocket Chat o alguna plataforma libre.

Clases

De lunes a viernes, 7 al 11 y 14 al 18 de septiembre de 12:30 a 2 de la tarde, 21 al 25 de septiembre 13:45 a 15:00.

Título

A los que superen todos los hitos y actividades planteados en el curso se les hará una recomendación en LinkedIn por parte del profesor.

Inscripción

Añade tu nick de GitHub y perfil de LinkedIn a esta tabla mediante un pull request. La inscripción es gratuita y abierta a quien lo desee, pero los asistentes tendrán que traer su propio portátil y conexión a Internet (si no tienen acceso al WiFi de la universidad).

Proyectos realizados

Los proyectos en elaboración se enlazarán en en esta página.

Instrucciones de uso

make y pandoc deben estar presentes para generar los PDFs.

make

o

make doc

generará los proyectos en un solo PDF.

About

Curso de desarrollo para asegurar la calidad del software

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Perl 42.4%
  • Raku 39.9%
  • Python 10.9%
  • Ruby 4.0%
  • Dockerfile 2.1%
  • Makefile 0.7%