Presentation is loading. Please wait.

Presentation is loading. Please wait.

Automated Testing and Integration with CI Tool

Similar presentations


Presentation on theme: "Automated Testing and Integration with CI Tool"— Presentation transcript:

1 Automated Testing and Integration with CI Tool
Kunal Pillai – Senior Consultant Priyanshu Priyamvada - Consultant Deloitte Consulting India Pvt Ltd.

2 Abstract Across all projects there are builds being deployed on regular intervals which requires manual efforts for deployment and thereafter verify the quality of the build deployed. This document provides an insight on configuring bamboo server setup with a continuous integration methodology which can trigger deployment of builds as per build scheduled along with execution of pre-configured test scenarios post deployment of every development build. This approach can be implemented across all industries. For efficient management of time and cost, a set of repetitive scripts can be automated and configured with Continuous Integration tool which will be executing the same set on every build without any manual intervention.

3 What is Continuous Integration?
This is a software development methodology in which a build, unit tests and integration tests are performed, or triggered, whenever code is committed to shared repository multiple times in a day, to ensure that new changes integrate well into the existing code base. Each check-in is then verified by an automated build, allowing teams to defect issues at the earlier stages. With integration, issues can be detected quickly and will help them locate more easily.

4 What is Bamboo Tool? Bamboo is a continuous integration (CI) server that can be used to automate the release management for a software application, creating a continuous delivery pipeline. Release management describes the steps that are typically performed to release a software application, including building and functional testing, tagging releases, assigning versions, and deploying and activating the new version in production.

5 What problem does Bamboo Solve?
For a solo developer, using Bamboo gives us: An automated, and therefore reliable, build and test process, leaving you free to code more. A way to manage builds that have different requirements or targets. Automatic deployment to a server, such as the App Store or Google Play. If you work in a team, then as well as the above advantages, using Bamboo also means that: Your build and test process is not dependent on a specific local environment. Builds and integration tests are triggered automatically as soon as a developer commits code (continuous integration). If one work on a large, complex application, then, in addition to all the above advantages, using Bamboo means that: Can optimize build performance through parallelism. Can leverage elastic resources. Can deploy continuously, for example to user acceptance testing (UAT). Can implement release management.

6 Why Bamboo over other tools
Simple and intuitive drag & drop UI for designing Pipelines, based on the same tasks, jobs, stages principles of Continuous Delivery.  Supports temporarily disabling/re-ordering Stages, Jobs or Tasks   Separate Deployment manager helps easily manage deployment environments, track what is been released and where, and provide full traceability from a Release back to the Git commits and the JIRA issues it comprises.  Automatically detects new branches and builds them. Seamless Integration of Bamboo with other Atlassian products No plugins required for streamlining the process of merging Git and Mercurial branches.

7 Business Case Manual deployment of builds are error prone which might involve human errors in terms of files being missed, faults or wrong version of files getting deployed. It even involves only specific group of practitioners with deployment skill set having the access to carry out the deployment activity. In addition, if the test team is geographically distributed, a dependency is created in determining the overall quality of the build being deployed. The overall process of deploying and verifying the build manually involves huge efforts and thereby escalates the overall cost of the project. And since the exercise is carried out quite frequently, the overall approach is quite ineffective and hence unwanted defects are introduced in the system thereby de-railing the overall project schedule.

8 Proposed Solution Continuous Integration methodology is the proposed solution for all of the above mentioned disadvantages. Listed below are the features of the solution - Developers will have access to the latest code base and all changes committed will be tracked via different tags which will help to identify incorrect files if any easily. Build can be deployed in test environment based on the scheduled plan in the CI configuration without any manual intervention Test automation, when integrated with continuous-build software, provides a collaborative and continuous build-and-test environment. This practice is particularly of importance in an agile environment which can notify a developer for any errors as soon as a build/code is committed. Increases the overall efficiency and effectiveness of developers and testers alike.

9 Proposed Solution Architecture and Guidelines

10 Cost Benefit Analysis Initial cost and efforts involved in developing the Continuous Integration setup is high since it involves development of Bamboo Integration plan, automation test scenario development and configuring the same via CI tasks. Once configured, continuous efforts are required for maintenance of this setup based on any application change and this effort reduces over a period of time. Based on the setup configured across multiple projects within our organization we have provided an overview of the ROI recorded for test execution post implementation of the Bamboo Continuous Integration methodology.

11 References & Appendix References Third Party Component Atlassian Bamboo - Appendix AUT – Application Under Test CI – Continuous Integration SDLC – Software Development Life Cycle

12 About Author Kunal Pillai is an ISTQB certified QA professional, with around 8 years of experience in the software industry across various domains like Banking, Healthcare and Public Sector. He has strong expertise in Test Automation using Selenium and Java. He has also contributed towards Performance and Accessibility testing. He has expertise in Excel macros and have created Reporting tools using the same. Priyanshu Priyamvada is an aaccomplished, enthusiastic QA Test Engineering Specialist with 6+ years of success delivering projects on time and within budget through improved productivity, performance, and cost control. Communicate effectively with all levels of management. Hands-on experience in Test Automation using selenium.

13 Thank You!!!


Download ppt "Automated Testing and Integration with CI Tool"

Similar presentations


Ads by Google