It works around the idea of developing fast, testing fast, and sharing the feedback with the developer as the earliest. The CI/CD focuses on building fast, testing fast and failing fast, and the cycle repeats. Automation testing involves running scripts of predefined code on a software program to check if the code leaks somewhere or loses potency somehow. The final product that reaches the release stage should be free of bugs and accurate.

What are the advantages of automation testing?

Bahaa Al Zubaidi lists out the advantages below and also explains how to test on CI/CD pipeline in this story.

  • It reduces manual effort
  • Reduces the chances of human error
  • It gives immediate feedback
  • The test results are more accurate and cover more test cases
  • It provides more combinations of test results and ensures product consistency.
  • It is an integral part of the CI/CD pipeline and abides by the rule of build fast, test fast, fail fast with quick feedback.

How to test on CI/CD pipeline?

All automated tests must take place on CI/CD pipeline. It should not be done on emulators and simulators, as these do not replace real user conditions. The tests performed on simulators do not yield accurate results and tend to fail. Also, such tests cannot be trusted and published on public websites. Alternatively, automated tests on CI/CD pipelines are smooth, quick and on the cloud. These do not fail. Jenkins plugin, Travis CI add-on, TeamCity plugin, Bamboo plugin, Azure pipeline plugin CircleCI, Bitbucket Pipeline, GitHub Actions, and GitLab are tools in CI/CD pipeline.

What is a CI/CD pipeline? Where does the automation test fit in?

There must be different tests for different scenarios. Running a single test case that covers all the scenarios will slow down the process. Unit tests follow a test-driven development approach. Integration tests check if all the modules synchronize with each other. Regression tests ensure that newly added additions do not impact the existing code. Performance and load tests ensure the responsiveness and stability of the system before the code is released into the production environment. Such tests are run on the user acceptance test and pre-production environment after the code is deployed at the end of the sprint. These are the essential tests that every CI/CD pipeline must have. But these can also be automated to improve system performance, and accuracy, and reduce the chance of error.

What is parallel testing in CI/CD pipeline?

All the tests within CI/CD intend to be quick, rigorous and intelligent. The developers do not want to merge code frequently and allocate dedicated time and resources for running tests. Instead, they can run tests sequentially for multiple simultaneous test executions. It enables quality assurance individuals to run the same number of tests in their device browsers in less amount of time, thus improving the efficiency of the system.

Thank you for your interest in Bahaa Al Zubaidi blogs. For more stories, please stay tuned to www.bahaaalzubaidi.com