Professional Documents
Culture Documents
10 Flexible automation
11 Continuous quality
Enterprise support
Consulting partners
The mobile app market continues to grow While mobile users are more in love with
at a staggering rate. There are 224 million their mobile apps than ever, theyre also
active monthly app users in the U.S. alone, less willing to tolerate a subpar user
and the amount of time people spend experience. One in five apps is opened
using apps increased 21% from 2013 to only once, and surveys have consistently
2014. The market is expected to continue found that users are quick to give up on
to grow for the foreseeable future, as the apps that are slow or buggy.
worldwide penetration rates of both
The challenge for businesses, then, is to
smartphones and tablets increases, and as
create apps that perform at a high level
the app model expands to a variety of new
on multiple operating systems and for an
connected devices such as smartwatches
ever-increasing number of devices that
and next-generation cars, homes and
must be constantly tested and
business facilities.
monitored to ensure they continue to
How will your business run optimally across all devices and
guarantee high-quality apps for configurations.
millions of users on thousands
of different devices?
134
45
13
number of devices
market
share
0-25% 25%-50% 50%-75% 75%-90%
The mobile computing landscape is far single platform which is a strategy that
more fluid and fragmented than it was leaves wide swaths of the market
during the PC era, and is changing much unaddressed device fragmentation
more rapidly as well. From 2009 to 2014, makes it extremely difficult to guarantee
Android vaulted from a 4% smartphone app quality and consistency on all
market share to a whopping 76.6%. form factors.
But, while Android dominates
Xamarins own device market share data
device volume, Apple generates more
illustrates exactly how challenging the
sales and higher revenue.
fragmentation problem is testing
Nearly 20,000 different devices are on 134 devices only covers 75% of
currently in use running Android, the device ownership in the US. This does
worlds dominant mobile operating not include the different operating
system, and those gadgets have various systems which can triple or quadruple
sizes, form factors and manufacturer the number of device configurations
customizations. Additionally, Apples iOS required to ensure complete coverage.
runs on approximately two dozen Most companies today still test on only a
configurations on the iPhone and iPad. handful of devices, putting the
Even if an organization commits to a experience of the majority of users at risk.
Popular apps like Instagram, Dropbox, slow apps, breaking the productivity
and Facebook Messenger have shaped promise of a mobile workforce.
user expectations for all apps: they
The huge variety of form factors, OS
must be beautiful, fast, and frequently
versions, and OEM configurations
updated. User sessions often last just
makes guaranteeing app quality and
seconds, so a high-performance
consistency across a wide range of
app that delivers information quickly can
devices extremely difficult with standard
mark the difference between a
methods for addressing mobile quality.
highly-rated app that attracts new users,
and a poorly rated app that drives away Automatically testing apps on real
audiences and generates negative word devices, and monitoring apps and user
of mouth. Employee-facing apps are behavior once released are the
judged by these same experience only sustainable ways to solve the
standards; employees will abandon ugly, fragmentation problem.
WiFi, GPS, camera, sensors, etc. are simulated so Security vulnerabilities because apps and data are in
error conditions are often not exercised. uncontrolled environments.
OEM and carrier customizations missing from Manual testing requires significant investment and ongoing
simulators affect app behavior in unforeseen ways. expense, with a TCO upwards of $1,400 per device. Human
testers often make mistakes or skip steps. Logging each step
Simulators may appear to lower expenses for testing apps,
and reporting bugs is a painstaking process that can limit
but they provide a false sense of security because they fail to
the number of features and devices tested and results often
take into account how apps perform and behave on physical
take weeks to report. Ultimately, manual testing adds significant
devices, making simulator-only testing a dead-end for
expense and overhead along with a loss in time, agility,
guaranteeing real-world quality.
and innovation.
C# Example
[Test]
public void ShouldBeAbleToPlacelimitOrders ()
{
app.EnterText(x => x.Id("Username"), "cathy@business.com");
app.EnterText(x => x.Id("Password"), "xka13482733");
app.Tap(x => x.Text("Log in"));
app.WaitForElement(x => x.Text("Place Order"));
Assert.IsNotNull(app.Query(x => x.Class("Button").Text("Limit")));
app.Screenshot("Place limit order");
}
Calabash Example
Feature: Trades
Scenario: Selectable Trading Order Types
Given I am logged in as Cathy
; When I go to the Trading Orders Screen
Then it should display the Trading Orders order by Id
mit")));
Continuous quality
Instead of running a test from start to finish on a device, Xamarin Test Cloud is designed to integrate with CI tools like
Xamarin Test Clouds parallelization feature separates test runs Jenkins, Team City, Team Foundation Server, and Visual Studio
and executes them across multiple identical devices Online, so a test run can kick off with each commit and test
simultaneously, significantly increasing testing speed and results and failures can be included in nightly reports. Issues that
frequency. are found and fixed early in the development cycle significantly
reduce risk, so teams can develop cohesive, high-quality
software much faster.
CI
vso
VSO
Tablet Model
Other
Android Devices
Phone Models OS Versions
Acer Iconia Tab A1 Jelly Bean 4.2.2 Huawei Ascend Y300 Huawei Ascend Y300
Amazon Fire Phone Jelly Bean 4.2.2 LG G2 LG G2
Amazon Kindle Fire (2ndgeneration) Ice Cream Sandwich 4.0.3 LG G3 LG G3
Amazon Kindle Fire HD 8.9 (2nd generation) Ice Cream Sandwich 4.0.4 LG G Flex LG G Flex
ASUS Memo Pad Jelly Bean 4.1.1 LG Nexus 4 LG Nexus 4
ASUS Transformer Pad TF300T Jelly Bean 4.1.1 LG Nexus 5 LG Nexus 5
Google Nexus 7 KitKat 4.4.2, Jelly Bean 4.3, 4.2 LG Optimus 3D LG Optimus 3D
HP Slate 7 Jelly Bean 4.1.1 LG Optimus L3 E400 LG Optimus L3 E400
HTC Desire Froyo 2.2.2 LG Optimus L5 LG Optimus L5
HTC Desire C Ice Cream Sandwich 4.0.3 LG Optimus L9 P760 LG Optimus L9 P760
HTC Desire HD Gingerbread 2.3.5 LG Optimus L9 P768 LG Optimus L9 P768
HTC Desire V Ice Cream Sandwich 4.0.3 LG Optimus One P500h LG Optimus One P500h
HTC Incredible S Gingerbread 2.3.5 Motorola ATRIX 2 Motorola ATRIX 2
HTC One KitKat 4.4.2, Jelly Bean 4.3, 4.2.2, 4.1.2 Motorola DROID Maxx Motorola DROID Maxx
HTC One (M8) KitKat 4.4.3 Motorola DROID Mini Motorola DROID Mini
HTC One Max Jelly Bean 4.3 Motorola Moto X Motorola Moto X
HTC One Mini Jelly Bean 4.2.2 Motorola Moto XT615 Motorola Moto XT615
HTC One mini 2 KitKat 4.4.2 Motorola RAZR Motorola RAZR
HTC One X Jelly Bean 4.1.1 Motorola XOOM Motorola XOOM
HTC One X+HTC Sensation XL Jelly Bean 4.1.1 Nokia X Dual Sim Nokia X Dual Sim
HTC Wildfire Ice Cream Sandwich 4.0.3 Oppo N1 Oppo N1
Huawei Ascend Y Froyo 2.2.1 Oppo R819 Oppo R819
Gingerbread 2.3.6 Samsung Epic 4G Samsung Epic 4G
Samsung Galaxy Ace Samsung Galaxy Ace
Samsung Galaxy Ace 2 Gingerbread 2.3.6 Sony Xperia Tablet Z Wifi Jelly Bean 4.1.2
Samsung Galaxy Ace Plus Gingerbread 2.3.6 Sony Xperia Tipo Ice Cream Sandwich 4.0.4
Samsung Galaxy Beam Gingerbread 2.3.6 Sony Xperia V Jelly Bean 4.1.2
Samsung Galaxy Centura Ice Cream Sandwich 4.0.4 Sony Xperia Z Jelly Bean 4.3, 4.2.2, 4.1.2
Samsung Galaxy Core Jelly Bean 4.1.2 Sony Xperia Z1 Jelly Bean 4.3, 4.2.2
Samsung Galaxy Express Jelly Bean 4.1.2 Sony Xperia Z2 KitKat 4.4.2
Samsung Galaxy Grand Duos Jelly Bean 4.2.2, 4.1.2 Sony Xperia ZL Jelly Bean 4.1.2
Samsung Galaxy Mega 6.3 Jelly Bean 4.2.2 Sony Xperia ZR Jelly Bean 4.2.2, 4.1.2
Samsung Galaxy Mini 2 Gingerbread 2.3.6 Sony Xperia Z Ultra HSPA+ Jelly Bean 4.3
Samsung Galaxy Nexus Jelly Bean 4.2.2 Sony Xperia Z Ultra LTE Jelly Bean 4.2.2
Samsung Galaxy Note Jelly Bean 4.1.2 ZTE Avid 4G Ice Cream Sandwich 4.0.4
Samsung Galaxy Note 10.1 3G & WiFi Jelly Bean 4.1.2
Samsung Galaxy Note 10.1 WiFi Jelly Bean 4.1.2
Samsung Galaxy Note 3 (Octo-Core) KitKat 4.4.2
Samsung Galaxy Note 3 (Quad-Core) KitKat 4.4.2, Jelly Bean 4.3
Samsung Galaxy Note 8.0 Jelly Bean 4.1.2
Samsung Galaxy Note II KitKat 4.4.2, Jelly Bean 4.3, 4.1.2, 4.1.1
Samsung Galaxy Note II LTE Jelly Bean 4.1.1 We're adding over 100 devices per
month. Visit testcloud.xamarin.com/
Samsung Galaxy Pocket Neo Jelly Bean 4.1.2
Samsung Galaxy Precedent Froyo 2.2.2
13
Accelerators
for going mobile
Xamarin offers the ideal platform for testing any native or hybrid app, as well as training
and services to ensure success. Xamarin helps businesses at every step of
the mobile journeyfrom training that jumpstarts the automation process, to r
unning testing as a fully outsourced managed service.
Enterprise-class
support and services
Enterprise support Managed testing services
Our enterprise support offerings include one day response Xamarins expert automation engineers help teams automate
SLAs, access to the latest hotfixes, technical training for getting the mobile quality process, from providing coaching, all the
started, and access to resources for troubleshooting. way to building and maintaining a complete test suite as a
managed serviceprovide the app use case and test scenarios,
and Xamarin will automate and execute tests on device and
Consulting partners report results back.