Temario del curso
Software Engineering 5 días
Día 1: Proyecto Management
- Gestión de proyectos frente a líneas, mantenimiento y soporte
- Definición del proyecto y formularios del proyecto
- Management – Reglas generales y gestión de proyectos
- Management Estilos
- ¿Qué tiene de especial los proyectos de TI?
- Proceso básico del proyecto
- Proceso de proyecto iterativo, incremental, en cascada, ágil y lean
- Fases del proyecto
- Roles del proyecto
- Documentación del proyecto y otros artefactos
- Factores blandos y peopleware
- PRINCE 2, PMBOK, PMI, IPMA y otras normas de proyectos
Día 2: Business Análisis y Requirements Engineering Fundamentos
- Definición de objetivos de negocio
- Business análisis, gestión de procesos de negocio, mejora de procesos de negocio
- El límite entre el negocio y el análisis de sistemas
- Partes interesadas del sistema, usuarios del sistema, contexto del sistema y boudaries del sistema
- ¿Por qué son necesarios los requisitos?
- ¿Qué nos importa la ingeniería de requisitos?
- El límite entre la ingeniería de requisitos y el diseño arquitectónico
- ¿Dónde se esconde a menudo la ingeniería de requisitos?
- Ingeniería de requisitos en desarrollo iterativo, lean y ágil y en integración continua: FDD, DDD, BDD, TDD
- Proceso, roles y artefactos de ingeniería de requisitos básicos
- Normas y certificaciones: BABOK, ISO/IEEE 29148, IREB, BCS, IIBA
Día 3: Fundamentos de Arquitectura y Desarrollo
- Programming Lenguajes: paradigmas estructurales y orientados a objetos
- Desarrollo orientado a objetos: cuánto es la historia, cuánto es el futuro
- Modularidad, portabilidad, mantenibilidad y escalabilidad de las arquitecturas
- Definición y tipo de arquitecturas de software
- Arquitectura empresarial y arquitectura de sistemas
- Programming Estilos
- Programming Entornos
- Programming Errores y cómo evitarlos y prevenirlos
- Modelado de arquitectura y componentes
- SOA, Web Services y microservicios
- Construcción automática e integración continua
- ¿Cuánto diseño arquitectónico hay en un proyecto?
- Programación extrema, TDD y refactorización
Día 4: Aseguramiento de la calidad y fundamentos de las pruebas
- Calidad del producto: ¿qué es? ISO 25010, FURPS, etc.
- Calidad de producto, experiencia de usuario, Modelo Kano, gestión de la experiencia del cliente y calidad integral
- Diseño centrado en el usuario, personas y otras formas de hacer que la calidad sea individual
- Calidad justa
- Aseguramiento de la calidad y control de calidad
- Estrategias de riesgo en el control de calidad
- Los componentes del aseguramiento de la calidad: requisitos, control de procesos, configuración y gestión de cambios, verificación, validación, pruebas, pruebas estáticas y análisis estático
- Aseguramiento de la calidad basado en el riesgo
- Pruebas basadas en el riesgo
- Desarrollo basado en el riesgo
- La curva de Boehm en el aseguramiento de la calidad y en las pruebas
- Las cuatro escuelas de exámenes: ¿cuál se adapta a sus necesidades?
Día 5: Tipos de Procesos, Madurez y Mejora de Procesos
- La evolución de los procesos informáticos: de Alan Turing, pasando por Big Blue, hasta el lean startup
- Procesos y organización orientada a procesos
- La historia de los procesos en la artesanía y la industria
- Modelado de procesos: UML, BPMN y más
- Gestión de procesos, optimización de procesos, reingeniería de procesos y sistemas de gestión de procesos
- Enfoques de procesos innovadores: Deming, Juran, TPS, Kaizen
- ¿Es (el proceso) libre de calidad? (Philip Crosby)
- La necesidad y la historia de la mejora de la madurez: CMMI, SPICE y otras escalas de madurez
- Tipos especiales de madurez: TMM, TPI (para pruebas), Requirements Engineering Madurez (Gorschek)
- Madurez del proceso frente a madurez del producto: ¿alguna correlación? ¿Alguna relación causal?
- Madurez de procesos versus éxito empresarial: ¿alguna correlación? ¿Alguna relación causal?
- Una lección olvidada: la prevención automatizada de defectos y el próximo salto en Productivity
- Intentos: TQM, SixSigma, retrospectivas ágiles, marcos de procesos
Requirements Engineering - 2 días
Día 1: Obtención de Requisitos, Negociación, Consolidación y Management
- Encontrar requisitos: qué, cuándo y por quién
- Clasificación de los grupos de interés
- Actores olvidados
- Definición del contexto del sistema: definición de las fuentes de requisitos
- Métodos y técnicas de obtención
- Creación de prototipos, personas y obtención de requisitos a través de pruebas (exploratorias y de otro tipo)
- Marketing y obtención de requisitos – MDRA ("Market-Driven Requirements Engineering")
- Priorización de requisitos: MoSCoW, Karl Wiegers y otras técnicas (incluido el MMF ágil)
- Refinamiento de requisitos: "especificación ágil con el ejemplo"
- Negociación de requisitos: tipos de conflictos, métodos de resolución de conflictos
- Resolver la incongruencia interna entre algunos tipos de requisitos (por ejemplo, la seguridad frente a la facilidad de uso)
- Trazabilidad de requisitos: por qué y cómo
- Cambios en el estado de los requisitos
- Requisitos CCM, control de versiones y líneas de base
- Vista del producto y del proyecto sobre los requisitos
- Gestión de productos y gestión de requisitos en proyectos
Día 2: Análisis de Requisitos, Modelado, Especificación, Verificación y Validación
- El análisis es el pensamiento y el replanteamiento que se hace entre la elicitación y la especificación
- El proceso de requisitos siempre es iterativo, incluso en proyectos secuenciales
- Descripción de requisitos en lenguaje natural: riesgos y beneficios
- Modelización de requisitos: beneficios y costes
- Las reglas para usar el lenguaje natural para la especificación de requisitos
- Glosario de definición y gestión de requisitos
- UML, BPMN y otras notaciones de modelado formales y semiformales para requisitos
- Uso de plantillas de documentos y oraciones para la descripción de requisitos
- Verificación de requisitos: objetivos, niveles y métodos
- Validación: con creación de prototipos, revisiones, inspecciones y pruebas.
- Validación de requisitos y validación del sistema
Pruebas - 2 días
Día 1: Diseño de pruebas, ejecución de pruebas y pruebas exploratorias
- Diseño de la prueba: después de las pruebas basadas en el riesgo, elegir la forma óptima de utilizar el tiempo y los recursos disponibles
- Diseño de pruebas "desde el infinito hasta aquí": no es posible realizar pruebas exhaustivas
- Casos de prueba y escenarios de prueba
- Diseño de pruebas en varios niveles de prueba (desde el nivel de prueba unitario hasta el nivel de prueba del sistema)
- Diseño de pruebas para pruebas estáticas y dinámicas
- Business Diseño de pruebas orientado y orientado a la técnica ("caja negra" y "caja blanca")
- Intentar romper el sistema ("pruebas negativas") y apoyar a los desarrolladores (pruebas de aceptación)
- Diseño de pruebas para lograr la cobertura de pruebas: varias medidas de cobertura de pruebas
- Diseño de pruebas basado en la experiencia
- Diseño de casos de prueba a partir de requisitos y modelos de sistemas
- Heurística de diseño de pruebas y pruebas exploratorias
- ¿Cuándo diseñar casos de prueba? – Enfoque tradicional y exploratorio
- Descripción de casos de prueba: ¿cuánto detalle?
- Ejecución de pruebas: aspectos psicológicos
- Ejecución de pruebas: registro e informes
- Diseño de pruebas para pruebas "no funcionales"
- Diseño automático de pruebas y MBT (Model-Based Testing)
Día 2: Organización de pruebas, Management y automatización
- Niveles de prueba (o fases)
- ¿Quién realiza las pruebas y cuándo? – Diversas soluciones
- Entornos de prueba: costo, administración, acceso, responsabilidad
- Simuladores, emuladores y entorno virtual de pruebas
- Pruebas en scrum ágil
- Organización y función del equipo de pruebas
- Proceso de prueba
- Automatización de pruebas: ¿qué se puede automatizar?
- Automatización de la ejecución de pruebas: enfoques y herramientas
Testimonios (5)
Los ejercicios que vimos en el curso fueron bastante útiles y aplicables a mis actividades en el trabajo, se resolvieron las dudas y los ejemplos compartidos son bastante útiles.
jocelin salas - BANXICO
Curso - Test Automation with Selenium and Python
La dinámica.
Cesar Ortiz Lara - Bienes Programados SA de CV
Curso - Selenium WebDriver in C#
Cantidad de ejercicios prácticos.
Jakub Wasikowski - riskmethods sp. z o.o
Curso - API Testing with Postman
Traducción Automática
El entrenador explicó detalladamente cada funcionalidad.
Argean Quilaquil - DXC
Curso - TestComplete
Traducción Automática
El entrenador es agradable. Su explicación es clara e interesante. Él intenta hacer las lecciones lo más interesantes posible. Disfruté la clase y adquirí mucha conocimiento. Muchas gracias. La técnica más útil que aprendí es cómo localizar elementos para diferentes componentes web como cuadros de texto, botones de radio y botones. A veces, el ID del elemento no se captura correctamente. Aprendimos una forma diferente de localizar elementos utilizando selectores CSS, XPath, Nombre e ID. Me gustó la explicación. Gracias
Bee Chin Chuah - I-Access Solutions Pte Ltd
Curso - Advanced Selenium with C#
Traducción Automática