top of page
Writer's picturetakery reddy

What is sustainable integration?

What is sustainable integration?

Simply put, the development team can integrate their code into a shared repository. This helps in maintaining code quality and identifies potential problems with the local version of the code in the early stages.

What is shipping continuously?

Everything that continues to be combined by the development team, continues to be deployed to the environment. Sustainable shipping is often created as’ continuous deployment too.

Because most developers work in parallel, continue to integrate their code into one repository means that the master branch is constantly updated with new features. To ensure that there is no compromise in the quality of the code with so many changes that occur quickly, testing must occur at the same speed.

It should not be surprising that manual testing at this time will not be the best approach to achieving this. Automatic testing is the key to successful testing in the CI / CD pipe.

Sustainable shipping stages

Develop: developers build code according to new requirements or requested features

Writing test: After the code is written, the test needs to be written for the same thing. At this point, this test is like a test unit written by the developer.

Local testing: This is then tested locally to check whether all tests pass through and the code does not break. Often as a percentage set as a pass level that needs to be encountered by the test that needs to be fulfilled.

Rebase & Complete Conflict: In the actual development scenario, there will be many people who combine their code. The developer needs to ensure that the branch is updated at any time. Updating branches with the latest combined code called ‘Rebasing’. After that Rebased, there will be a number of conflicts that need to be resolved. After that, the test is run again with the Rebased code.

Commit: After the test passes, the code is then ready to be done with all changes.

Build: The source code developed is then combined to build dissemination artifacts that can be run on instance i.e, server. This code is now ready to be deployed to a different testing environment.

UAT: This code is then used to the test server where the testers begin to test features. This test can automatically also manually.

Join: if the commit under testing is approved by the examiner, this is then combined into a master branch.

Production deployment: After the code is combined, this joined code is then used for production.

The above process needs to be done with each build encoded by the developer.

Where is automation testing falls in this CI / CD pipe?

Automatic software testing should ideally occur after the build stage has been completed and the code can be deployed. Test units, UI tests, integration tests can all be run at this stage. These tests help ensure that the code meets quality standards.

This phase can last from a few minutes to several hours depending on how the automation needs to be carried out is an arsitor.

Tests can be run in parallel to execute faster. If a failed code during the test phase, Build can be rejected without further investing any manual testing time.

Tools used for CI / CD

Jenkins: Jenkins is an open source tool used for sustainable integration. It’s free to use and work can be configured either by the interface and script.

Travis CI: This tool is free for open source projects, it is hosted by Github.

Gitlab: Gitlab is a version of the control tool that has a self-based CI methodology. It is supported on several platforms that have a free and paid version.

Bamboo: Bamboo is a CI by JIRA. If your organization uses JIRA, it will be useful to check this tool. This supports automatic merging at ticket approval as well.

Best practice for CI / CD pipes to make the best from test automation

Incremental changes: always recommended to follow the feature approach with features. If the features are very large, it’s good to break it into a smaller and faster testing feature. It’s important in terms of automation because if there is a problem, it’s easier to find out the root causes. If your commit is too large, it isolate the cause of the problem will be a difficult task.

What identification can be automated: very common for teams to dive quickly and say ‘Let’s automate everything’ but this is the main mistake made. As stated in the previous article, we must know the objectives of the automation and identify test cases that must be automatic.

Parallel test: Tests must be run in parallel to make it more efficient and on time. This can greatly reduce the time taken to run the test and thus giving the results it is much faster. But it is not enough to just run this test in parallel, it is also important for server size scales where the test runs to really make it faster.

Conclusion

Difficult testing is an important part of the spread of successful projects while maintaining quality standards. Ensuring tests run at each stage provide good transparency on code quality. Bugs can be found in the early stages and delays that can be caused by it can be planned on time. Having a CI / CD pipe with an integrated test helps in speeding up the testing and deployment process.

3 views0 comments

Recent Posts

See All

Comments


bottom of page