Choose the Right Testing Platform

 
As a mobile app maker, how sure are you about the success of your app? A small failure to recognize bugs can cost you thousands of dollars! A small mistake can turn you into a big failure among the users. Now, the question is, how to choose the best platform for testing.

Every mobile application is created differently from the other and the right platform to test can be the most important reason for your app’s success.

Right Testing Platform for Your App

 

Choosing the right platform among the various competing ones require a set of clear evaluation.

  • The nature of the targeted audience for your app. This will define the device matrix you should be targeting for your App Testing. Does that platform provide right device matrix for your testing needs?
  • Cloud based vs in-house setup – Does you testing process allow Apps to be allowed on outside cloud? Does your App have functionalities which work with in a secured network?
  • Type of Testing required for your App – Whether your current testing is manual or automated? Does your App require non-functional Testing?
  • Reliability and Scalability of the platform- Can it scale with your needs? Can the platform integrate with your existing tools and frameworks?
  • Return on Investment

 

Criterion

Description

Device Fragmentation

Can the platform handle you need of devices?

Availability

How critical for you instant availability of devices. Is you testing planned?

Automation

How much of testing is done using Automated scripts? Does the platform support the Automation tool that you are using or planning to use.

Type of Testing

What all functional features that you need to test? Does your App require non-functional Testing?

Extensibility ( integration with in-house frameworks)

Can the platform integrate with your in-house frameworks ( Automation, Test Management , Bug Management etc..)

DevOps

Can the platform support DevOps? Can it integrate with your build systems/dev IDEs or continuous integration systems.

Security

Can you upload your app on an external cloud? Does you App require interaction with your internal server?
Usage level and Cost

What is the usage pattern of your test and developing team and what is your budget?

 

Market Share: Andriod VS iOS

 

pCloudy provides the necessary tools for convenient, effective and immediate mobile app testing. Our device is based on cloud and it enables continuous development and testing on real devices. Our unique debugging feature recognizes potential errors that will significantly reduce costs and time. Our platform provides single-click access to end numbers of real Android and Ios devices.

To experience the best with your app, we have developed three different types of cloud environments for you.

Public Cloud

With pCloudy’s publicly accessed cloud, you can perform tests directly from your browser. You won’t get confused to choose between manual or automated because both are available in our public cloud environment. We allow our users to test on a comprehensive list of real IOS and Android devices. You can also test your app over various network conditions like 2G, 3G, 4G or Wi-Fi. You can either configure your own browser or choose from our wide range of pre-installed browsers.

Private Cloud

This option is similar to our public cloud environment, except it comes with additional benefits of personalized security and dedicated access. Here, we would provide you a host of devices in our enterprise grade data center and you can choose your own device. If you have a geographically distributed team, then they will have secured devices over a browser. We make sure that your data is safe on our platform, as we allow only authorized team members to access.

On-premise cloud

In this option, we provide you with the necessary hardware and give you the freedom to set up your own secure device lab. You will have complete control of your own on-premise lab.

In addition to have exactly the same features of our public cloud, on-premise model contains supplementary benefits. On-premise cloud gives you the freedom of plug-in with your existing set of devices and provides you access to a geographically distributed team. Manual and automated- both the testing techniques can be used and with a simple plug-in, you can access it from any rack. Also, there is no limit for the number of devices which can be linked!

At the end of the day, the developer has to choose the best platform for his app. But choosing the right one saves so much of hassles.

 

Test Your Mobile App on Different Devices

 
The Technology involved in mobile devices is changing rapidly. Mobile phones have literally personalized the choices in our lives, experts forecast that the future devices will be the remote controls of our lives.  The services or functions are run by apps in specified platforms. And each platform has its own set of parameters to run an app. Mobile phone or device manufacturers are going through a breathtaking pace of change over the years and keeps on innovating new ways of doing things!

 

app

 

Why Apps fail?

 

Why Apps fail?

 

 

 

Why Apps fail?

Above data clearly show that handling Device fragmentation is one of the biggest challenges for App developers. Android has more fragmentation issue compared to iOS. Because the number of mobile vendors, is comparatively higher. However, even iOS faces certain amount of fragmentation issue. As there are different software versions and devices. And different devices run different iOS versions.

 

                            iOS versions                                           iOS versions

Mobile browsers can be challenging too! There are end numbers of browsers like Safari, Opera, Goggle Chrome and Dolphin. And each one of them has different versions for different platforms!

 

“So, what’s the right choice? Buying every device available in the market?”

Not necessarily, right device matrix is the key to success.

You can choose one of the two approaches to arrive at your device matrix

Device diversity Approach

  • Decide the device matrix based on key parameters like OS versions, screen size/resolution, manufacturer/device family (Android), operator, CPU, and input method
  • Objective is to maximize the variety of devices

Market segment + Device popularity approach

  •  Choose devices with the highest market share
  •  Objective is to maximize market coverage

Once you have the right device matrix, Device Cloud is the best option to get quick access to your device matrix.

 

 

 

As a tester, you must consider the ever increasing number of physical devices. The most important implementations should be automation, quality assurance, security and device compatibility. Also, ensure that the software scripts cover the core functionality of the application, so that it can run across all the platforms.

 

Simplest App Testing Platform

 
With the advent of smartphones into our lives, “Mobile First”, “Mobile Only” and “Enterprise Mobility” has become new buzz words. However, for any Mobile program or an app to be successful, it takes careful planning and execution of testing.

Traditional app testing is time consuming because it requires a huge, dedicated infrastructure and resources that is to be used periodically. It is safe to say that Mobile Device Cloud is the next big thing. Working on Cloud opens up new panoramas of opportunity for testing.

This is where pCloudy comes into the picture.

testers-cannot-assure-that-app-runs-similarly-on-all-platforms

pCloudy is a mobile application testing platform designed to increase your App Testing coverage while saving significant time and cost. All this with a simplicity you wouldn’t believe until you see it yourself. So, what makes pCloudy the simplest app testing platform?

‘’No requirement of additional softwares’’

 

Test with Real Devices (yes, it’s all real devices) through Public Cloud – Increasing test coverage was never so easy

pCloudy allows users to test on a wide-ranging list of real iOS and Android mobile devices and tablets. Now, you can ensure that your App is compatible with a variety of devices. You can also replicate and fix your production bugs easily.

5

 

Single click access to real devices – Super easy

Firstly, accessing their cloud device is made really simple. Access to real devices is a single click away using any Html5 browser. With security being a key factor, pCloudy makes sure information is protected and is secure over web sockets.

4

 

Single click access to testing tools – Save time

pCloudy provides single click access to tools like “Screenshot”, “Live Logs”, “Crash Reports”, “Performance Metrics”, “Videos” and “Geo-location”. Imagine how much time do you spend performing these steps on each device.

3

 

Any time parallel execution of Automation scripts – Save time and Increase coverage

Creation of Automation scripts for Mobile Apps is easy. What’s challenging is “How to run the scripts in parallel on real devices during regression run”? “How to create consolidated reports with Device level stats built-in?

Whatever is your Automation framework (over Appium, Calabash or Robotium), you can focus on script creation and leave the rest to pCloudy. You can also run it directly using your build integration system like Jenkins

pCloudy allows automation run on any no. of devices in parallel. (Yes, truly in parallel). Imagine the coverage you can achieve and how much time can you save?

2

 

Increase efficiency of your lab

One of the most novel features of pCloudy is that they offer an “in-premise” setup at your organization. To make a demanding test schedule for an organization simpler, pCloudy provides the essential hardware and give you the liberty to set up your own secure device lab. With this, you will have complete control of your own on-premise lab with multiple benefits like plug-in play, day zero installation, no limitation on the number of concurrent logins, and a smooth mobile device management where you can monitor devices closely. There is no limitation of number of devices which can be attached to an on-premise setup. Apart from this, you can increase the USB hub to the main setup easily as per your requirement.

‘’Unlimited numbers of devices can be attached to an in-premise setup’’

 

1

Mobile App Testing Comparison

 
Mobile App Testing Comparison

Apps are the ‘new thing’. We are living in an era, where, you click on your mobile screen for your evening cup of ‘cuppa’. With the advent of technology and internet, mobile phones and services are getting personalized like never before! And to compliance these services, numerous number of apps are appearing every day to suit different platforms. Among the apps, the demand for consumer apps is the highest, but various enterprise applications are also evolving to support various businesses. Due to the ever-growing demand for mobile apps, app makers and developers are shifting their focus towards creating strategies and roadmap before launching their applications. It is easier to launch an app with features and functionality required by a particular service, but it is pretty critical to have a rigorous and a flawless mobile testing plan before the deployment.


70% of Apps

Testing is a crucial step, where developers can ensure the quality of the app they are going to release. No one wants to release an app full of bugs, or which allows a lot of pop-ups. A faulty GUI, or a confusing UX, can be the reasons for the sad demise of your app before it creates its own space in the app market. That’s why mastering the art of mobile app testing has become the primary objective for any developer to sustain in the market.

Mobile App testing throws many new kinds of challenges

  • There are numbers of real devices available in the market and for which developers have to go through large numbers of tests

Device Fragmentation

  • There are frequent changes in mobile apps. It has become difficult to keep pace with the changes.
  • Availability of the right Mobile App Infrastructure, the right device matrix and the right tool set is a very selective process!
  • Simulating or reproducing bugs reported by users are extremely difficult as they are mostly related to a specific device.. Bugs are always progressive in nature. And that’s why the cost of development increases significantly.

40% of bugs

Current Approach

The typical testing approach involves use of simulators or emulators with a combination of internal mobile lab (selected set of devices). These approaches don’t provide full testing coverage. Bugs are found when an app is launched in the market. It leads to overall high cost of quality. Organizations have started to look at Automation to reduce cycle time and increase test coverage. But, without a proper Mobile lab infrastructure, it doesn’t yield good result.

Solution: Future is cloud

Blog site e-testing notes, “Cloud-based testing makes it possible to collaborate more effectively, to test across multiple platforms with less hardware, and to spend less on testing efforts, both long and short term.”

Why is cloud based Mobile App Testing the way to go?

  • Produces better quality apps by testing on the widest possible variety of devices available, while reducing capital budgets.
  • Cloud offers a ready infrastructure for Automation runs, which results an Increase in test coverage.
  • Quickly reproduce bugs reported from the market.
  • It allows easy collaboration between various teams.
  • Boosts the Agile development process by allowing easy integration within a continuous process.
  • It saves cost as the same lab can be accessed by geographically distributed teams.
  • Cloud lets you access devices which have been stopped in the market. For example, there are still many users in India use the old Android versions like 2.3 on phone, like Samsung Galaxy Star Duos.

20% of devices

Conclusion:

Effective use of cloud can shorten cycle times, improve app quality, and reduce capital budgets by bringing order to the chaos of mobile app development and testing.

pCloudy Appium integration

 

1. pCloudy-java-Connector for Appium

 

1.1 Overview

Appium is an open source test automation framework which is used with wide range of mobile apps that supports only android/ios or both. pCloudy is a popular mobile testing platform integrated with Appium script which enables you to automate test of mobile apps as well. If you have your Appium Scripts (or you plan to build them) in Java then you can use the pCloudy-java-connector.jar to integrate with the pCloudy platform. In case, you don’t have your Appium script then, you will need to use the rest web services APIs which are given in the end of this document.

 

1.2 Objective of this document

This user help guide has been developed for pCloudy end users. This help guide will help you to understand the APIs that pCloudy platform provides to integrate your existing Appium Scripts with pCloudy. After the integration, you will be able to execute your Appium scripts from your PC directly to the pCloudy real device cloud.

 

1.3 System Requirements

  • Java based Appium Script
  • Eclipse or Netbeans
  • >APK or IPA file
  • pCloudy Account
  • pCloudy-java-connector jar

NoteThe APIs are evolving and we will come back with a better set of APIs & the jar soon. You might need a little tweaking in the code.

 

1.4 Stepwise Workflow of the APIs for getting an Appium Driver

 

The basic steps to get APIs for Appium Driver are given below:

appium testing

 

1.5 How to get my API Key for using the services

If you are a registered user then you just need to follow few simple steps to get API key for using our services.

Login to pcloudy.com –

 

Appium

 

After successful login, Instant Access page opens. Now, you finds different devices which can be filtered from the above given dropdown list of devices. From this page, you can book your device by clicking on Book your Device link. Furthermore, you can connect with any given device to perform mobile testing but you will be given 10 minutes only. While performing testing operation on selected device, you cannot perform testing on other device simultaneously.  For this, you need to release previously connected device.

When you click on settings option, support page opens by default which helps you to drop support ticket. It also includes various options like support, History, Test Runs, UDID, Profile, Credits, Unsubscribe, and API.

 

1.6 How to integrate my existing Appium Scripts on Java with pCloudy

You need pCloudy java connector jar file and corresponding APIs for Appium based mobile testing platform, pCloudy. You should add the pCloudy-java-connector.jar in its build path as a reference within the your java project containing appium scripts. See this link to learn how to add reference in eclipse.You can download pCloudy-java-connector.jar from this link –

http://support.pcloudy.com/solution/articles/9000062255-adding-reference-to-jars-in-eclipse

While downloading such file, you may come across message as given below which alerts you regarding safety of your computer.

 

pCloudy java connector jar file

 

Now, you can reference the JAR file in Eclipse or Android studio. Please refer the link.

The pCloudy-java-connector.jar comprises the following methods which gives you a wrapper code over the web services. Furthermore, you will not need to call the Rest APIs if you are working on JAVA:

 

Appium Automation Testing

 

1.7 Useful Codes to get Web-Driver Object

 

A. Run on Android Native

 

public void runExecutionOnPCloudy() {
Connector pCloudyCONNECTOR = new Connector();

// User Authentication over pCloudy
String authToken = pCloudyCONNECTOR.authenticateUser(“abc@gmail.com”, “asd53sd3fa4asd5fsasda”);
ArrayList selectedDevices = new ArrayList<>();

// Populate the selected Devices here
selectedDevices.add(MobileDevice.getNew(“Gionee_Ctrl-V6L_Android_4.4.2”, 73, “Ctrl-V6L”, “Ctrl V6L”, “android”, “4.4.2”, “Gionee”));

// Book the selected devices in pCloudy

BookingDtoDevice[] bookedDevicesIDs = pCloudyCONNECTOR.bookDevicesForAppium(authToken, selectedDevices, 5, “friendlySessionName”);
System.out.println(“Devices booked successfully”);

// Upload apk in pCloudy
PDriveFileDTO pDriveFile = pCloudyCONNECTOR.uploadApp(authToken, new File(appPath));
System.out.println(“ipa file uploaded successfully”);
pCloudyCONNECTOR.initAppiumHubForApp(authToken, pDriveFile);

// Get the endpoint from pCloudy
URL endpoint = pCloudyCONNECTOR.getAppiumEndpoint(authToken);
System.out.println(“Appium Endpoint:” + endpoint);

// Create multiple driver objects in multiple threads
for (int i = 0; i < bookedDevicesIDs.length; i++) {
Thread.sleep(5000);
new Thread(getTestCaseClass(endpoint, bookedDevicesIDs[i])).start();
}
}

private Runnable getTestCaseClass(final URL endpoint, final BookingDtoDevice dto) {

// this will give a Thread Safe TestScript class.

// You may also like to have this as a named class in a separate file

return new Runnable() {
@Override

public void run() {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(“newCommandTimeout”, 600);
capabilities.setCapability(“launchTimeout”, 90000);
capabilities.setCapability(“deviceName”, dto.capabilities.deviceName);
capabilities.setCapability(“browserName”, dto.capabilities.deviceName);
capabilities.setCapability(“platformName”, “Android”);
capabilities.setCapability(“appPackage”, appPackage);
capabilities.setCapability(“appActivity”, appActivity);
capabilities.setCapability(“rotatable”, true);
AppiumDriver driver = new AndroidDriver(endpoint, capabilities);

// Your Test Script Goes Here…

}
};
}

 

B. Run on Android Web

 

public void runExecutionOnPCloudy() {
Connector pCloudyCONNECTOR = new Connector();

// User Authentication over pCloudy

String authToken = pCloudyCONNECTOR.authenticateUser(“uttam.kumar@sstsinc.com”, “sadf54sad65fds6sdsdsw”);
ArrayList selectedDevices = new ArrayList<>();

// Populate the selected Devices here
selectedDevices.add(MobileDevice.getNew(“Gionee_Ctrl-V6L_Android_4.4.2”, 73, “Ctrl-V6L”, “Ctrl V6L”, “android”, “4.4.2”, “Gionee”));

// Book the selected devices in pCloudy

BookingDtoDevice[] bookedDevicesIDs = pCloudyCONNECTOR.bookDevicesForAppium(authToken, selectedDevices, 5, “friendlySessionName”);
System.out.println(“Devices booked successfully”);
pCloudyCONNECTOR.initAppiumHubForBrower(authToken, “Chrome”);

// Get the endpoint from pCloudy
URL endpoint = pCloudyCONNECTOR.getAppiumEndpoint(authToken);
System.out.println(“Appium Endpoint:” + endpoint);

// Create multiple driver objects in multiple threads
for (int i = 0; i < bookedDevicesIDs.length; i++) {
Thread.sleep(5000);
new Thread(getTestCaseClass(endpoint, bookedDevicesIDs[i])).start();
}
}

private Runnable getTestCaseClass(final URL endpoint, final BookingDtoDevice dto) {

// this will give a Thread Safe TestScript class.

// You may also like to have this as a named class in a separate file
return new Runnable() {
@Override

public void run() {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setBrowserName(“chrome”);
capabilities.setCapability(“newCommandTimeout”, 600);
capabilities.setCapability(“deviceName”, dto.capabilities.deviceName);
capabilities.setCapability(“platformName”, dto.capabilities.platformName);
AppiumDriver driver = new AndroidDriver(endpoint, capabilities);
// Your Test Script Goes Here…
}
};
}

 

C. Run on IOS

public void runExecutionOnPCloudy() {
Connector pCloudyCONNECTOR = new Connector();

// User Authentication over pCloudy
String authToken = pCloudyCONNECTOR.authenticateUser(“uttam.kumar@sstsinc.com”, “sadf5sd5fds5sfd5a5fdas1”);
ArrayList selectedDevices = new ArrayList<>();

// Populate the selected Devices here
selectedDevices.add(MobileDevice.getNew(“Apple_iPad2_Ios_7.1.2”, 70, “iPad2”, “iPad 2”, “ios”, “7.1.2”, “Apple”));

// Book the selected devices in pCloudy
        BookingDtoDevice[] bookedDevicesIDs = pCloudyCONNECTOR.bookDevicesForAppium(authToken, selectedDevices, 5, “friendlySessionName”);
System.out.println(“Devices booked successfully”);

// Upload apk in pCloudy
PDriveFileDTO pDriveFile = pCloudyCONNECTOR.uploadApp(authToken, new File(appPath));
System.out.println(“ipa file uploaded successfully”);
pCloudyCONNECTOR.initAppiumHubForApp(authToken, pDriveFile);

// Get the endpoint from pCloudy

URL endpoint = pCloudyCONNECTOR.getAppiumEndpoint(authToken);
System.out.println(“Appium Endpoint:” + endpoint);

// Create multiple driver objects in multiple threads
for (int i = 0; i < bookedDevicesIDs.length; i++) {
Thread.sleep(5000);
new Thread(getTestCaseClass(endpoint, bookedDevicesIDs[i])).start();
}
}

private Runnable getTestCaseClass(final URL endpoint, final BookingDtoDevice dto) {
// this will give a Thread Safe TestScript class.
// You may also like to have this as a named class in a separate file

return new Runnable() {
@Override
public void run() {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(“newCommandTimeout”, 600);
capabilities.setCapability(“launchTimeout”, 90000);
capabilities.setCapability(“deviceName”, dto.capabilities.deviceName);
capabilities.setCapability(“browserName”, dto.capabilities.deviceName);
capabilities.setCapability(“platformName”, “ios”);
capabilities.setCapability(“bundleId”, bundleId);
IOSDriver driver = new IOSDriver(endpoint, capabilities);
// Your Test Script Goes Here…
}
};
}

 

2. Rest APIs if needed to be used in platforms other than Java

 

https://s3.amazonaws.com/pcloudy-content-distribution/v2/API_USAGE_V2.pdf

What’s New with 3.0

 

We have been continuously working towards a mission to create a world class yet affordable platform for testing of apps in connected world.

In this journey we are committed to bring you best of features to make your App testing quicker, easier and cost effective.

I would like to introduce PCloudy 3.0, our latest release. So, what’s new here?

IOS support

We have added latest IOS devices on our platform which means you can test your IOS apps on real devices exactly the same way you tested your Android apps. You can find latest devices like IPhone 6S, IPhone 6 plus and IPad Air 2. Moreover, you can find IOS devices with older versions as well.

IOS devices

Appium support

Running your Mobile App automation was never so easy. Now you can focus on building your scripts. Leave the execution to us. Just create your Appium scripts in Eclipse or using your own framework. Insert a small piece of code within your script and you are ready to run your scripts on multiple devices in parallel.

Appium support

Test your Apps on real Network

We have enabled real network on many of our devices. Now, you can test your Apps across 2G, 3G, 4G and wifi across various network providers.
You can switch between networks while executing your test cases.

On-device performance Metrics:

This has been a big pain area of testers and developers. How to measure and analyze resource consumption (CPU, Memory and Network consumption) for App on a real device. Well, it’s a click away on our platform.

On-device performance Metrics

Latest Devices:

We are constantly updating our device matrix to provide our customers latest and greatest devices available in the market.


Improved Performance:

Our commitment is to provide you a working experience as close as possible to a real device. We have done many perf improvements on our platform. Moreover, we moved to a new Data center. It’s an ISO 27001 certified Data center with 99.99% uptime commitment.

Time Taken To Fix a Bug

 
How Long will it Take to Fix This Bug ? This is the first question asked

Well, i need to understand the story. Need to find the bug from the story. Now , i need to reproduce it! . may be some ping-pong between teams or tester. Then finally when i give-up, i will take Debug Logs, Stack trace, Performance data and what not.

Damn, it will be fixed when it is fixed 🙂

This is the usual Life cycle of a bug, they live too long, more than they deserve to. basically they live through the time we waste on re doing things, developer re doing things which a tester gone through already.

How can we fix this bug quick, And make the cycle efficient.

I will demonstrate some tools provided by pCloudy to collaborate effortlessly between developer and tester, To fix a bug so quick, with out wasting time or re doing things.

Some of the data pcloudy record’s from device session, which a developer can use to fix the bug
Complete video is recorded, which is the steps to understand and reproduce the bug. A Video Is Worth 1.8 Million Words
Screen shots can be taken at any point
Debug Logs are recorded
Crash log/Stack trace are recorded

This is fully automatic, that’s what i meant by effortlessly.
As i said, A Video Is Worth 1.8 Million Words, I have recorded a short video explaining these tools.
 

 
Now when you share this bundle with the developer, What more a developer expect ? This is possibly everything he needs to start fixing the bug. No re-doing things or ping-pong.

Collaborate effortlessly using pCloudy
Lets build better apps together

How many devices you have tested your applications on? How are you making sure your application is indeed working on all the devices available in the market?

Yes one must test the application on Real devices, rather quite a lot of devices available in the market and must not rely only on emulators or one or two devices available with the developers. If so, you know that it’s difficult, primarily because of fragmentation in Android space. There are 9+ os versions, 8+ display resolutions, 5+ aspect ratios , 10+ physical device sizes & OEM customizations. All these factors are getting wider and wider day by day. So testing your application on all the devices is impractical because it consumes whole lot of time and buying so many devices is too expensive.

optimus-Net-169

Now what? First you should bring out an optimal set of devices which is derived by considering all the above factors in fragmentation. It turns out that its still too expensive to buy these devices. To avoid investing in buying a moving target of devices, you should try to lease the devices. You can save your efforts of buying & managing the moving target and of-course lot of money.

This is exactly pcloudy is trying to solve, Real Android Devices on cloud for you to lease the devices only for the duration you need to finish your task. You will get access to Real Android Devices through any modern browser to finish your manual testing anddebugging. This tool is being used by lot of testing and development communities across the world today.

Below are few feature from this wonderful tool.
Lets make better apps, better experience together….

“iOS 8 is the biggest iOS release ever — for developers and everyone else. But that wasn’t the goal. We simply set out to create the most natural experience. Each enhancement has a purpose. Every new feature deserves to be a new feature. Each function is more considered, each next step is more efficient. It all adds up to an even better experience — one that is pleasantly surprising at first and becomes utterly indispensable before you know it.”

What is new ?

Inter-App Communication

Inter-app communication means different things to different people. For some it’s the ability to push files from one app to another. For others it’s the ability to pull data into any field in any app. The core issue, however, is workflow. People just want an easier way to move their stuff around.

Touch ID Authentication

Touch ID is the name of Apple’s personal fingerprint identity sensor. It’s what currently lets you authenticate yourself to unlock your iPhone 5s and authorize iTunes and App Store purchases on your account.

 Custom keyboards

After years of waiting, Apple has finally brought support for third-party keyboards to iOS. Inside iOS 8, keyboards like Swiftkey and Swype, which have enjoyed huge usage on Android, will have system-wide access to all apps and services on your iPhone and iPad. Swiftkey has confirmed it’s onboard, but if you don’t fancy that, you’ll still able to enjoy Apple’s new QuickType keyboard. The company says the improved keyboard learns from the way you type and text, offering a pick of suggestions for your next word based on the content of your message or the person you’re conversing with. Planning a meal with your friend or loved one? The keyboard will auto-populate words like “dinner” or “eat” as you type. At launch, QuickType will support 14 regions including the US, UK, Canada, Australian English, Brazilian Portuguese, Chinese (that includes Hong Kong and Taiwan), French, German, Italian, Japanese, Spanish and Thai.

Family Sharing

New to iOS 8, a user can add six others as family members. Family members can share purchased apps, music, and books using the same credit card. iOS 8 can also automatically set up photo streams for all family members. Calendars may be synced between all members. Kids can also send iTunes download requests for apps, music, movies, and more to their parents provided this service is set up correctly.

Third-party widgets

iOS 7 split notifications and widgets apart, putting widgets in their own Today view, moving Weather to the Today Summary, and adding support for Calendar, Reminders, predictive location, and the Tomorrow Summary. Yet they were still limited to built-in apps and services.

iOS 8 and Extensibility take it even further, allowing App Store apps to offer up their own Today view widgets — helpful information status indicators, simple, interactive utilities, and ways to launch into the full app when and if needed — easily accessible from anywhere on the iPhone or iPad, informational and interactive.

What a new OS or device release means to the developers and Testers?

Update Your Device/OS Test Matrix

Maintaining Device /OS Test matrix is already a big challenge for organizations. It is always a big question that what device and OS combination should be included in the Test Matrix and what should be not. One way to set your Matrix in right direction is you can take the help of Google analytics that what devices your audience/users are coming from.Now each OS Device release we have to refresh this Matrix.

How should we proceed and what all areas we should focus more:-

Functional Testing

According to Apple’s developer site “iOS 8 includes over 4,000 new APIs that let you add amazing new features and capabilities to your apps. Deeper integration with iOS means you can extend the reach of your app content and functionality.”

Inter App communication

Test if your application is able to interact seamlessly with other apps and Able to transfer Data from one app to other.

Notification center

If your app is using Notification API it is properly updated in Notification center and your application is able to customize its Notifications in Device Notification center.

Touch ID Authentication

If Your Application is using Touch ID Authentication the is it working fine as per your implementation

A/B Testing

App Login with Touch ID

In iOS 8 developers can now use Touch ID to let their users log into their app. Typing in a password introduces a lot of friction into the signup flow, but Touch ID is also a new technology that isn’t perfect every time.
Just because Touch ID is available for app login, doesn’t mean it’s the best option for every user. Set up a simple A/B test to see how leading with one option vs. another impacts sign-ins and sign-ups. Depending on who your audience is and how they use your app, you may be surprised by the results.

Let’s face it; Touch ID doesn’t always work as promised. It’s important that your app respond before your users start to get frustrated and consider abandoning. Try testing different options for help text and UI elements to guide your users to a successful entry.

Extended Sharing Options

iOS 8 now lets developers share content from their apps with a new sharing options API. This release comes a big question: where will developers embed sharing actions? and what type of actions with sharing surface?

We recommend experimenting with different places in your app you can surface the option to share. Make sure you pick a consistent place that makes sense for users as part of their interaction flow. This can be hard to know for certain, so we recommend brainstorming some options with your team and testing as many as you can.

The types of actions you surface in your sharing options is also really important. Too many actions will clutter the experience and confuse people, threatening drop off. Think about the high-value actions you want your users to take. Start by highlighting only those. Then, progressively test into adding other actions based on user feedback and team ideas. If you start to see adding actions are negatively impacting your engagement, you know you might be going too far.

UI Testing

 

Remember these points before Testing

Size Class

With iOS 8, Apple is introducing “size classes”. Size classes have vertical and horizontal dimensions called “regular” and “compact”. The iPad in both portrait and landscape defaults to the regular size class in both horizontal and vertical directions. The iPhone in portrait defaults to compact size class for horizontal and regular size class for vertical. The iPhone in landscape defaults to compact size class for both horizontal and vertical.
Apple provides some automatic behaviors based on size classes. For example, if you rotate an iPhone app that uses standard components from portrait to landscape (from compact/regular to compact/compact) the navigation bar gets condensed and the status bar disappears entirely. That’s to maximize the content on a screen that’s suddenly gone from being tall to being very, very short — like a web page on Safari.
Developers are free to customize the layout for every orientation of every device they support as well. For example, they can have two buttons stacked on top of each other in portrait orientation to take advantage of the height, and those same buttons aligned side-by-side in landscape orientation to take advantage of the width. They’re the same controls, their position and other attributes simply change as the vertical size class changes.

Split view

Apple is also bringing split views to the iPhone. That means developers no longer have to maintain two separate interface hierarchies, one for iPad that contains split view, and one for iPhone that does not. Now they can maintain one hierarchy for both and the proper screens will all be rendered based on size class.

Changed UI API’s

With iOS 8 Release Apple has removed some of the UI API’s and a list of bug fixes in UI KIT made it very essential for user’s to test the UI thoroughly.

Orientation

You need to test the rendering of their application as per the changed classes and views

UX Testing

Enhanced Multitasking

iOS 8 comes with enhanced multitasking functionalities. Testing your app user experience with this enhanced Multitasking feature of iOS 8.

iOS 8 Touch ID authentications

Testing the user experience of your application with iOS 8 Touch ID authentications functionality.

Notification Center

How Your Application Notification pushed into Device Notification center or What happens when your Device is in Locked state etc.

Performance Testing

CPU usage by Your Application on this new OS and device.
App performance during interaction of one app with others.

Security Testing

Security will also be a major focus of this release. New iOS 8 features will make it even easier to keep track of all your passwords and make sure they are as secure as possible