yabirgb / curso-tdd

Curso de desarrollo para asegurar la calidad del software

Home Page:https://jj.github.io/curso-tdd

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 cosas. 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 3: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

https://jj.github.io/curso-tdd


Languages

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