Fran Navarro
Francisco José Navarro García
October 22, 2020

Completed the Course "TDD Cycle, GIT, CI, and CD" by Apple Coding Academy

Completed the Course "TDD Cycle, GIT, CI, and CD" by Apple Coding Academy
“ Lifelong Learning. “

This Thursday I finished the course "TDD, GIT, CI, and CD Cycle" ( Test-Driven Development, Continuous Integration, and Continuous Delivery ) by Apple Coding Academy . It lasted a bit more than a week and was a 10/10 course.

To stay at the forefront of iOS development , it is crucial to engage in continuous learning .

Although I was trained in TDD, GIT, CI, and CD years ago and have been working with these technologies for a long time, I always update my knowledge with new courses. Sometimes they just provide small details, and other times they completely change my way of working.

iOS development evolves rapidly, and each year brings significant improvements in app development . I find this very exciting and one of the aspects that make me love my profession 😍.

This is the third course I have taken from Julio César , and they never disappoint, they are always of high quality. He is a great instructor who stays current with iOS development and the best techniques, so I will continue taking his courses.

TDD Certificate

The course syllabus was:

Software Lifecycle
  • Concepts of TDD, CI, and CD
  • Git (commit, push, pull, pull request...)
  • Red-Green-Refactor Cycle
  • TDD Lifecycle
  • Integrating TDD into an Existing App
  • UI Testing
  • CI and CD Architecture
  • Analyzing the Complete Cycle
  • Tests in Swift Frameworks and Packages
Unit Testing
  • XCTest Library
  • Connecting Targets
  • Mock Objects
  • XCTAssert
  • Synchronous Tests
  • Asynchronous Tests and Expectations
  • XCWaiter
  • Integration Tests
  • Performance Tests
  • Code Coverage
  • Report Navigator
  • Parallel Testing on Multiple Devices
  • XCTSkip, Skipping Specific Tests during Execution
  • XCTIssue, Triaging and Detecting Uncaptured Problems in the Apps
UI Tests
  • Concept: Black Box Testing
  • XCUIDevice, XCUIApplication, and XCUIElement Classes
  • Actions and Properties towards our UI
  • Step-by-Step Test Flows in Code
  • Element Trees
  • Test Recordings and Replications
  • Testing UIKit and SwiftUI
Test Plans in Xcode 12
  • Different Behaviors in the App
  • Shared Settings and Configurations
  • Configuring Plans
  • Parallel Execution on Multiple Simulators
  • Converting Schemes into Plans
  • Screenshots for Tests
  • Use Cases: Memory Usage and Concurrency
Git
  • Repositories
  • Operations: Commit, Push, and Pull
  • Tags
  • Remotes
  • Collaborative Workflows
  • Pull Requests
  • Resolving Conflicts
Continuous Integration with Xcode
  • Xcode Server (Network or Local)
  • Xcodebuild
  • Testing on Multiple Devices and Simulators
  • Result Bundle
  • Extracting Information with xcresulttool
CI/CD with Jenkins and Fastlane (self-hosted)
  • Installing Jenkins as a Microservice
  • Installing Fastlane
  • Configuring the Environment
  • Fetching Code from GitHub
  • Running Tests
  • Generating Screenshots
  • Beautifying Screenshots with Frameit
  • Deploying Beta Version
  • Deploying Screenshots
CI/CD with Travis CI and Fastlane (hosted)
  • What is Travis CI?
  • Configuring the Service
  • Running the Cycle

Keep Training! 💪

Share:
About the author
Fran Navarro

Francisco José Navarro García

Francisco José Navarro García is the co-founder and CEO of AtalayaSoft and an experienced iOS software engineer with over 23 years in software development. Specializing in native iOS applications, Francisco has a rich background working with high-profile clients such as Banco Santander, Fox International Channel, Repsol, and National Geographic.