Skip to main content

All About Continuous Integration in Agile

In my last post, Benefits of Early and Frequent Feedback in Agile development I mentioned how Continuous Integration helps in early and frequent feedback. In this post, we are going to go deeper into the concept and see what exactly it does, how it does and its benefits and challenges.
Continuous Integration is an automated system which wraps configuration management, software build, deployment and testing into one repeatable process. The best practice is to run the whole set of set into the new build (with all the new code check ins) at least once a day. This gives a feedback on the  build quality. If all the automated tests passed then the build can be used to perform deeper testing.
Below are some of the activities carried out by CI:

  • Code analysis
  • Compilation of code and generating an executable file
  • Perform Unit testing
  • Deploying the build onto the testing environment
  • Performing integration testing
  • Generating reports
In our project, nightly build and test execution was scheduled using a CI tool called Jenkins. The next morning we used to get the build feedback. These test results were visible to the whole team and feedback on the quality of code was available to decide on our next actions. 
Now, let's see some of the listed benefits of using CI:
  • Early detection of any integration issues
  • Regular feedback on code quality
  • Maintains versions history so you would know when last build was passed
  • It reduces the regression risk
  • Saves time since all the tests are automated
  • Generates reports
  • Maintain transparency in the team
Every coin has two sides, CI also has its challenges such as:
  • Since it is a tool, it requires maintenance
  • The process should be pre-defined and set up should be done properly in order to get accurate results
  • Team would need a skilled resource who knows automation
  • Test coverage should be planned properly in advance
We can see that once CI is completely setup and we have all the processes in place then it becomes a piece of cake. You need to schedule your daily build and get the feedback once all the tests are executed. If some of the tests failed, you will have a base to do your root cause analysis. Once the reason is known, it can be fixed by the team. 



Comments

Popular posts from this blog

Benefits of Early and Frequent Feedback in Agile development

One of the reasons why Agile is preferred over traditional development method is "Early and Frequent Customer Feedback". This is not only helps customer to get what he wants but also helps development team to understand the requirement better. There is no room for misunderstandings and delays. so no BAD CUSTOMER SERVICE! In this post, I am going to discuss about some of the major benefits of early and frequent feedback in Agile. One way to get the early feedback is "CI" or Continuous Integration. There are many tools available in the market like Jenkins which help in running automated tests when a change is introduced in the build and give the feedback on the build performance or quality. Below are some of the advantages of early and frequent feedback: Early and regular feedback helps in clearing out the misunderstanding of the requirements. Unlike in traditional method, fixing the issues or requirements change is a lot less expensive. Customer get to see the...

Remove Blanks from Excel Sheet when Excel doesn't recognize field as blank

This is one of the tricks which always helped me in removing the blank fields from an Excel sheet especially when the values are copied from other sources. I have added screenshots of a sample data to show you all the actions step by step. Here are the steps to remove blanks by using one of the special functions in excel: 1. Select your data-set (Select the column which has blank values) 2. Press F5 3. Select "Special". You will see below screen: 4.Select Blanks and click Ok as shown 5. All the blank fields are now selected, you can proceed and delete all of them by selecting "delete" from the home menu.   Here is the final result: I hope this was helpful. Share this with your colleagues and friends to help them out.

Testing is inevitable!

Welcome to Software Testing Techie Blog! Today I am going to write about something which we all observe but not pay enough attention to! Testing is something which is innate in all of us! Yes, we all are testing throughout our life :) The main reason could be the human behavior of not trusting anything. Remember the time when we were young and had a play guitar which was our favorite toy. How much testing was performed on it? We played with it until we broke it completely. Hilarious! Now observe a child when he is given anything to eat, he starts testing it by mashing it on the ground, looking at it number of times, beating it again and again and finally when he feels like it is good, he takes it in his mouth to eat. Testing is one of the most interesting fields, unlimited number of ways to test a particular software. But to enjoy testing, the only condition is to open up your mind and test. You will find that you are learning something new everyday and your job woul...