Mobile Test Automation Framework



Similar documents
Mobile Test Strategy. Shankar Garg. Senior Consultant - Testing

Viewpoint. Choosing the right automation tool and framework is critical to project success. - Harsh Bajaj, Technical Test Lead ECSIVS, Infosys

Automated testing for Mobility New age applications require New age Mobility solutions

QEx Whitepaper. Automation Testing Pillar: Selenium. Naveen Saxena. AuthOr:

Testing Tools Content (Manual with Selenium) Levels of Testing

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel

You ll need to have: It d be great if you have:

Know the Difference. Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP

Introducing. automated functional testing of mobile apps. Karl Krukow, CTO, LessPainful GotoAMS, May, 2012

Agile Web Application Testing

Test Automation Tool comparison HP UFT/QTP vs. Selenium - Prashant Malhotra

Open Source in Mobile Test Automation. Ru Cindrea - Altom ru@altom.ro

OpenShift on OpenStack

Extending Tizen Native Framework with Node.js

Business Assurance & Testing QEx Automation Platform

OpenShift. OpenShift platform features. Benefits Document. openshift. Feature Benefit OpenShift. Enterprise

Software Continuous Integration & Delivery

Client Overview. Engagement Situation. Key Requirements

Web UI & Functional Test Automation for Continuous Agile Deliveries

How To Test On An Hp Mobile Device

Speed to Market in Mobile Development

MOBILE APPLICATION TESTING. TekMindz s Testing solutions for enterprises INDZ TM TEK

Continuous Integration and Delivery. manage development build deploy / release

The Agile Movement An introduction to agile software development

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN:

"Selecting Mobile Application Automation Tools"

Mobile Test Automation - Right Tools and Right Approach

Mobile App Testing. Main challenges, different approaches, one solution

Azure Day Application Development

Your guide to building great apps. Upgrade your skills and update your tools to create the next great app

automated acceptance testing of mobile apps

SUHAIL DAWOOD Toronto, Ontario

Build apps your users will love with Xamarin. Mobile Edge 11 Nov 2015

VERIFICATION AND VALIDATION AUTOMATED TESTING TOOLS CLAUDIU ADAM

Using Cloud Services for Building Next Generation Mobile Apps

Mobile App Testing Guide. Basics of Mobile App Testing

White Paper Server. SUSE Linux Enterprise Server 12 Modules

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

Agenda. Success Stories with OpenShift. 11:15-11:45 am. OpenShift Tech Overview 9:40-10:30 am. Red Hat Mobile on OpenShift 10:45-11:15 am

THE OPEN SOURCE DEVELOPER REPORT

Mobile Application Testing

Continuous Integration Processes and SCM To Support Test Automation

DATA DONE RIGHT. Applying Agile and XP Concepts. #DataDoneRight

Cross-Platform Development

geniusport mobility training experts

Introduction to Programming Tools. Anjana & Shankar September,2010

Automation using Selenium

Testing Mobile Application using Device Cloud

Build Automation for Mobile. or How to Deliver Quality Apps Continuously. Angelo Rüggeberg

How to Get the Most out of Your CI/CD Workflow Using Automated Testing

Open source Test Automation Tools for Mobile Applications A Primer

Cloud Hosting. QCLUG presentation - Aaron Johnson. Amazon AWS Heroku OpenShift

Intel IT s Cloud Journey. Speaker: [speaker name], Intel IT

Title: Appium Automation for Mac OS X. Created By: Prithivirajan M. Abstract. Introduction

Tech Radar - May 2015

Practical Essbase Web Services

Continuous Integration

Microsoft Modern ALM. Gilad Levy Baruch Frei

THE BUSINESS CASE FOR HYBRID HTML5 MOBILE APPS

QA Tools (QTP, QC/ALM), Selenium with Java, Mobile with Automation, Unix, SQL, SOAP UI

Choosing a Mobile Application Development Approach

DESIGN OF AUTOMATION SCRIPTS EXECUTION APPLICATION FOR SELENIUM WEBDRIVER AND TestNG FRAMEWORK

Better Software Though Expertise, Collaboration & Automation. BDD, DevOps and Testing

Increase Your Mobile Test Automation ROI

Guide to Mobile Testing

Regression & Load Testing BI EE 11g

TURKEY SOFTWARE QUALITY REPORT

Deploy. Friction-free self-service BI solutions for everyone Scalable analytics on a modern architecture

Continuous Integration

Mobile Cross Platform Development really? Jonathan Marshall, IBM Mobile Technical Specialist IBM Corporation

SOFTWARE DEVELOPMENT. Notes for Startup Founders. March 25 th, 2015

Sage CRM 2016 R1 Patch Release Notes. Revision: SYS-REA-ENG Updated: June 2016

STUDY AND ANALYSIS OF AUTOMATION TESTING TECHNIQUES

Intel IT Cloud Extending OpenStack* IaaS with Cloud Foundry* PaaS

AUTOMATING THE WEB APPLICATIONS USING THE SELENIUM RC

ClaySys AppForms for SharePoint

Porting Existing PhoneGap Apps to Tizen OS - Development Story

Mobile Testing in a Fast Paced World

Sandesh Prasanna Kumar

WHITEPAPER BEST PRACTICES IN MOBILE APPLICATION TESTING

Building Robust Applications l Optimizing Performance l Transforming Business

Domain Specific Languages for Selenium tests

Efficient Mobile Testing Georg Thurner Mike Nemeth, September 18, Copyright 2014, Tricentis GmbH. All Rights Reserved. 1

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

Transcription:

Mobile Test Automation Framework Shankar Garg Senior Consultant - Testing

Problem Statement Features of Test Automation Framework Tech stack and why Demo Did we still miss something Page Objects

Why Mobile

Why Quality is important Back in the day, one bad customer experience would spread via word-of-mouth and reach few Customers. Thanks to Social Media platforms like Twitter, Facebook etc. however, that same word-of-mouth now travels at the speed of light and reaches million users. The other major difference is App Store ratings. Imagine if a poor review were stamped directly on the packing of a product. These Social Media Ratings and Likes can prove to be a make or break for the brand and product.

Challenges for Testing Teams Mobile Test Teams have to repeat the entire test cycle for each of the following: Multiple OS Android and ios Multiple Hardware Samsung, Apple etc

Challenges for Mobile Test Teams Lot of Regression Testing. Frequent application releases: Ease of upgrading apps over the air Increased user expectations about quicker releases (for bug fixes and new features) OS updates. Test teams are continuously tasked with testing entire applications faster and more often.

Test Automation - Appium Appium has made life easy for Mobile Automation Teams. Appium has enabled test teams to use the same code to test on Multiple OS Multiple hardware

Challenges for Automation Teams Although Appium Solved lot of Mobile Specific problems but problems specific to Framework design still remain. Maintainability Reusability

What about Agile Testing? With the advent of Agile practices, Behavior Driven Development/Testing has also gained more popularity.

Mobile Test Automation Framework - Features Non Technical people can help in Test Automation. Requirements are directly converted into Test cases ( to eliminate difference in understanding of Dev and QA) Supports multiple OS i.e. ios, Android etc. ( Same tool can be used to write test case for ios and Android) Inter portability of same test cases on Multiple platform ( Same test case can be run for ios and Android). Maintainability ( How easy it is to change/update a test case) Re-usability ( How easy it is to use existing code to write new test cases)

What s the Solution: No tool alone can solve the problem mentioned above. Appium alone cannot solve these challenges Frequent UI/functionality updates. Implementing behavior driven development & What is needed is, the combination of tools which can address these problems when combined together.

Tech Stack Java Maven Appium Cucumber Git Jenkins

Why Cucumber? Cucumber Enables Non Technical team members to help in Test Automation (by writing feature files). Cucumber can be implemented in multiple languages. i.e. Java, Ruby and JavaScript. Cucumber can be used to implement projects in wide business areas like enterprise web, Mobile, Web Services. Cucumber is very easy to install, implement and learn.

Why Appium? Support for multiple platforms ios, Android and Firefox OS. Support for Native, Web and Hybrid Applications. Can be implemented in multiple languages Java, PHP, Python, Ruby, C# etc. No Additional Library added to AUT. Can be implemented with any Testing Framework i.e. Junit, TestNG, Cucumber etc.

Demo Application Under Test Project Strucutre Feature File Glue Code Hooks DriverFactory.java Appium Code

What we have achieved Non Technical people can help in Test Automation. Requirements are directly converted into Test cases ( to eliminate difference in understanding of Dev and QA) Supports multiple OS i.e. ios, Android etc. ( Same tool can be used to write test case for ios and Android) Inter portability of same test cases on Multiple platform ( Same test case can be run for ios and Android). Maintainability ( How easy it is to change/update a test case) Re-usability ( How easy it is to use existing code to write new test cases)

Is there a problem still? Locators: are spread across file and if some one needs to change a locator then he will have to make changes at multiple places. we face a risk of some locators not being updated at all. To know at what all places the particular locator was defined is the biggest challenge. Scope :There is no scope defined for a file, it may contain function for entire application or for some part only. if a new team member joins, then he will face hard time finding a function already defined.

Page Objects: Framework design approach for maintaining & accessing components & controls spread across test scenarios. Page Object creates a DSL for our tests. if something changes on the page we don't need to change the test, we just need to update the object that represents the page.

Page Objects - Guidelines Each Page object scope will be limited to one page of the application only. All locators related to that page will be defined in the page object ( all locators will be grouped at one place, possibly on the Top so that it is easy to find and update these). All behaviors associated to a page will be described in the page object as functions.

Page Objects Benefits The beauty of these files is that just by looking at the code, you can relate for which part of the application these files belong to. How easy it becomes to change and at the same time how easy it is to add new functionality.

What we have achieved Non Technical people can help in Test Automation. Requirements are directly converted into Test cases ( to eliminate difference in understanding of Dev and QA) Supports multiple OS i.e. ios, Android etc. ( Same tool can be used to write test case for ios and Android) Inter portability of same test cases on Multiple platform ( Same test case can be run for ios and Android). Maintainability ( How easy it is to change/update a test case) Re-usability ( How easy it is to use existing code to write new test cases)

Limitations? To do

picture by -bast- Q & A