Automated Testing and Integration with CI Tool

Slides:



Advertisements
Similar presentations
HP Quality Center Overview.
Advertisements

Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
© 2004 Visible Systems Corporation. All rights reserved. 1 (800) 6VISIBLE Holistic View of the Enterprise Business Development Operations.
Agile Testing with Testing Anywhere The road to automation need not be long.
© copyright 2014 BMC Software, Inc. DevOps consultant Niek Bartholomeus Going DevOps with BMC.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Improving Software Quality with Continuous Integration
DNN LOVES JENKINS FOR CONTINUOUS INTEGRATION
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
Version control Using Git 1Version control, using Git.
Version control Using Git Version control, using Git1.
1 Performance Optimization In QTP Execution Over Video Automation Testing Speaker : Krishnesh Sasiyuthaman Nair Date : 10/05/2012.
Perfecto Mobile Automation
TSSG Case Study: Using Free & Open Source Tools to Manage Software Quality EECS811: Software/IT Project Management Agile Integration Management Case Study.
© 2013 IBM Corporation Accelerating Product and Service Innovation Service Virtualization Testing in Managed Environments Michael Elder, IBM Senior Technical.
DECTRIS Ltd Baden-Daettwil Switzerland Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)
KRISHNACHANDER KALIYAPERUMAL PROJECT MANAGER
Software Engineering “Practical Approach”
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Implementing Cloud-based Agile Team Development - Lessons Learned
Leverage your Business with Selenium Automation Testing
Continuous Delivery- Complete Guide
TEST AUTOMATION IN BDD WAY
Digital Transformation Services
Infrastructure Orchestration to Optimize Testing
SOFTWARE TESTING OVERVIEW
Trends like agile development and continuous integration speak to the modern enterprise’s need to build software hyper-efficiently Jenkins:  a highly.
Version control, using Git
Extended BDD Automation for Future Agile Applications
aBAP – NextGen QA Delivery Gear
DEFECT PREDICTION : USING MACHINE LEARNING
Building a Continuous Integration Pipeline using VSTS
Maintaining Quality Test Optimization with Increasing Software Complexity Ankit Goyal Software Engineer II Adobe Systems.
SENIOR MANAGER - SOFTWARE TESTING PRACTICE
Effective way to build test Automation strategy in Agile
Automation – “A Critical Component of Agile testing”
Galen - Automated testing of look and feel
De-mystifying Big Data Testing using new generation tools / technology
Continuous Integration
Quality Strategies In AGILE
Applied Software Implementation & Testing
Advantages OF BDD Testing
Continuous Performance Engineering
Quantifying Quality in DevOps
Automated Test Execution & Reporting (TER) Plugin using JIRA
Importance of RPA (Robotic Process Automation) in software Testing.
Excel Macros: Automation for FREE!
X in [Integration, Delivery, Deployment]
Test Data Management (TDM)
Machine Learning in Test Automation
AUDIT AND VALIDATION TESTING FOR BIG DATA APPLICATIONS
Main Author - Navaneetha Kowdle (Associate Director)
Service Virtualization
MBML_Efficient Testing Methodology for Machine Learning
ACCELERATE DEVOPS WITH SERVICE VIRTUALIZATION
Simplified Development Toolkit
Achieve Next level of Automation with Robotic Test Automation
What-If Testing Framework
DevOps - Extreme Automation using Cucumber, Selenium, Ruby
ABHISHEK SHARMA ARVIND SRINIVASA BABU HEMANT PRASAD 08-OCT-2018
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Continuous Integration Tool
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Bringing more value out of automation testing
HCL’s Viewpoint – DevOps on MS Cloud
Case Study 1 By : Shweta Agarwal Nikhil Walecha Amit Goyal
DEVOPS & THE FUTURE OF TESTING
Presentation transcript:

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

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.

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.

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.

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.

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.

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.

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.

Proposed Solution Architecture and Guidelines

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.

References & Appendix References Third Party Component Atlassian Bamboo - https://www.atlassian.com/software/bamboo Appendix AUT – Application Under Test CI – Continuous Integration SDLC – Software Development Life Cycle

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.

Thank You!!!