automated acceptance testing of mobile apps



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

Speed to Market in Mobile Development

Cross Platform Mobile. -Vinod Doshi

Simple Mobile Application & Browser Testing

Mobile Testing in a Fast Paced World

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

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

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

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

5 Secrets to a Successful Mobile Application Testing Strategy

Making Mobile a Reality

Armedia. Drupal and PhoneGap Building Mobile Apps

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

Web UI & Functional Test Automation for Continuous Agile Deliveries

Cross-Platform Software Considerations for Internet of Things

Mobile Test Automation Framework

Integrating Mobile into Your Cross- Platform Strategy with Qt

Testing Automation for Distributed Applications By Isabel Drost-Fromm, Software Engineer, Elastic

QML and JavaScript for Native App Development

OS3036 Put Your ClearPath In Your Pocket

Total Quality in Mobile Apps -Continuous Integration & Performance Testing

Building Secure Mobile Applications Using MaaS360 SDK and IBM Worklight

PRIVACY AWARE ACCESS CONTROL FOR CLOUD-BASED DATA PLATFORMS

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

Increase Your Mobile Test Automation ROI

SAP Mobile Platform Intro

POINT-TO-POINT vs. MEAP THE RIGHT APPROACH FOR AN INTEGRATED MOBILITY SOLUTION

Deploying Management and Security Agents to Mobile Devices. Deploying Mgmt and Security Agents

ni.com Remote Connectivity with LabVIEW

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

Guide to Mobile Testing

Enterprise Mobile Application Development: Native or Hybrid?

Building native mobile apps for Digital Factory

Armedia. Drupal and PhoneGap Building Mobile Apps

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

Perfect Your Mobile App with Load Testing and Test Automation

Data Logging and Realtime Visualization

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

Welcome The webinar will begin shortly

Model-based Automated GUI Testing For Android Web Application Frameworks

A lap around Team Foundation Server 2015 en Visual Studio 2015

Xamarin a Cross Platform App Development Technology. A white paper on Fundamentals and Implementations of Xamarin Cross platform Mobile Technology

Building HTML5 and hybrid mobile apps using cloud services. Andrei Glazunov

How Simple Is It To Develop a Mobile App? Uma Sudhan OpenEdge Developer 7 th Oct 2013

Take Your Rocket U2 Apps Mobile with Rocket LegaSuite. Greg Mummah, Product Manager Rocket Software

Microsoft Visual Studio: Developing Cross-Platform Apps With C# Using Xamarin

Mobile Solutions in ArcGIS. Justin Fan

Choosing the right Mobile BI tool: SSRS vs Power BI vs Datazen

Copyright 11/19/2015 Aternity, Inc

Choosing A Load Testing Strategy Why and How to Optimize Application Performance

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

Dealing with Device Fragmentation in Mobile Games Testing. Ru Cindrea - Altom Consulting

Application Testing Suite: A fully Java-based software testing platform for testing Oracle E-Business Suite and other web applications

Managing Complexity in Mobile Application Deployment Using the OSGi Service Platform

BASIC COMPONENTS. There are 3 basic components in every Apache Cordova project:

Testing & Assuring Mobile End User Experience Before Production. Neotys

KEY PHASES. In Creating a Successful Mobile App

Disrupting The Market: Predictive Analytics As A Service

Donky Technical Overview

Developing Cross-platform Mobile and Web Apps

PEGA MOBILITY A PEGA PLATFORM WHITEPAPER

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

System Requirements for Microsoft Dynamics NAV 2016

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

Developing Mapping Applications with ArcGIS Runtime SDK for Windows Mobile. Jay Chen Justin Colville

IBM MobileFirst Hands-on Labs environment with Linux on z Systems and z/os

Mobile Technique and Features

Mobile Test Strategy. Shankar Garg. Senior Consultant - Testing

A Standards-based Mobile Application IdM Architecture

Developing and deploying mobile apps

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

ARIS 9ARIS 9.6 map and Future Directions Die nächste Generation des Geschäftsprozessmanagements

Ernesto Ongaro BI Consultant February 19, The 5 Levels of Embedded BI

Product Development Best Practices

This document is provided to you by ABC E BUSINESS, Microsoft Dynamics Preferred partner. System Requirements NAV 2016

System Requirements for Microsoft Dynamics NAV 2015

AWS Device Farm. Developer Guide API Version

The Agile Movement An introduction to agile software development

SAP Fiori Design rapid-deployment solution

System Requirements for Microsoft Dynamics NAV 2016

OpenText Information Hub (ihub) 3.1 and 3.1.1

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

Skillsoft Course Directory

Continuous Delivery at SAP: From dinosaur to spaceship. Darren Hague / SAP Global IT November 1st, 2013 Public

Development of mobile applications for multiple platforms

Transcription:

automated acceptance testing of mobile apps Karl Krukow, CTO, LessPainful Goto Aarhus, 2012 karl@lesspainful.com, @karlkrukow 1

Agenda Automated testing for mobile desirable properties for an acceptance testing tool Introduce Calabash via Short Live Demos Focus on ios LessPainful: test service and device cloud 2

Professional practices? Invest the time once! Get the practices going. Examples: Unit testing Acceptance tests (see this talk!). Continuous build Continuous unit test, functional test (code coverage). Static analysis using clang/findbugs. Automated deployment to users via in-app updates or link in email. Automatic Crash/Error reporting.... Go talk to the guys from ebay Classifieds Group DenBlåAvis+BilBasen 3

The QA story for mobile 4

The acceptance testing story for mobile apps As realistic an environment as practically possible. simulators/emulators are good, but not enough! Many devices, screens, resolutions, OS es, CPUs Varying Conditions (Settings, Network, Storage...) Often a manual process: repetitive, expensive Regressions, e.g., app crashes Visual appearance of screens matter (alot!) User experience, Design guidelines, branding,... 5

Significant Differences Problems that arise from differences are significant Crashes Graphical Errors Wrong Computation UI Components Inaccessible text, buttons...

Automated acceptance testing desiderata Minimize distance between use cases and actual test code (DSLs?). Expressive and efficient to write & maintain. Extensible (open vs closed source) High-level, declarative (robustness: minor UI changes). Support testing in realistic environments (real devices, on multiple OS versions, languages). Support Continuous integration. 7

Calabash Vision: Cross-platform Automated Acceptance Testing One interface: Cucumber, for Android and ios. BDD. Business understandable spec, executable as tests Reuse of Cucumber features across platforms possible. Runs on physical devices and simulators/emulators. Free, open source (Eclipse Public License) Support for native and hybrid apps (embedded webviews) with optional commercial extras support, training, consulting, device cloud, private device cloud 9

LessPainful Test Execution Service Execute Calabash tests in parallel on many devices, OS es, languages. Visual test reports. Comparison across models and operating systems. Authentic: Not jailbroken/rooted, supports both ios and Android devices. Continuous integration: lesspainful app.ipa KEY

Calabash ios: by way of Demo 13

The Setup - install and run - Cucumber Basics - predefined steps 14

Calabash Architecture Calabash Clients Calabash Calabash Servers (ios, Android) Android Calabash Your App ios Calabash JVM JSON over HTTP...

Cucumber + Calabash Gherkin Ruby Uses Features Step Defs Support Calabash Clients Executes Cucumber Tool Produces Test Results 16

Calabash ios Basics - interactive/exploratory development - core API - screenshots 17

Calabash ios Advanced - record/transform/playback - web view support - location support 18

Roadmap for Calabash Support for dynamic query and action on Android. Better support for reuse of test code across platforms More uniform APIs (old apis will not dissappear) Naming and conceptual model Protocol-level Support platform specific actions, where useful Support for JVM, Better WebView support, Better tooling. Clojure POC already exists - supports any JVM language Your inputs! 19

References https://github.com/calabash https://github.com/calabash/calabash-ios https://github.com/calabash/calabash-ios/wiki https://github.com/calabash/calabash-ios-server https://github.com/calabash/calabash-android http://blog.lesspainful.com/ https://www.lesspainful.com/ 20

Questions? Making app testing less painful... Please contact us with any questions: contact@lesspainful.com karl@lesspainful.com - ios jonas@lesspainful.com - Android http://www.lesspainful.com