Basics of Continuous Integration(CI)

Continuos Integration shortly as CI is a development practice which developers push their code frequently to the development environment and then automated build system build the code and then test it and gives feedback about the newly added code. By this way, codes are added to the main repository in a small piece which reduces the complexity and deltas between new code and the code in development environment. Developers also can reach the latest build code easily. Think that every developer pushes one time in a day, the delta is just a day but if they push one time for week then the delta is 5 times bigger, correspondingly complexity is also 5 times bigger.
CI Pipeline
One of the biggest problem for delivering a feature late is spending longer time for testing product and fixing defects. A classical approach tells us to test at the end of the development but it is usual that planned time is consumed during analysis and development periods. Therefore, after the development there is still pretty much of effort remains. Having longer deployment time means that there are some features are currently written and there are some parts which almost finished but just waiting the other parts to be finished. Again for longer deployment time, automation can only be an activity for testing regression test cases, not testing the upcoming stories because they are not coming continuously to test,  they are coming as a big-ban and there is a little time remained for testing. We can list the benefit of CI as follows:

  • minimize the integration time
  • minimize time-to-market
  • minimize the code difference 
  • minimize the rollback scenario
  • minimize waiting time for test
  • minimize the complexity of bugs

  • Comments

    Popular posts from this blog

    Selenium Error "Element is not currently interactable and may not be manipulated"

    Change Default Timeout and Wait Time of Capybara

    Performance Testing on CI: Locust is running on Jenkins

    Getting the text of elements in Espresso

    How to Set Shared Preferences in Espresso Test for Kotlin and Java