Temario del curso
QA/CI
- ¿Qué es QA?
- ¿Qué es CI?
- Los costos del desarrollo de software, el refactoring y la corrección de errores
- Identificación y comprensión del proyecto
- Beneficio para la organización
DDD
- Desarrollo de software basado en los requisitos comerciales, suposiciones DDD
- Problemas en la comunicación IT-Empresa
- Modelo de dominio
Prácticas recomendadas
- Principios KISS y DRY
- Estandares de codificación
- Creación de código reutilizable a través de la POO y patrones de diseño
- Identificación y reducción de la complejidad ciclomática
Métricas de software
- Peso del método por clase
- Respuesta para una clase
- Profundidad del árbol de herencia
- Coplamiento entre objetos
- Falta de cohesión de métodos
- Número de hijos
- Complejidad ciclomática
- Métricas de clase
- Métricas del modelo
- Métricas para uso
Pruebas de software
- ¿Qué, cuándo y cómo probar?
- Método "caja blanca" y "caja negra"
- El papel de las pruebas en las metodologías ágiles
- TDD solo un posible aumento del costo del proyecto
- Pruebas unitarias con JUnit (Java), PHPUnit (PHP)
- Pruebas de comportamiento con JBehave (Java), Behat y Mink (PHP)
- Pruebas funcionales
Refactoring
- ¿Qué es el refactoring?
- Tecnología de la deuda
- Olor del código
- Patrones de refactoring
Documentación
- El papel de la documentación en las metodologías ágiles
- ¿Qué documentar?
- Tipos de documentación
- Documentación y metodologías ágiles, o se puede decir (Software funcional por encima de la documentación exhaustiva)?
- Estandar XMI
- Generación automática de documentación desde Javadoc (Java), ApiGen (PHP)
Herramientas y entorno CI
- Herramientas y entorno CI
- PMD (Java), phpmd (PHP)
- CPD (Java), phpcpd (PHP)
- Contador de líneas de código (Java), phploc (PHP)
- UCDetector (Java), phpdcd (PHP)
- Jdepend (Java), phpdepend (PHP)
- Servidor de integración continua Jenkins
Ágil y CI/QA
- Planificación y desarrollo incremental
- Aceptar el cambio
- Etapas cortas
- Equipo interdisciplinario
- Extreme Programming, revisión de código
- Individuos e interacciones por encima de procesos y herramientas
Síntesis
- Discusión
- Preguntas
- ¿Cómo comenzar el proceso de implementación?
Requerimientos
Conocimiento de los procesos de desarrollo de software
Testimonios (5)
Engagement y práctica prácticas. (Note: "Engagement" doesn't translate directly to Spanish in this context; it might be better to rephrase for clarity.)Práctica interactiva y manos a la obra.
Balavignesh Elumalai - Scottish Power
Curso - SonarQube for DevOps
Traducción Automática
El entrenador tiene una experiencia profunda y bien narrada en hechos. La profundidad del conocimiento y la pasión por la enseñanza son muy apreciadas.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Curso - Jenkins 2: Building CI/CD Pipelines
Traducción Automática
El entrenador estaba muy bien organizado. Al principio explicó todos los herramientas necesarias para el entrenamiento. El entrenador aclaró felizmente todas las dudas y se discutieron casos prácticos.
Vivek Verma - Global Knowledge Network Training Ltd
Curso - DevOps Practical Implementation and Tools
Traducción Automática
Muy detallado, el formador conoce muy bien el tema y ha abordado muchos temas
Gabriel Kelly Navarro - Opswerks
Curso - Advanced Spinnaker
Traducción Automática
Luke was very knowledgeable, patient, and very open to satisfy my curiosity, for example I asked him to generate errors to see how system will response, etc. He would go above and beyond to answer questions or demonstrate the functionalities, even some of my questions were out of the class scope. He gave me a real experience with the system. I definitely will take another class with him and recommend him as a teacher for others. Thank you Luke!.
Tina Henderson
Curso - Test Automation with Selenium and Jenkins
Traducción Automática