Keeping pace with Product Evolution UI Automation Framework Guidelines. V. Narayan Raman CEO,

Similar documents
Sahi. Cost effective Web Automation

Automated Testing Frameworks: Test Automation with CodedUI

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Tip: You can modify variable settings after you add the web application. See Managing repository variable list values, page 4.

Table of Contents What is Test Automation Framework?... 3 Different types of Frameworks used in QTP... 4 Linear Framework in QTP...

Multi-Tool Test Automation Platform. STC-2012, India, Bangalore

13 th Annual International Software Testing Conference Paper on

How manual testers can break into Test Automation without programming skills

CHICAGO. How to Tackle Open Source Test Automation in Incredible Ways. Renaissance Hotel 1 West Wacker Drive Chicago IL April 18th April 22th

New Password Reset for Dental Connect Provider

Business Process Testing

Techno Expert Solutions An institute for specialized studies! Introduction to Advance QTP course Content

3 Continuous Integration 3. Automated system finding bugs is better than people

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

A Proposed Method in Agile Practices to Create Requirements Documentation and Test Cases

Test Automation Beyond Regression Testing

Test Automation as a Service (TaaaS)

AppsWatch. Automai, Corp.

Selenium Testing Training

Defensive Coding Techniques. Independent Consultant Developer Mentor

Deploy Enhancements from Sandboxes

Lloyds Bank Commercial Cards CCDM User Guide

White Paper. Model-View Architecture for Test Automation. Author Naman Singhal 24 October 2013

QA Best Practices: A training that cultivates skills for delivering quality systems

CSC203. Mbwana Alliy Product Manager- Office Managed Business Microsoft Corporation

Maja Schreiner. 9th Lean, Agile & Scrum Conference 2017

Mind Q Systems Private Limited

Building a Customized Test Automation Framework Using Open Source Tools

Business Chat Onboarding Your Business Chat Accounts. September

Managing Change at the Speed of Business

Internet banking User Guide

This tutorial will guide users on how to utilize TestLodge in reporting and maintaining the testing activities.

Deploy Enhancements from Sandboxes

Development Lifecycle Guide

RingCentral for Salesforce Classic. UK Administrator Guide

Online Banking Overview

Agile Testing: Your Key to Better Software

The Corticon Rule Modeling Methodology. A Case Study. Mortgage Approval

Test-driven development

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

A CONFUSED TESTER IN AGILE WORLD

From Manual Testing to Intelligent Test Automation Presented by Stephan Schulz

DRACULA. CSM Turner Connor Taylor, Trevor Worth June 18th, 2015

7 steps for digital app test automation success. October 2018

Code review guide. Notice: Read about the language that you will test its code, if you don t have an idea about the language this will be difficult.

TestComplete 3.0 Overview for Non-developers

Oracle Forms and Oracle APEX The Odd Couple

Software Testing Tools

What is VMware View. IMPORTANT: Connecting from Off-Campus. Connecting to View Desktops. Downloading the Client

Hybrid Test Automation Frameworks Implementation using QTP

AMAR PURI. au.linkedin.com/in/iamarpuri 2/40 station Street, Burwood 3125 Victoria, Australia Mobile:

Oracle Enterprise Manager Oracle Database and Application Testing. Application Testing Suite Lab. Session S318966

Supplier Registration Training Guide by Infineon

RingCentral for Salesforce. Administrator Guide

Agora Offline is a software that can be installed on windows based computers and tablets.

Add/Manage Business Users

Applying modern software development techniques to UI testing

Storage Made Easy. Providing an Enterprise File Fabric for INVESTOR NEWSLETTER ISSUE N 3

Helix Test Case Management Best Practices

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

The risk of SQL forms within the Oracle Applications- How did that Happen?

GUI Testing to the edge. Quality is not a given and testing is fun

7 Tips for Raising The Quality Bar With Visual Studio 2012

Mobile Apps Why & How

Oracle Essbase Database Administrator's Guide Pdf

Simplify and Accelerate Network Migration

MOBILIZE YOUR ENTERPRISE WITH TELERIK SOLUTIONS

Quote Sync Installation & Customization Instructions Salesforce AppExchange

9 th CA 2E/CA Plex Worldwide Developer Conference 1

Enabling Mobile Automation Testing using Open Source Tools

Release Notes October 2016

Sample Exam. Advanced Test Automation Engineer

Sterling Talent Solutions Automates DevOps and Orchestrates Data Center Operations. SaltStack Enterprise case study

Manual Testing. Software Development Life Cycle. Verification. Mobile Testing

Chapter 1 - Development Setup of Angular

EACEA. ECHE online application form. - Instructions for ECAS account creation -

QTP interview questions

Test Automation. Fundamentals. Mikó Szilárd

BEAM TEST and PeopleSoft Test Framework (PTF) Compare and Contrast

TCC College WiFi and Printer Setup 07/11/2018 College WiFi and Printer Setup Guide

Nedbank Guarantee Hub Presentation March External Requestor

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

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal

Managing Born- Digital Documents.

How technical excellence helps in LeSS adoption. Anton Bevzuk Dodo Pizza Chief Agile Officer

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

How We Learned To Love Test Automation for Localization AUTOMATED TESTS

Internet & Mobile Banking

Mei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it

Data Insight Feature Briefing Box Cloud Storage Support

Kintana Object*Migrator System Administration Guide. Version 5.1 Publication Number: OMSysAdmin-1203A

SSQA Seminar Series. Server Side Testing Frameworks. Sachin Bansal Sr. Quality Engineering Manager Adobe Systems Inc. February 13 th, 2007

Cloud-Based Certification. Gary Fluitt - Google

DELIVERING AGILE QUALITY ASSURANCE THROUGH EXTREME AUTOMATION

Release Notes September 2014

Salesforce Adapter Addin Guide

Sage Live What s New November Release. Sage Connected Apps v1.31 Sage Live v52

SECURITY AND DATA REDUNDANCY. A White Paper

AFN Setup. If you have any trouble setting it up please contact the Help Desk by at Outlook 2007 and 2010

RingCentral for Salesforce. User Guide

Transcription:

Keeping pace with Product Evolution UI Automation Framework Guidelines V. Narayan Raman CEO, Sahi Pro @narayanraman @sahipro

Initial Thoughts? Automation keeps breaking Waits and synchronization problems Object identifiers keep changing Frameworks need to created and maintained Reports don t always make sense Playback is slow Version controlling not easy

Problem Rapid development is the need of the day Automated testing should ideally help. BUT Automation scripts break easily when applications evolve Fixing automation scripts steals time from quality testing Automation effort stagnates and quickly becomes obsolete

Can Automation Help? When migrating a jquery application to Angular JS? When migrating from Angular 1 to Angular 2? When migrating from Salesforce Classic to Salesforce Lightning? When migrating an applet or flex application to web? When extending a web application to mobile?

What should QA Automation solve? Software enables a business Better quality software means low risk to business In dynamic businesses, where software and business change, Software quality systems should ensure continuity of business

Good Automation Effort Needs Maximum Utilization of People Dev, QA, BA etc. Processes Version Control Continuous Integration Automation Tools and Frameworks Great if Automation tool and framework is easy to use and allows all people to contribute

Types of Changes Business case has changed Eg. ST and VAT replaced by GST Application flow has changed Eg. Add Beneficiary moved from Transfers screen to Requests screen and has validation step Application UI has changed Elements have changed Eg. Textbox name has changed from login to signin Text for assertions have changed Eg. Message Invalid Login has changed to Invalid Sign in

Types of Changes - Responsibility Business case has changed BA*, QA Application flow has changed BA, QA* Application UI has changed Dev, QA

What s a Framework? Inversion of control Hollywood Principle: "Don't call us, we'll call you" In a framework, unlike in libraries or in standard user applications, the overall program's flow of control is not dictated by the caller, but by the framework Extensibility A user can extend the framework - usually by selective overriding; or programmers can add specialized user code to provide specific functionality. Non-modifiable framework code: The framework code, in general, is not supposed to be modified, while accepting user-implemented extensions. In other words, users can extend the framework, but should not modify its code Source: Wikipedia

Framework Expectations Execution: Should be able to execute automation code! For speed: parallel, distributed execution Maintenance: Allow separation of concerns for easy maintenance Business Layer Implementation Layer Object Repository Layer Audit and Reporting: Error reporting with screenshots etc. for testers to validate Rich reports for various stake holders with traceability

Frameworks, Libraries and Tools Frameworks take care of execution, reporting, and give hooks to call user libraries Libraries bunch together application specific functionality like User creation, login etc. Tools allow interaction with systems eg UI interface, webservices interface etc.

Frameworks, Libraries and Tools Reporting Framework Executor Customer Module Library Loan Module Library Web Automation Tool Desktop Automation Tool Data Scenarios Banking Module Library

Wrong Implementation http://www.seleniumeasy.com/seleniumtutorials/keyword-driven-framework-example

Wrong Implementation https://www.sitepoint.com/smelly-cucumbers/

Layers of Automation

Business Layer Expresses business intent Agnostic of web application itself Testing tool interaction code Eg. Create user, Approve user, Login user Will change if business logic itself changes Survives across UI implementations (web or mobile or desktop), survives architectural changes.

Framework Examples

Implementation Layer Understands interactions between different actions performed on UI Eg. function login($username, $password){ _setvalue(_textbox("user"), $username); _setvalue(_password("password"), $password); _click(_submit("login")); } Library file with implementation of keywords used in Business Layer Will change if interaction flow changes

Element Repository Layer Central repository of all elements in the automation code Changes when a particular element changes due to HTML/Javascript changes in the application UI

Framework Examples ROBOT Framework Cucumber Any Excel keyword framework you may have built Sahi Pro Excel Framework

What Should Change? When migrating a jquery application to Angular JS? When migrating from Angular 1 to Angular 2? When migrating from Salesforce Classic to Salesforce Lightning? When migrating an applet or flex application to web? When extending a web application to mobile?

Gyan Automation code is most useful when there is a lot of change planned in your application Acts as a safety net and guideline Automation code should not be thrown away when application technology changes Building the right layers and strictly following them helps in minimal maintenance efforts and long lived useful automation scripts QUESTIONS?