Francisco José García Navarro
23 de octubre de 2020Completé el Curso "Ciclo TDD, GIT, CI y CD" de Apple Coding Academy
" Aprendizaje continuo. "
Este jueves terminé el curso "Ciclo TDD, GIT, CI y CD" ( Desarrollo Guiado por Tests, Integración Continua y Entrega Continua ) de Apple Coding Academy . Duró algo más de una semana y fue un curso de 10/10.
Para mantenerse en la vanguardia del desarrollo iOS , es fundamental comprometerse con el aprendizaje continuo .
Aunque me formé en TDD, GIT, CI y CD hace años y llevo mucho tiempo trabajando con estas tecnologías, siempre actualizo mis conocimientos con nuevos cursos. A veces solo aportan pequeños detalles, y otras veces cambian completamente mi forma de trabajar.
El desarrollo iOS evoluciona rápidamente, y cada año trae mejoras significativas en el desarrollo de apps . Esto me parece muy emocionante y es uno de los aspectos que hacen que ame mi profesión 😍.
Este es el tercer curso que realizo de Julio César , y nunca decepcionan; siempre son de gran calidad. Es un excelente instructor que se mantiene al día con el desarrollo iOS y las mejores técnicas, así que seguiré haciendo sus cursos.
El temario del curso fue:
Ciclo de Vida del Software
- Conceptos de TDD, CI y CD
- Git (commit, push, pull, pull request...)
- Ciclo Rojo-Verde-Refactorizar
- Ciclo de vida del TDD
- Integrando TDD en una App Existente
- UI Testing
- Arquitectura CI y CD
- Analizando el Ciclo Completo
- Tests en Swift Frameworks y Packages
Tests Unitarios
- Librería XCTest
- Conectar Targets
- Objetos Mock
- XCTAssert
- Tests Síncronos
- Tests Asíncronos y Expectativas
- XCWaiter
- Tests de Integración
- Tests de Rendimiento
- Cobertura de Código
- Navegador de Informes
- Testing Paralelo en Múltiples Dispositivos
- XCTSkip, Saltarse Tests Específicos durante la Ejecución
- XCTIssue, Triaje y Detección de Problemas No Capturados en las Apps
Tests de UI
- Concepto: Black Box Testing
- Clases XCUIDevice, XCUIApplication y XCUIElement
- Acciones y Propiedades sobre nuestra UI
- Flujos de Test Paso a Paso en Código
- Árboles de Elementos
- Grabación y Reproducción de Tests
- Testeando UIKit y SwiftUI
Planes de Test en Xcode 12
- Diferentes Comportamientos en la App
- Configuraciones y Ajustes Compartidos
- Configurar Planes
- Ejecución Paralela en Múltiples Simuladores
- Convertir Esquemas en Planes
- Capturas de Pantalla para Tests
- Casos de Uso: Uso de Memoria y Concurrencia
Git
- Repositorios
- Operaciones: Commit, Push y Pull
- Tags
- Remotos
- Flujos de Trabajo Colaborativos
- Pull Requests
- Resolución de Conflictos
Integración Continua con Xcode
- Xcode Server (en red o local)
- Xcodebuild
- Testing en Múltiples Dispositivos y Simuladores
- Result Bundle
- Extracción de Información con xcresulttool
CI/CD con Jenkins y Fastlane (self-hosted)
- Instalar Jenkins como Microservicio
- Instalar Fastlane
- Configurar el Entorno
- Obtener Código de GitHub
- Ejecutar Tests
- Generar Capturas de Pantalla
- Embellecer Capturas con Frameit
- Desplegar Versión Beta
- Desplegar Capturas de Pantalla
CI/CD con Travis CI y Fastlane (hosted)
- ¿Qué es Travis CI?
- Configurar el Servicio
- Ejecutar el Ciclo
¡Sigue formándote! 💪
Sobre el autor
Francisco José García Navarro es cofundador y Arquitecto iOS Senior de AtalayaSoft, con más de 25 años en desarrollo de software y 11+ en iOS nativo. A lo largo de su carrera ha trabajado con clientes de alto perfil como Zara (Inditex), Banco Santander, AXA, El País, National Geographic, Fox International Channels y el Museo Thyssen-Bornemisza.