how build is delivered? - Notes By ShariqSP

How Build is Given to Test Engineers

In the software development lifecycle, a build refers to a version of the application that is compiled and ready for testing. The build is handed over to test engineers through various methods to ensure it is thoroughly validated before deployment.

Steps to Deliver a Build to Test Engineers

  1. Code Integration: Developers write and commit code changes to a version control system like Git.
    • Tools: GitHub, GitLab, Bitbucket.
  2. Build Creation: The code is compiled and packaged into an executable format using build tools.
    • Tools: Maven, Gradle, Jenkins (CI/CD pipelines).
  3. Build Verification: Initial sanity checks are performed to ensure the build is stable and deployable.
  4. Build Deployment: The build is shared with the test team using one of the following methods:
    • Uploaded to a test server or environment.
    • Shared through build distribution platforms like Firebase App Distribution or TestFlight.
    • Delivered as an APK (Android) or IPA (iOS) file via cloud storage (Google Drive, Dropbox).

Build Distribution Methods

Method Details Example Tools
Manual Distribution Build is shared as a file (e.g., APK or IPA) via email, cloud storage, or direct download links. Google Drive, Dropbox, OneDrive
Automated Distribution Builds are automatically uploaded to a distribution platform after CI/CD pipelines execute successfully. Jenkins, GitHub Actions, Firebase App Distribution
OTA (Over-The-Air) Distribution Builds are delivered directly to mobile devices over the air for installation. TestFlight (iOS), Firebase App Distribution (Android)

Example Scenario

A development team has completed a new feature for a banking app. The build is automatically generated through a CI/CD pipeline using Jenkins.

  • The build is verified and uploaded to Firebase App Distribution.
  • Test engineers receive an email notification with a download link.
  • They install the build on their testing devices and begin testing.

This streamlined process ensures the build is efficiently delivered to the test team for validation, saving time and reducing manual effort.