Category Page

Category:

Appium 1.9.0 – Key Features and Challenge

September 7th, 2018 by

Appium 1.9.0

 

Having Appium 1.9.0 out, we find it to be a feature release, comprising multiple updates. Some of the key features brought forward in this release update are:

 

a. Appium users have been facing unlocking device issues with older versions of Appium. This had been a big headache but Appium has resolved this issue with update 1.9.0. Even if the device remains locked, Appium 1.9.0 is very much capable to unlock the device and run your script smoothly.

 

b. If the object is not identified anywhere in the script, you will be able to locate the error in Appium logs itself.

 

c. Appium 1.9.0 comes with much faster execution compared to its older versions.

 

d. The log information is more insightful and detailed than before.

 

Let us have a look at Feature release updates below:
(Source: https://github.com/appium/appium/releases)

 

General

  • Full W3C Specification support.
  • Add full beta of Espresso driver
    for Android automation (used by specifying automationName capability to be
    “Espresso”).
  • Add driver for Samsung Tizen devices
  • Add -image find element strategy,
  • Fix –async-trace server argument, and rename as –long-stacktrace
  • Sample code has been moved into the main repository to aid in maintenance.
  • Fix status retrieval to speed up performance.

iOS

  • Add support for Xcode 10 beta 5 and iOS 12 beta 5.
  • Add preliminary support for MacOS Mojave beta.
  • Add face id biometric support.
  • Fix retrieval of device time, and add optional format parameter.
  • Do not crash if there is no idevicesyslog when ending session.
  • Handle frames when page changes in Safari.
  • Add desired capabilities:
    • remoteDebugProxy – port or Unix domain socket on which a proxy for the
      remote debugger sits.
    • safariGarbageCollect – turn on/off JS garbage collection in Safari.
    • showSafariNetworkLog – print Safari network logs in the Appium server logs.
    • mjpegServerPort – port to which screenshots can be streamed.
  • Fix handling of settings updates, so simulators are not restarted unnecessarily.
  • Allow pulling of folder from real devices.
  • Add mobile: getContexts execute function, to retrieve meta-information (title,
    url, etc.) about available contexts.
  • Fix certificate retrieval and handling.
  • Fix cookie handling, to allow secure cookies.
  • Fix Safari timeout issues.
  • Add support to retrieve Safari network logs, as safariNetwork log type.

Android

  • Update Chromedriver to v2.41.
  • Get Chrome version for Webviews in Android 7+, to find correct Chromedriver.
  • Make sure UiAutomator processes are cleaned up during test.
  • Fix handling of autoWebview capability.
  • New desired capabilities:
    • mjpegScreenshotUrl – url to stream screenshots to.
    • chromedriverUseSystemExecutable – boolean flag to use the default Chromedriver
      installed with Appium, avoiding any attempt to find correct Chromedriver.
    • disableWindowAnimation – disable window animations on device (now available
      on UiAutomator and UiAutomator2).
    • pageLoadStrategy – page load strategy for Chromedriver.
  • Allow test-only APKs to be installed.
  • Fix implicit wait handling for finding elements.
  • Better handle Unicode IME installation.
  • Relax package validation logic.
  • Fix error in UiAutomator searches with nested quotes.
  • Perform accessibility refresh when needed on UiAutomator2.
  • Improve logic for determining if apps need upgrade.
  • Fix screen recording to allow longer recordings, up to 30 minutes.

 

Key challenge with Appium 1.9.0

Now, we bring to you the challenge area that we have been able to identify with this release.

  • Even after using the capability automationName as uiautomatortool, we were unable to locate the object in >=Android v8.0 devices

If you have been able to find out any workaround for this issue mentioned above, kindly share it with us in the comments section.

pCloudy Among Top 3 Test Automation Software

July 6th, 2018 by

pCloudy Among Top 3

 

We are proud to announce that pCloudy has been ranked among the top 3 Test Automation Software products based on the user satisfaction. With this, we have got another feather added in our cap after achieving the 50k milestone. It has become possible only because of your constant trust and support that motivates us to keep growing stronger.

 

Check out this list of the top Test Automation Software products based on user satisfaction. As per G2Crowd, the product’s satisfaction score is calculated by a proprietary algorithm that factors in real-user satisfaction ratings from review data. Check yourself.

 

Top 15 Test Automation Testing Platforms

Cross Platform Mobile Test Automation Using Appium

March 21st, 2018 by

Mobile Test Automation Using Appium

 
With growing demand in the market, enterprise mobility has undergone a paradigm shift. Speed, quality and user-friendliness are the need of the hour for modern enterprises. Mobile apps have become a major source of revenue boosters for enterprises today.

It is a well-known fact today that the numbers of platforms and device types are more varied now than ever before. Customers continue to demand the latest devices, features and functionality, as well as increased mobility and accessibility. With the proliferation of mobile and portable device platforms and the Internet of Things, the workload of developers, and especially testers, has greatly increased. As traditional testing practices of manual app testing prove unable to keep up with the demand, businesses of all types are experiencing significant product delivery delays and, in some cases, costly product defects. Naturally, there is a growing demand for more efficient and cost-effective testing across all platforms.

Appium: Addressing the complexities of mobile app testing

To address the demands of complex testing needs, an effective mobile app testing platform is needed which is secure, supports functional and automated testing without losing an eye on the speed and quality. So, in this era where consumers have adopted smartphones, use multi-platforms to access mobile devices, do you think your app is delivering the best experience to your users? If not, then Appium is the solution. Appium is an open source, cross-platform mobile automation tool to automate the test for native, hybrid and mobile web apps.

Appium being one of the best solutions for automation comes with support for Android and iOS real devices. In fact, it also comes with support for simulators and emulators. At its core, it an HTTP server written in node.js. It has similar working as Selenium which actually perceives HTTP requests from selenium client libraries and handles those requests in different ways depending upon the platforms.

Being the best and widely used option available today in the market, it is widely adopted by modern enterprises to create a comprehensive mobile automation framework. With a growing user base and a stronger community, it is easier to adopt and implement which is why enterprises are adopting it on a very large scale. The best thing about Appium is that it lets you write in any language supported by Selenium using WebDriver API.

While testing an Android app, Appium automates it with the help of UIAutomator library, a part of Android SDK. This actually makes the learning and implementation easier for Selenium users. Having the capabilities to test on both Android and iOS devices makes it the best cross-platform mobile app test automation tool. Automation scripts can be run on real Android and iOS devices using the WebDriver JSON Wire protocol.

Appium starts a test case on the device that spawns a server and listens for proxy commands. On iOS, Appium proxies command to a UIAutomation script running in instruments.

AppiumSource: cloud.netlifyusercontent.com

Appium: Why should you Choose?

 

  • Opens the door to cross-platform mobile testing which means the same test would work on multiple platforms.
  • Unlike other tools, it doesn’t require any third-party code to compile into your app to make it automation friendly.
  • Enables a variety of frameworks and programming languages by wrapping the vendor-provided frameworks in the WebDriver API that specifies a client-server protocol.
  • For a tester, the programming language and the whole experience would remain same irrespective of the automating platform as all complexities are under the hood of Appium server
  • Possible to Execute multiple tests on multiple platforms without the need to manage them.
  • Able to run test sequences with hundreds of test cases, across multiple platforms.
  • Enables the view and share of device interactions with colleagues using in real-time built-in collaborative screen casting
  • On-demand testing and leverage results directly
  • It supports automation frameworks like JUnit and TestNG



Appium has some challenges when it comes to scaling up with continuous integration. pCloudy brings to you a solution for this where you can automate your app tests with zero learning. Sign up on pCloudy and automate your tests on Appium for faster and better delivery of apps.

Selenium for Mobile App Testing

January 19th, 2018 by

Selenium

 

All automation development and testing engineers are very well aware of ‘Selenium’ which is the de-facto testing framework for web applications. With the changing mobile landscape, Appium is the most used framework for testing mobile apps. But is it possible to use Selenium for mobile application testing? The direct answer is ‘Not really’ but there is a long and different approach to this answer.

 

Appium is the most popular mobile application test framework which can be used to test all native, hybrid, and mobile web apps for iOS and Android. It is also used for cross browser testing that involves testing on real devices and real browsers. The fact is that Appium has got its roots from Selenium and it uses JSONWireProtocol to interact with iOS and Android apps using Selenium’s webdriver.

 

Appium/Selenium Architecture

In a typical architecture, Appium is an HTTP server written in Node.js that produces and handles multiple WebDriver sessions. Appium starts tests on the device and gets commands from the main Appium server. The server is mainly the same as the Selenium server that gets HTTP requests from Selenium client libraries.

 

The image below is an example to show how test scripts can run on our pCloudy platform. Don’t forget to watch the video on ‘How to run Appium scripts on pCloudy‘ here.

Appium pCloudy

Now that we know a bit about Selenium and Appium testing framework, let us understand the new term in Android app testing – ‘Selendroid’ which is a framework based on Selenium for automated app testing.

 

In other words, Selendroid is a test automation framework which can interact with multiple devices concurrently that can be tested without any modifications. It is also known as “Selenium for Android” for testing native and hybrid mobile apps and mobile web.

 

Let us have a look at some of the features of Selendroid:

a) It is an Open Source and is free to use
b) It supports all Android versions
c) It supports Selenium as a scripting language
d) It supports webdriver compatible languages eg: Perl, Java, C#
e) It can work on both emulators and real devices
f) It works on all native, hybrid and web-based apps
g) It is effective while executing native and cloud-based apps as it supports Selenium grid
h) It is very easy to implement.
i) With its feature called ‘Hotplugging’, it can recognize the new devices automatically.
j) It has a built-in Inspector to simplify test case development.
k) It can support various Android API versions from Android API 10 to Android API 19.
l) It can fully support parallel testing by integrating a node into Selenium grid.

 

Selendroid Architecture:
Selendroid is based on the Android Instrumentation framework where tests are written using Selenium Webdriver client API, which is also called as Selenium 2 client. Hence, it can be fully integrated with existing Selenium frameworks. It is also compatible with JSON Wire Protocol.
Let us have a look at the architecture of Selendroid:

Selenium for Mobile App Testing

To conclude, Selenium has paved its path as a de-facto web test automation framework and Appium is providing high-level APIs that can be speedily adopted by Selenium developers, and it helps simplify the tests.

pCloudy Part of G2 Crowd Grid

October 24th, 2017 by

G2 Crowd

 
pCloudy now part of G2 Crowd Test Automation Grid. We thank our customers for making us high performer.

G2Crowd Test Automation Software

Read More

Explore Full Power of pCloudy Platform – Improve Quality, Speed and Efficiency

September 20th, 2017 by

Explore Full Power of pCloudy

pCloudy understands that businesses need their apps to be rolled out faster than before, without bugs, crashes, functionality issues, UI glitches, memory drainage and well, everything wrong with every app you uninstalled on your phone within minutes of using them.

 

We simplify testing. More importantly, this platform will equip, enable and guide you to provide single-click access solutions to the battling issues that can easily drive a developer nuts. This platform allows you to test real Android and IOS devices directly from your browser using real Mobile Devices to click-and-perform Manual and Automated Testing for maximum coverage.

 

Here are the most frequently used App Testing Use Cases you might be interested in.

Manual App Testing

Automated Testing

Responsive Testing of Mobile Web

Next Gen Mobile App Testing

Continuous Integration

Integrate your own Tools

Accelerated Mobile App Testing powered by pCloudy

September 6th, 2017 by

Accelerated Mobile App Testing

When it comes to the more favorable app in the market, the true measure of a developer’s success is the app’s retention rate. An app has to have the right mix of touch, feel and design for the best user experience that represents your business value; as well as the functionality and performance true to the needs of the user and his device health.

With touch devices everywhere now, more than 3 million apps for those devices are available for download and the numbers keep on increasing. App users are increasingly demanding too. When reports have shown that Android users are far more likely to uninstall apps than iOS users for a number of reasons, it becomes easier to collate it with the information that currently Android users are more than four times the market share of iOS devices. Both have a duopoly of 99.6 percent in smartphones. At the same time, unlike iOS, Android is pretty fragmented. Which means, your app must be compatible with tons of device versions and Android versions.

deleteHence, more and more businesses need to churn out apps for their growing users, and developers having to churn out more and more apps faster, with qualitative inspection of each application that shouldn’t lag, crash, have bugs or glitches, drain phone memory or battery and work anywhere in the world from a smartphone. Added to that, 70 percent of apps get deleted by users within a couple of minutes of their installation.

That’s a tall order!
And technology is the only way to sway the game in our favor.
star
If your app has to compete on the qualitative level of a 5 star rated app in the app store, it needs a thorough and quick check before you hit the launch button. In-house testing within companies can only do so much, there aren’t enough device in-house, there is a lack of right tools or the testing cycles take far too long to make it to the market before ten new apps pop up in the app store. Low ratings, mean low revenue.

How pCloudy is changing the game
Machines and intelligent technology are the newest recruits to the workforce in the world. We at pCloudy have always worked with an approach to apply technology to exponentially enhance the ability of individuals, teams, and businesses.

pCloudy’s helps you create the magical combination of your internal workforce and intelligent platform. With pCloudy, your teams get a wide spectrum of the latest Android and iOS devices in the market to maximize testing coverage, cognitive software bots to run quick, thorough checks on your App and the power of the crowd so that you are aware of what your users think about your app.

pCloudy process

pCloudy has developed a Single Click App certification feature within its platform enabling testers to deliver on faster test cycles for users whose attention span is shorter & shorter with every bug, crash, drain or slip that an app can suffer from. Reality check is critical for every developer. So is the need for it to be quicker.

Today pCloudy is working with global companies who have often realized not just the growing potential of the market, but also the need for a crucial wing for testing with pCloudy’s platform. This is probably due to a growing desire from companies across sizes to fully understand the buyers experience consistently.

Watch out this space as we unveil the power of pCloudy’s Test Cloud over next couple of weeks.

Mobile App Testing Tools to Improve App Quality – pCloudy Tutorial

July 25th, 2017 by

Mobile App Testing Tools to Improve App Quality

 

Mobile is the key to the digital world in today’s era. The rise of Mobile Internet has ensured that we all are going to make most of our digital decisions on a Mobile device (primarily using an App). Mobile Apps are going to be everywhere.

One of the biggest challenges for App Development teams is to ensure that their Apps works on the variety of devices. They need their apps tested on multiple devices before it is released to the market, simply because of the plethora of devices available in the market.

Each mobile from each OEM (Original Equipment Manufacturer) with different specifications is a unique device where the application should be tested.

Practically it is not possible to test the application on each and every mobile device available in the market. But the app must be tested on a large set of the devices depending on the market segment of App under test.

 

Introduction:

 

pCloudy is a cloud-based remote mobile app testing platform which allows testing of Android and iOS mobile applications on remote REAL devices. It allows the user to do Manual testing and also facilitate to run test automation on multiple devices in parallel.

It provides a whole lot of statistics like session video, device logs, Screenshots, data usage, memory usage, CPU usage, battery consumption and frame rendering count. The devices are also equipped with Real Operator SIM’s to make MO/MT calls and can receive and send SMS.

Preparing for Manual Test

Before we start the test on pCloudy, we recommend uploading the test application, test data or even test suites to the cloud drive provided by pCloudy. This is the secured location for each user.

Click on the Upload button and select the file from your local system through file explorer. After selecting the file select upload and the file will be uploaded to your cloud drive.

MyApp Data
You can also manage the cloud drive by download. These applications can be installed on the devices as explained below.

Performing Manual Test remotely

Based on test requirement, you can search for any specific device by using the filters provided at pCloudy.

(Note: Click on any image for enlarged view)

Search device using filters

You can access any device for Instant Access. Also, you can book the device for a longer duration for your planned testing using “Book your Device” link.

After selecting the device just click on the “Connect to a device” button to connect to the device. The below device page will be displayed with all the supported features.

Device Information

The device is displayed in the middle pane with some features on the right, left and top pane.

  • The Left pane where the device information is displayed, followed by other tabs like App/Data, Device Settings, Debug and Automation
  • The top pane with handy features & a timer to show the remaining time & wake up the device and release the device back to the cloud.
  • The right pane to view the device logs and Performance vitals for application under test.

How to Install the application on the Remote Mobile device?

  • Install from my App data – enables user to upload app on device.
  • Push to Device – This feature allows you to transfer your test data to the device.
  • Upload App – Upload and install an app from your local system.

Install APK on Device

Once the application is installed you can test the application on REAL Remote Device the way you test the application with the phone in hand. You can use the mouse to give touch gestures to the device. You can click the button, drag the screen or double tap the image.

While doing functional testing on the remote device, you can also monitor the device logs next to the device. Please start the logs from the right page and start monitoring the logs next to the device.

Device Logs

All Mobile App Testing tools at one place: One of the biggest advantages of pCloudy platform is it provides performance statistics like Memory Usage, CPU Usage, Battery usage, Data usage & frame rendering count of the application under test without any extra efforts by the test engineer.

To view this vital statistic on pCloudy platform, please select Performance tab -> Choose an APP -> Select the application under test.

Select an app

Start navigating through the application to complete the function test flow.

On the right pane, you will start seeing the important vitals of the performance.

Performance Metrics

On the left pane, you can expand the device settings. All the important frequently used applications are made available to use on the device.

Device Settings

You can perform below actions on the remote device:

  • Reboot the device remotely
  • Toggle the Wi-Fi connection
  • Adjust the volume of the device
  • Manage the Apps
  • Open Developers options
  • Open Play store
  • Open Device settings
  • Use Set Phone Location

If your application under test is a location aware app and if it reads the geo-location from the device to provide the necessary results, “Set Phone Location” feature can be used to inject any location on the earth to the device and the device will be teleported to the selected location.

Once you select the “Set Phone Location”, the platform shows the google maps and you can select the location of your choice on this map. The same location is injected to the device.

Other key features during manual tests

Key Features

  • You can capture high-resolution screen shots with the skin of the device
  • Change the orientation of the device to Landscape and portrait
  • Open the browser from the list of preinstalled browsers
  • Use the extended keyboard if you want to enter some text on the device. However, for Android ver 5.0 and above you can directly enter the text from your system keyboard.
  • Check the stack trace (crash logs) if the application is crashed
  • You can navigate the application with the buttons
  • Zoom in/out the device shown on the screen
  • Reset the zoom level to bring the device to default size
  • Extend the session if the device is available
  • Wake up the device from sleep mode or push the device to sleep mode
  • Release the device back to the cloud

Reporting

Report

Under reports folder, you can see the entire device session data for all the devices you used. You can find Videos & Logs (by default platform generates), screen shots and performance data if selected by the user.



All Reports

Running test automation remotely

pCloudy platform supports test automation on multiple devices in parallel. Below test frameworks are supported for Android platform.

Automation Testing

You just need to select the Test platform, Choose the application under test, Test Suite, time to run on single device and test cycle name.

The biggest advantage of this platform is it generates performance vitals for your test automation scripts without you adding any hooks in your scripts. Otherwise, you will be using multiple mobile App testing tools to achieve the same result.

Once the above data is provided, user can select the devices on which the test automation to be run. Once the devices are selected, the user can schedule the test cycle.

Device for automation testing

The platform will book the devices on your behalf and will start the test automation as soon as the devices are available. Once the execution is over, the user will be notified with an email and user can see the test reports.

APPIUM Test Automation

You can run the Appium test automation scripts directly from Eclipse or Android Studio. The platform provides the plugin for both the IDE’s. Simply copy a small piece of code to your driver code and run the project, select the devices on which this tests to be run.

The “LIVE VIEW” feature will allow you to monitor the test automation runs through video streaming on the platform.

appium test automation

LIVE VIEW

Live view for automation
Live view – To see the automation happening on devices

Live View on devices

Automation Test Reports

All the test automation reports will be available under Reports folder.

Automation test reports

The reports will open in another tab with video, logs and performance data.

Appium Reports

To view the performance data for each device, please click on the device icon for each device.

Performance Analytics

Opkey Integration

pCloudy has seamless integration with OpKey, which is a zero code multi-channel automation tool. A unique combination of Mobile App Testing Tools for manual and Automation testing.

OpKey allows single click recording and generation of automated scripts for Mobile Apps.

OpKey Integration

You can run the automated scripts on multiple devices on pCloudy directly from OpKey interface.

run the automated scripts

Advance Features:

pCloudy also provides many advanced Mobile App Testing tools like Network Virtualization Tests, Device Tunnel (access of devices from Developer IDE and Jenkins Integrations).

Conclusion

The quality of App is extremely important for its success in the market. Right devices and right mobile App testing tools are critical ask from every Mobile Dev and Test team. pCloudy with its comprehensive set of devices and tools could be a perfect companion to every Developer and Tester.

Integration of TestNG Project with pCloudy Platform

July 11th, 2017 by

TestNG

TestNG is a testing framework inspired from JUnit and NUnit but introducing new functionalities that make it more powerful and easier to use.

It is an open source automated testing framework; where NG of TestNG means Next Generation. TestNG is similar to JUnit, especially when testing integrated classes.

TestNG eliminates most of the limitations of the older framework and gives the developer the ability to write more flexible and powerful tests with help of easy annotations, grouping, sequencing & parameterizing.

Benefits of TestNG

There are number of benefits but from Selenium perspective, major advantages of TestNG are:

  • It gives the ability to produce HTML Reports of execution
  • Annotations made testers life easy
  • Test cases can be Grouped & Prioritized more easily
  • Parallel testing is possible
  • Generates Logs
  • Data Parameterization is possible

Architecture of the testNG framework

TestNG Framework

pCloudy

pCloudy platform provides single click access to real Android and IOS devices directly from your browser. Use these real Mobile Devices to click-and-perform Manual Testing and execution of Automation Testing for your App. Integrate our platform with CI for continuous Automation Testing and test your App on multiple real Mobile Devices with every change of your App.

Now it’s very much simple to integrate your existing TestNG project with pCloudy.

Architecture of the TestNG framework with pCloudy

Architecture of Testing Framework with pCloudy

Prerequisite to integrate framework:

  • TestNG Project or Download sample framework code
  • Steps to integrate:

    1. Add pCloudy connector jar in your existing project

    pCloudy Java Connector

    2. Add Controller class in existing project

    Controller

    3. Add DeviceContext class in existing project

    Device Context

    4. Add a list, which contains the classes that you want to run, pCloudy username, pCloudy API key & application path in Controller class.

    Create A ListUser Authentication with pCloudySelect APK in pCloudy

    Controller class

    • contains public static void main methods.
    • helps to create dynamic testng.xml file with selected device test.
    • runs testing.xml as testng target.

    5. In TestNg class, add code to launch appium under @BeforeClass, @BeforeMethod annotation according to your project:

    @Parameters({ “myDeviceContext” })
    @BeforeClass
    public void beforeClass(String myDeviceContext) throwsConnectError, IOException, InterruptedException {
    DeviceContext myContext = Controller.allDeviceContexts.get(myDeviceContext);
    try {
    myContext.driver = newAndroidDriver(myContext.endpoint, myContext.capabilities);
    } catch (Exception ex) {
    ex.printStackTrace();
    }
    }

    6. In TestNG class, add code to quit driver under @AfterClass, @AfterMethod annotation according to your project:

    @Parameters({ “myDeviceContext” })
    @AfterClass
    public void afterClass(String myDeviceContext) throws ConnectError, IOException {
    DeviceContext myContext = Controller.allDeviceContexts.get(myDeviceContext);
    myContext.driver.quit();

    }

    7. In TestNG class, add code to close pCloudy appium under @AfterTest annotation according to your project:

    @Parameters({ “myDeviceContext” })
    @AfterTest
    public void afterTest(String myDeviceContext) {
    DeviceContext myContext = Controller.allDeviceContexts.get(myDeviceContext);
    try {
    myContext.pCloudySession.releaseSessionNow();
    } catch (ConnectError | IOException e) {
    e.printStackTrace();
    }
    }

    8. Run the TestNg framework execution by running controller class as java application.

    Create support ticket; if you have any issues our expertise will help you.

    Keep Automating…

Tips to Consider While Creating a World Class Mobile Testing Lab

May 22nd, 2017 by

How to create a world class Mobile Testing Lab?

 

It can be a big challenge to build a large scale Mobile Testing Lab from scratch. Look around you and you will see that with every single day, companies in adding mobile apps in their business strategy and with it the mobile app dev and testing market is becoming increasingly competitive, dynamic and fast paced. Older testing methods are becoming obsolete and the utter multiplicity of mobile platforms, devices and networks have made it important for any company to choose the right solution (Mobile Testing Lab) in order to strengthen themselves in the market.

While creating a testing program for these mobile applications can seem like a relentless chore and a massive undertaking, it doesn’t really have to be. Here are a few considerations to choose the right lab strategy for testing your mobile apps.

 

Key Considerations:

 

• Compatibility of Device OS, Screens and OEMs: The sheer number of different device variants, OS versions and screen resolutions form a large set of factors even though each of them are significant in their own rights. In 2012 there were about 4,000 Android device models on sale. 2015 saw about 24,093 distinct Android devices. Question is, can the lab I choose, cover maximum number of devices and come close to 100 percent of my end users’ device base?

 

mobile labs

 

• Device Control Infrastructure: After you select your target devices, it is also key to look at the other parts of a reliable architecture of your hardware. Regardless of the technology to be used in building the device lab, one needs servers to control and take care of managing devices and execute tests. Moreover, it is crucial for these servers to collect, process and store results of the tests seamlessly and without interruption.

 

mobile testing lab

 

A snapshot of Infrastructure needed to create a Mobile Device Lab

 

mobile testing lab

 

Facebook Device Lab Infrastructure

 

Click Here to know about pCloudy Device Cloud Infrastructure

 

• Wi-Fi Infrastructure: This is another very crucial area that is often ignored when creating large-scale test lab. As the number of device in a WiFi network adds up, so do problems when all these devices transferring data at the same time. Most WiFi access points are not designed for this kind of bandwidth and you are bound to see different types of timeouts on server responses.

 

• Importance of Automated Testing: The very obvious benefit of automation of testing of mobile devices on the cloud is that through this one can carry out tests on a wider range of OS and devices in a much shorter time and with lesser life-cycle management investment. This not only significantly reduce QA spending, it also expands coverage and speeds up the resolution of issues. You can use a single script and apply the same on different devices and operating systems.

 

Integration with CI/CD pipeline:

 

Today, almost all organizations have mobile apps and for some, the mobile app is their only way of interacting with customers. With this increasing emphasis on mobile, the pressure to routinely update mobile apps means embracing Continuous Integration (CI) and Continuous Delivery (CD) methodologies. Any Mobile Labs has to support the CI/CD process.

 

5 Tips to build a successful lab:

 

1. Using Real Devices
2. Tackling Multiple Devices
3. Using a Secure Mobile Device Testing Cloud
4. Automation Strategy
5. Increase Lab efficiency by integrating with your existing tool ecosystem

 

1. Using Real Devices: Some Devs/testers are using emulation technology for compatibility testing. However, it has been proven beyond doubt that testing on emulators is often not reliable. Real devices help you and your team to find real bugs in your App before customers do. It is only way to have a confident App release and increase the chances of success of your test lab.

 

2. Tackling Multiple Devices: With thousands of different devices, it can be a bit overwhelming when building a mobile testing lab that encompasses the coverage of testing in all of them. Luckily, the major mobile operating systems use logical screen sizes which are mapped to physical screen, hence, the representative devices will get the necessary coverage. The test strategy is not to test absolutely everything, but to test the crucial elements that are most represented in the popular devices in the market, and add or subtract devices as they come in and out.

 

3. Using a Secure Mobile Device Testing Cloud: Using a secure cloud is vital to enterprises, especially if they aren’t located under the same roof. Testing real devices for everything can become really costly and time consuming. Using a testing cloud keeps your budget in check, reduced project cost and thus helps achieve high return on investment. Be it public cloud for small businesses, or large enterprise projects that demand a private cloud infrastructure, high performance and security are essentials to have complete control over the cloud.

 

4. Automation Strategy: Creating Regression Automation suites once Application is ready is a passé. Agile methodology and CI/CD process demands automation creation in parallel to development. Automation strategy should be built keeping above aspect in mind.

 

Here is a depiction of what the automation process should look like.

 

Mobile Labs

 

As part of Automation Strategy, Mobile Testing Lab should provide the capability to allow automation run on multiple devices in parallel.

 

5. Increase Lab efficiency by integrating with your existing tool ecosystem: A lab is as good as how well can it be integrated within existing ecosystem. Can it integrate with your Test Management system or can it log bugs automatically after a failure? Can it integrate with your build management tool for CI process? Here is a depiction of how “Test Tools” fit in the larger ecosystem.

 

Mobile Testing Lab

 

Conclusion: A well thought strategy for setting up of Mobile Testing Lab is a necessity for every organization undertaking Mobility projects. In current times, organizations have plethora of choice related to setting up of Mobile Testing Lab. They can choose to setup an In-house lab or use a private-hosted service or use a cost effective Public Cloud lab.

 

Would you like to know more about Lab options with pCloudy? Click Here