Test Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions

Similar documents
How Can Testing Teams Play a Key Role in DevOps Adoption?

Shift Left, Automation, and Other Smart Strategies for Getting Ahead in QA

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

How to Build an Appium Continuous Testing Pipeline

Shift Left Testing: are you ready? Live Webinar, Sept 19

ROTATE TO THE NEW: FROM TESTING TO QUALITY ENGINEERING

Quality Engineering in DevOps world a Strategic Enabler

Inverting the Pyramid

HP APPs v.12 Solutions for Dev-Ops

EARLY AUTOMATION APPROACH

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.

In This Webinar. ConEnuous Load TesEng & ConEnuous Delivery with Jenkins

Weaving Security into Every Application

Marc Hornbeek DevOps-the-Gray Principal DevOps Consultant, Trace3 Author, DevOps Test Engineering Course The DevOps Institute

CAPABILITY. Managed testing services. Strong test managers experienced in working with business and technology stakeholders

DevOps Agility in the Evolving Cloud Services Landscape

I keep hearing about DevOps What is it?

About Us. Services CONSULTING OUTSOURCING TRAINING MENTORING STAFF AUGMENTATION 9/9/2016

Achieving Right Automation Balance in Agile Projects

DELIVERING AGILE QUALITY ASSURANCE THROUGH EXTREME AUTOMATION

AppScan Deployment APPLICATION SECURITY SERVICES. Colin Bell. Applications Security Senior Practice Manager

Building a Customized Test Automation Framework Using Open Source Tools

Roles and Responsibilities on DevOps Adoption

Turbo boost your digital app test automation with Jenkins

Orchestrating the Continuous Delivery Process

PERSPECTIVE. End-to-end test automation A behaviordriven and tool-agnostic approach. Abstract

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

Continuous Delivery for Cloud Native Applications

A DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West

FROM VSTS TO AZURE DEVOPS

Turning a Marathon Runner into a Sprinter: Adopting Agile Testing Strategies and Practices at Microsoft

Team Foundation Consulting. Training. Team Member Training User training designed to cater for specific roles within your team. Developer TFVC / Git

BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES. Director, Strategic Solutions

Testing in the Agile World

A DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West

Jenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC

Accelerate your Software Delivery Lifecycle with IBM Development and Test Environment Services

Continuous Integration and Delivery with Spinnaker

DevOps Made Easy. Shireesh Thanneru, Platform Architect. Intel. Linoy Alexander, Director, DevOps

Overcoming the Challenges of Automating Security in a DevOps Environment

End-to-End Agile Testing using Incremental Approach for a Leading EIM Solution Provider ATTENTION. ALWAYS.

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

We re redefining Software Quality

Continuous Integration / Continuous Testing

ThinkPalm s BreakThrough DevOps Capabilities ThinkPalm

Software Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis

Seven Deadly Sins of Agile Testing

Strengthen and Scale security using DevSecOps

ACCENTURE & RED HAT ACCENTURE CLOUD INNOVATION CENTER

Enabling Developers with Open Source Nicholas Parks, Cloud Architect, Kenzan

What is database continuous integration?

Bringing QA Into the Agile Process

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Automated Testing of Tableau Dashboards

Love Containers, Love Devops, Love Openshift, Where's my business case?

Testing Tools to Support Agile Software Delivery. The Critical Role of Automated Functional Testing in Enterprise Environments

Managing an Application Vulnerability Management Program in a CI/CD Environment. March 29, 2018 OWASP Vancouver - Karim Lalji 1

DevOps: Transforming Military Application Delivery Lifecycles. Tim Dioquino, Chief Technologist U.S. Public Sector ITM HPE Software

DevOps and Continuous Delivery USE CASE

Suman Sourav Director DevSecOps, Vantage Point Security. OWASP Indonesia Day 2017

Data Warehouse Testing Best practices to improve and sustain Data Quality Getting ready for Serious DevOps

l e a n Lean Software Development software development Faster Better Cheaper

Quality Assurance and IT Risk Management

Adopting Agile Practices

Maturing agile teams and driving quality through architecture principles

ContainerOps - DevOps Orchestration. Quanyi Ma

DEVOPSIFYING NETWORK SECURITY. An AlgoSec Technical Whitepaper

Struggling to Integrate Selenium into Your Ice Age Test Management Tools?

The Future of Testing: Continuous Enterprise Testing

Shift Happens. The Role of Continuous Testing in DevOps. Alex Martins. CTO Continuous Testing. May 15 th, 2018 CA Technologies.

Exam Questions

Transformation in Technology Barbara Duck Chief Information Officer. Investor Day 2018

Wipro s Endur Test Automation Framework (W-ETAF) Reduces time and effort for the implementation and maintenance of an automated test solution.

A CONFUSED TESTER IN AGILE WORLD

HP ALM Overview. Accelerating Innovation, Industrialising Quality. Oren Ziv, Product Manager, QC/ALM

CONTINUOUS DELIVERY IN THE ORACLE CLOUD

One Digital Integrated Digital Assurance Automation Framework

Test.Forge.mil. Overview

THE AUTOMATED TEST FRAMEWORK

Continuous Testing at Scale

DevOps A How To for Agility with Security

Ride the wave of automation to survive the digital transformation storm. December, 2017

_ Success Story. PedidosYa Uses Automated Checks to Ensure Quality User Experiences

Agile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process

TM DevOps Use Case TechMinfy All Rights Reserved

FIVE BEST PRACTICES FOR ENSURING A SUCCESSFUL SQL SERVER MIGRATION

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA

Achieving Continuous Delivery - Micro Services. - Vikram Gadang

Final Paper/Best Practice/Tutorial Advantages OF BDD Testing

Building an Effective Cloud Operating Model on AWS

DevNet Workshop-Hands-on with CloudCenter and Jenkins

Automating Security Practices for the DevOps Revolution

DevOps CICD for VNF a NetOps Approach

Amir Zipory Senior Solutions Architect, Redhat Israel, Greece & Cyprus

Move Performance Testing to the Next Level with HP Performance Center September 11, Copyright 2013 Vivit Worldwide

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

DevOps Using VSTS and Azure

Kanban One-Day Workshop

Assuring Certainty through Effective Regression Testing. Vishvesh Arumugam

WHITEPAPER. Database DevOps with the Redgate Deployment Suite for Oracle

Transcription:

Test Automation Strategies in Continuous Delivery Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions

The world of application is going through a monumental shift.. Evolving Customer Expectations Emerging Technologies Changing Business Requirements - 2 -

An example 500 and 1000 Rupee note become obsolete on the midnight of 08/Nov 2016 Time for bankers to stop 17,000 ATMs from dispensing old notes 4 Hours - 3 -

creating the need for Continuous Delivery (CD) CD is a disciplined, integrated, and highly automated process to expedite the process of incorporating new code from initial development to production release with confidence that the new code will function as designed and improve the value of the product. - 4 -

CD lays the path for Continuous Integration.. Automated build and test methodology driven by CI tools, makes sure that changes to a software code base are successfully built, tested, reported, and are made available to all stakeholders after they are introduced. Developer Database Feedback Mechanism Developer Test Developer Commit Changes Version Control Repository Poll CI SERVER Integration Build Machine Build Server Compile Source code Integrate Database Run Tests Deploy Software Develop Scripts - 5 -

Integrate, Build,Deploy and Validate Continuous Integration and impact of Automation Identify Tools and Determine Integration Touch Points Continuously Integrate Build Deploy and Validate Health Checks Daily Critical Runs Metrics and Reporting T T Weekend Runs T T T T T Tools Identification Determine Integration Touch Points Identify Tools Stack that can support End to End CI Orchestration Integration of Build Scripts and Automated Test Scripts Build Scripts Setup Sub Version Automated Code Pulls Automated Deployments Automated Smoke Test Runs Daily - Critical Regression runs and Weekend Full Regression Analyze Test failures Automated Metrics Weekend Regression Test Runs Trends Automated Publishing of results to Project stakeholders Legend T Testing Team - 5 -

Integrating Automation in Continuous Integration.. Collaborative Development Increased collaboration between teams Continuous Testing Integration of software testing with deployment and operations Continuous Release and Deployment for increased delivery speed and frequency Continuous Monitoring Improve quality by monitoring performance - 7 -

Automation Test Strategies in Continuous Integration Behavior Driven Development Behavior Driven Development - 8 -

Automation Test Strategies in Continuous Integration Early Automation - 9 -

Automation Test Strategies in Continuous Integration Optimize Testing at Code Level - 10 -

Automation Test Strategies in Continuous Integration Minimize manual intervention - 11 -

Automation Test Strategies in Continuous Integration Achieve Continuous Regression - 12 -

Automation Test Strategies in Continuous Integration Think Before UI - 13 -

In summary Automation is imperative to induce the required agility in QA practices while enhancing the efficiency and effectiveness Business Transformation Continuous Improvement DevOps Implementation Cross Functional Service Enablement - 14 -

Bibliography References: Modernize Application Development to Succeed as a Digital Business, Gartner, 30 March 2016 (https://www.gartner.com/doc/3270018?refval=&pcp=mpe) Definitions: Continuous Integration - Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. Continuous Delivery - Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software faster and more frequently - 14 -

About the Author: Nandan Shinde is Associate Director of Projects with Cognizant s Quality Engineering and Assurance business unit and is part of the company s Technology Center of Excellence. Currently a test automation architect, he previously worked as a test automation expert, project lead, automation strategist and program manager over a period of twelve years with Cognizant s banking and finance services clients. His responsibilities pivot around building and socializing automation frameworks, as well as implementing solutions from front-end, middle-tier and data automation strategies to leading automation program for large banking customers. He handles automation consulting engagements across the vertical industries that Cognizant serves. He can be reached at Nandan.Shinde@cognizant.com. - 15 -

Thank You!!! - 16 -

Process Workflow Example Continuous Testing Dashboard / Analysis Develop Code Quality & Build Deploy Deploy Functional Test NFT SAST (DEV) (QA) Functional Test NFT Continuous Integration Continuous Testing Continuous Improvement/Feedback 18-17 -

BDD Continuous Business Involvement & Feedback Signed Off by Business Clarity in Behavior, Continuous Feedback leads to reduced defect injection Sprint 1,2, N Continuous Demo To Business User Story Automatically created by BDD Tool Automation Team//DEV Script Execution Product SME Acceptance Criteria Function Skeleton Created Script generation QA/BA/DEV Product SME/BA Step Definition generation and Feature Execution (Dry Run) Code / Refactor App App QA/BA DEV Feature Files QA/BA Write Scenarios Failed Test Case Passed Test Case Test Result Sprint 1,2, N - 17 -

BDD - Bringing in Early Testing Developer Dev. CI Delay in QA Feedback Refactor Test Fix QA Cost of Fixing a Defect Late Early Testin Testing SDLC Time Line g Need to Push Testing early in SDLC Behavior-Driven Development (BDD) brings Test Driven Development and Domain Driven Design into an integrated whole Behavior-Driven Development Test Driven Development Continuous Integration Simple Illustration of BDD & CI Product SME Product SME & BA BA & Dev Behavioral Scenarios Development Coding On Failure Product Backlog User Story BA & QA Acceptance Criteria QA Make the Behavioral Scenarios executable into test scripts Continuous Testing Automated Validation Product Demo On Success Test Automation in Development Defect Prevention Continuous Delivery and faster feedback - 18 -

Continuous Integration Implementation Benefits Automation Area Health Check Full Smoke Test Weekly Regression Run Description Focused automated test to verify deployment and associated application configurations Set of basic tests that ensures the application is ready to do the subsequent detailed testing (Functionality / Regression) by verifying key functionalities, Interfaces and Services. Full Regression suite that exercises 70% of the application functionality against the weekly build delivered for sprint testing Before Implementation After CI Implementation 12 Minutes 6 Minutes 50% 40 Minutes 20 Minutes 50% 200 Hours 80 Hours 60% Savings 50% Effort Savings 50% Effort Savings 60% Effort Savings 21-19 -

Continuous Integration - Critical Success Factors 1 Shift Left 2 QA and Dev synchronization 3 Continuous Testing Integrate, Build,Deploy and Validate 4 Service Virtualization 5 Environments on Demand - 6 -

How End to End Test Automation in CI Works Collaborative development and Continuous testing 1 2 Dev-test with lab management automation Deployment automation and Continuous Integration Automated code progression & validations Plan and build Automated Static code analysis Provision Test Environment Deploy to staging and prod Provisioning Dev Environment & SV Automated Unit test & Code Coverage Automated UI Test Integrated code coverage Monitor 3 Continuous feedback and optimization using CI - 9 -

Continuous Automation Workflow Example User Story Continuous Monitoring Continuous Delivery Requirements Modeling Dev Design Test Design Coding Automatio n Scripting Automated Build Build Verification Automate d Deploy Deploymen t Verification Continuous Automation Automated Reporting User Story creation Business Model creation Dev Technical Design QA Test case Design Test data Design Dev Code for requirements QA Automation Feasibility and Analysis Creation of Automation scripts Scheduled or Triggered Automated Build scripts using a Continuous Integration Server like Jenkins Set of automated tests run on every build to verify that the Build is testable before deploying in QA Automated code deployment on environments after the build verification tests are complete Unit\Smoke Tests to verify the high level Functional test cases Automated Execution of Functional and regression test cases Reporting the Build, Deployment and testing results in e-mail to respective teams BA DEV QA OPS - 10 -

Continuous Integration & Test Automation Requirements Modeling and Automation Tools based approach to modeling requirements as business process flows and activity diagrams Non-GUI Automation Server side Automation Message Validation Batch automation Automation for ETL layers Non-Conventional Automation Automation tools and plug-ins enabling quicker completion of Test result compilations, reporting and metrics management Integrated Automation Regression Automation + Virtualization Newer automation frameworks enabling parallel execution of automation scripts in available/virtualized environments thus accelerating cycles Early Automation Extend the tool ecosystem to Dev and Ops teams for continuous automation early in the SDLC Test Design Automation Automated generation of Test scenarios and Test cases for requirement models Generation of Risk based test cases to accelerate testing Test Data Automation Adoption of automation frameworks and tools for test data to enable data driven automation - 11 -

Key success factors for CI/CD implementation Success factors Benefits Increased automation at multiple layers Reduction in Time to Market Higher Automation Manual Regression Testing effort reduced by 60-75% Tests execute multiple times a day with every check-in, and therefore, guarantees more quality and coverage Early testing in lifecycle for early detection of defects with stringent quality gates Early Test Automation allows executing more tests in less time, while manual test efforts focus on complex use cases and edge cases that cannot be automated Enterprise Dashboard Leveraging right tools, process and Tool Integration Service Virtualization Provide visibility & feedback to all stakeholders on the health of the project at every stage starting from development through production Streamline CI/CD pipeline, automate infrastructure and tooling wherever feasible. Deliver E2E product testing capability Early Component Integration increased quality, reduction in defects - 13 -