linkedin android app testing Archives - pCloudy

What’s New In pCloudy 5.6?

Suyash Dubey
By Suyash Dubey
April 19, 2020
5 min Read
Share This Article
What’s New In pCloudy 5.6?

pCloudy is committed to delivering the best solutions in mobile app testing and therefore we come up with product updates at regular intervals. This time we are thrilled to announce the release of pCloudy 5.6 with exciting new features to make app testing simpler than ever. Our customers trust us because we believe in exceeding their expectations and add new useful features to enhance the platform’s capabilities. For those who are new to pCloudy, it is a cloud-based continuous testing platform designed to enrich your apps. In this new version of pCloudy, we have addressed the concerns of our users and added new features like Wildnet, Capability configurator, Object spy, and more. Let’s know more about all these features.

Wildnet

An application server is accessible only from within your lab and if you want to test your mobile application with that server, you are forced to work within that lab. If you move with the device in hand outside the lab, you will not have access to that server. How do you test such kind of setup using pCloudy? Because if you are using pCloudy, that means the devices are outside your network. The answer is Wildnet.
wildnet ss
This feature enables our users to test private or internal servers on any Android or iOS devices present on pCloudy. For this, you just need to download the executables for OS (Mac, Linux, Windows) on your local machine, Then fetch the user name and API access key for your pCloudy account settings and use it in the terminal to build a link between a device in pCloudy and your internal staging server. To connect a booked device to your internal staging server, you need to click on the Wildnet icon as shown in the picture below.

Object Spy

While creating automation test cases you need the object names of the objects that are available in your application. For example, if your app is launched on a device and you want to click on a particular button, you have to mention the object name in the script to perform that action in the app. Earlier testers used to extract the object name using Appium desktop, but now they don’t need Appium desktop for that. pCloudy now has an inbuilt object spy through which you can run the inspector sessions directly on Android and iOS devices. One big advantage is that its bilateral view which makes it easy for users to click on any element on one side and view the details another side. Also, the generated code can be copied for future use.

object spy ss
In the picture above you can see on the right side we have the object inspector where you will get all the attributes and values for any application. You can select any attribute and perform an action using the tap, send keys, clear and the more option. Following the action, an XPath will be generated which can be used in the automation script.

Data-Persistence

This feature will enable System-admins of our Private and On-Premises cloud to delete older reports based on pre-defined settings. To use this feature, system administrators will have to go to control settings in their pCloudy account and under Infrastructure Management there is an option for Data-Persistence. Whenever any user tests an app on any device in pCloudy, certain artifacts are generated in the form of test reports. Each report will have videos, logs, screenshots, and other elements. These artifacts take up a lot of space so now system admin can delete the older data using the data persistence feature.
data per
As shown in the pic, the system admin can select the date, time and the number of days for which the data has to be deleted. This will help in managing the limited space provided for every team account.

Capability Configurator

In an automation script, we have to include certain capabilities like device name, platform version, etc., to execute the test cases. But now you won’t have to gather the capabilities from different sources, capability configurator will generate the desired capabilities directly using certain filters.
capability
As you can see in the pic, you just need to go to the Devices page in pCloudy and click on the Capabilities tab. Under the capabilities tab, you can choose the parameters like OS, Automation type, Device location, Device name, etc., and the capabilities generated can be copied and pasted directly into the Appium script.

More updates

iOS is a close operating system, and there are many restrictions for testing apps on Apple devices. In pCloudy 5.6, you will have two more functions on iOS devices; close app and lock/unlock the device. The close app function will enable pCloudy users to close any launched application on a connected iOS device using the soft button. The second function will allow any connected iOS device on pCloudy to be locked and unlocked. These two functions will enhance user interaction on iOS devices by saving time and effort. One more new update is that pCloudy now supports Appium 1.15.1 which is one of the latest stable versions of Appium. This will make it easier to perform test automation on iOS 13 devices in pCloudy.

To sum up

The new features added to the platform will help our users to perform live testing on remote devices. Features like the latest Appium support and better user interaction on the iOS devices will empower our users to speed up automation. We are working on some new features, based on our customer feedback, which will be included in the next release. So stay connected for more updates.

Suyash Dubey
Suyash Dubey

Suyash is a content strategist at pCloudy. He is a frequent contributor to the world's leading mobile technology blogs and tech forums. In his spare time, you will find him reading detective novels, watching a documentary or exploring a new destination.

Related Articles

April 28, 2020
Test Local And Internal Servers Before Deployment Using Wildnet

Some testing teams set up their own staging environment to test internal servers but as there is no public access which makes it difficult to perform local testing on remote devices. So how would you test your app which can…

Learn More Arrow

March 17, 2020
Ensure Continuous Productivity By Leveraging Remote Devices For Mobile App Testing

Remote working is going to be a new normal and remote access tools and platforms will play a key role in maintaining productivity. Working from home has many advantages both for enterprises and teams. There are many tools that help…

Learn More Arrow

January 31, 2020
5 Best Python Frameworks For Test Automation In 2020

Testing framework plays a crucial role in the success of any automated testing process. Choosing the right test automation framework is important as it will maximize the test coverage and improve test efficiency which means a better return on investment.…

Learn More Arrow

7 Types Of Mobile App Testing

Suyash Dubey
By Suyash Dubey
April 9, 2019
17 min Read
Share This Article
7 Types Of Mobile App Testing

Quick Links:

Types of Testing


Since there are many players in the mobile app market, the competition is endless. To beat the heat and to keep providing an enhanced mobile app experience to the users, the app needs to be constantly updated with the changes happening and for doing this, there are different types of testing techniques. Let us have an insight into the types of testing methods.

1. Compatibility Testing

Compatibility testing is a critical QA task. It assures that a given application works as intended with selected operating systems, selected devices with different screen sizes resolutions, and internal hardware (memory size, processor speed, and button/input differences). It defines the feasible compatibility combinations of devices and interfaces for a specific testing assignment, in concurrence with the customer’s requirement.

Want to test your Mobile App?

Join pCloudy Platform!

Compatibility Factors:

There are different factors that play a very significant role in mobile compatibility testing strategy. Mobile operating systems and their supported versions, mobile devices developed by different manufacturers, different device screen sizes with different resolutions and internal hardware including different input types, processor speeds and memory size of devices.

4
Let’s develop a test strategy for compatibility testing. The first step is to identify the Operating systems and devices based on key factors described in the previous slide. Once you identified the devices based on different compatibility factors you need to set up your environment for testing. You can either set up your internal test lab or you can go for external cloud providers like pCloudy. Now, the next step is to execute your test cases on a defined set of environment. Report the defects to appear while testing and report these defects to your development team.

The main purpose of compatibility testing is to ensure whether different software is compatible with different configurations and whether the application is compatible with the client’s environment.

2. Installation Testing

Mobile phones come with different types of mobile apps like Native and Web and Hybrid. Installation testing is a type of testing that is done at the initial stage of mobile app life span or maybe it is the first impression on the users, in other words. Installation testing checks whether the mobile app installs, uninstalls and updates properly without any interruption.

Want to test your Mobile App?

Join pCloudy Platform!

Installation Testing Factors:

There are some of the factors that play a significant role in installation testing of an application. Factors like which platforms and operating systems supported by the application and how they will be distributed whether it is directly available in the app store or are going to get the installable files on mail itself or is it available on an app distribution platform and can be accessed through public URL. The user behavior regarding installation changes from person to person. For eg: the developer may install the app (By using ADB install command) and a different user might directly install it from the app store or public URL.

Important points to be noted in Installation Testing:

Some of the common checkpoints which can be converted to standard test cases are:

  • Installing the app in phone memory.
  • Installing the app in phone memory is full.
  • Installing the app on an external SD card.
  • Installing the app on an external SD card is full.
  • Check the memory space after installing. It should not occupy more than promised.
  • Check if it is releasing the space after removing

Another part of the installation and uninstallation testing is the testing of patches/updates
These are the common situation when we need to test app after updates.

Check for updates:

  • Can I download an update?
  • Can I update the app when there are multiple updates available?
  • What happens if I don’t update?

When App is upgraded:

  • Check that the user is still logged in
  • Check that data is still the same
  • Backward compatibility:-Check that database changes will not affect the current data.
  • Test the update from an older version to the current version

When OS is upgraded:

  • Check the app compatibility.
  • App updated gracefully without a crash.

3. Interruption Testing

Interrupt testing is a process to replicate abrupt (Unexpected) interrupt to the application. It is done to understand how the app behaves under certain interruptions before resuming to its original state. This can be achieved in various ways and techniques depending on the application under test.

Following are some Common Interrupts:

1. A phone call when the application is running or is in background
2. Battery removal when the application is running or is in the background, battery high, battery low, incoming call or SMS
3. Plugged in or out of charging
4. Device shut down
5. OS upgrade
6. Network loss and restoration, etc.

Some specific scenarios for an application using a network:

1. Connect to the network but remove LAN connection from the router so the device can sense wifi state on the device but cannot connect to the internet
2. Connection via VPN and VPN disconnected

Scenario for Application using services:

1. Kill service by clicking on the recent button and swiping the application right to kill app and services
2. Kill app using third-party App killer
3. Kill specific services from Settings->Manage Applications
4. Scenarios for Application Linked to account Manager
Remove account from Settings->Account Manager

Incoming and Outgoing SMS and MMS:

An application is running in your mobile and you send an SMS/MMS from another mobile to your mobile. In this situation, SMS/MMS notification should display for a while and then close and the application should continue to run.

Incoming and Outgoing calls:

You are in a login page trying to log in and you have just pressed the submit button that will take you to the application home page. This is a transition period because loading is happening.If we receive a call during this time then the application should not end abruptly or crash.

Battery Removal:

If the application is running, remove the battery of your mobile and it will shut down. After rebooting the mobile, run the application again, it should run smoothly and without a crash.

Data Cable Insertion and Removal:

When the application is running, connect the USB Cable, the system should display “USB Connection Screen” and if the user returns to the application then the application should not crash or end abruptly

Interruption Testing Strategy

Let’s prepare a test strategy to test interruption testing:
The first step in this process is to decide the critical interrupts based on your application components and architecture. For example, if your application is using GPS include common interrupts related to GPS. Let’s Include two type of interrupts:

Application specific interrupts:

Prepare your test cases and try to fit theses interruption test cases with state of the application. For example, interrupt your Network while performing payment.

Interrupt testing process:


1

List of common Interrupts:

Phone calls, Text messages, App notifications, Battery Warning, Forced updates, Voicemail, Shaking the Phone, Different Gestures, Switching between apps, Locking and unlocking the screen, Changing the orientation, Music playing while using the app, Out of memory (general performance interruptions), Data app interruptions (What Sapp, Viber, Tango), Audio interrupts from multiple sources (iPod, Media player, Other audio apps), phone in standby mode, switch the network to plane mode.

Tools to test interruption Testing:

Use tools like Joule Unit (Android), On iOS use the Energy Usage Function of Instruments, Monkey for Android to stress test your app and see the handling of the interrupts, UI Auto Monkey for iOS

Scenario

A) Once the user connects the mobile earphone jack with Nokia Lumia and starts music Player.
B) Now when the user resumes the application the cart gets empty.

4. Localization Testing

This type of testing is a technique in which we check whether the mobile app adheres to the local cultural settings, customizing the apps according to target country and language and also according to the linguistic aspects. Localization is also known as “L10N” as there are 10 characters between L & N. For eg: Chinese language-search engine offered by Baidu beats Google in China. Baidu does better than Google because it looks and feels fully native to the Chinese speaking audience.

Also, regional language speakers can’t get many games in their own language, so they turn to race games, which are easy to understand. We must have noticed in these examples, language is the common issue. Apart from Translation there are different other elements in the localization, like Usage of proper Time zone, local formats of dates, addresses and phone numbers, Design and layout to fit translated text, Converting to local requirements (such as currencies and units of measure), Adapting graphics to target markets, Modifying content to suit the tastes and consumption habits of other markets, Addressing local regulations and legal requirements.

Why should we localize?

Localization is important in order to understand the cultural and linguistic aspects of a particular region. While testing, testers keep repeating the tests to check typographical, linguistic errors, cultural appropriateness of the UI, etc. Research says:
1.56.2 percent of consumers say that the ability to obtain information in their own language is more important than price. (Common Sense Advisory, Can’t Read, Won’t Buy: Why Language Matters on Global Websites, 2006)
2.74 percent of multinational enterprises believe it is either important or most important to achieve increased revenues from global operations. (California State University at Chico, 2007.
3.95 percent of Chinese online consumers indicate a greater comfort level with websites in their language. (Forrester Research, Translation and Localization of Retail Web Sites, 2009)
4. A critical success factor for cross-border merger and acquisition deals is the ability to communicate information clearly and accurately in multiple languages. (Merrill Corporation, How to do Better Multinational M&A Deals, 2008)

Types of Localization Testing:

In the localization testing, validating whether a mobile app is capable of performing given a geographical location, in particular, is found out. It includes four major types of testing like linguistic, culture, cosmetic, and functional tests.
1. Linguistic testing– ensures that the UI text appears in the congregation with the language and is not mistranslated or misapplied. This requires language skill and knowledge of the product. Mistranslation, irrelevant usage of the language are few of the errors in this.

2. Cultural Testing– Few words may imply different meanings in different cultures. So, this has to be translated properly in relation to the target culture.

3. Cosmetic Testing– For easy understanding, let us use this scenario. For eg. In the apps used in Afghanistan, the text will be in Arabic and will start from right to left unlike other languages like English, French that are read from Left to right.

4. Functional Testing– In this testing, testers follow prescribed test scripts to run through all aspects of the product to make sure it functions as designed in a localized environment. Often functional testing includes verification that the localized product is compatible with various operating systems and third-party products. Functional testing generally requires a good knowledge of the target language and total familiarity with the product. Some of the major Functional testing problems may include– Incorrect or missing UI elements, graphics, and windows, Incorrect error messages, Localization bugs that may cause software crashes, Errors generated by installing the localized software on a localized OS.

5. Performance Testing

Performance testing is to test the performance of the mobile application in expected workload scenarios and to eliminate the performance hurdles. It checks whether the response of the app is quick, the ability of the app to tale load, and app stability in those load situations. Performance is very critical because if the app is malfunctioning, it is more possible that the user might uninstall the app and might shift to a competitor’s app which is better.

The three main pillars of Mobile app performance testing are:

Device Performance

App start-up time is the most critical performance parameter from the user’s point of view. It shouldn’t take more than 2 seconds for the app’s first screen to pop up after the user taps on the app’s icon. Battery time is the second most important issue. Some apps consume a high amount of battery life. Excessive resource usage creates a burden on the processor and the phone heats up. In some cases, it is observed that the new app installed uses the same amount of battery as the OS. If more features are added in the app its memory consumption also increases. This is why memory consumption should be checked while testing the app.

Network Performance

The app needs to be tested on different mobile networks and network properties. If there is packet loss then the app should generate alerts or resend the request for the information. Jitters or delay in receiving information

Server/API Performance

Performance is directly proportional to the response time from the Server. In this, tests are run to check how efficient the app is to handle data transfers from the server and how quickly and in what format the data is transported by the app. The number of API calls generated by apps should be lesser and how and where the data is saved in the ‘server down’ case is all that is tested here.

Mobile app testing tools make it easier for the testers to identify and rectify any error that comes up. For different OS there are a different set of Mobile app tools. For Android, we can use Robotium and Monkey Runner and for IOS we can use Automator.

6. Usability Testing

Usability testing is a type of testing which is performed to check how user-friendly the mobile application is in terms of the navigation, ease to use the app, flexible app controls, etc. It is also known as user experience testing.
What matters in Usability Testing?

Workflow: To understand, below image represents the workflow of how the user reaches its goal while navigating through the app controls.
3
We must understand what the user needs to do in order to use the app’s functionality. If the workflow was overlong and included repetitive actions It may annoy the user while performing the task.
Design and Layout: Good layout and design allow a user to easily complete tasks. An app need not offer so many features or content that the app is difficult to navigate. A friendly app has a design that allows less user text entry, helps differentiation between the selected items, finger-sized targets, should provide intuitive hints to texts, etc.

The response time of the application: It is one of the key factors. This means how long the user takes to complete a task. Often long delays while the app interacts with the server hinders the user experience standards.

The emotional state of users: Emotional state of user measures the user’s motivation to use the app. The apps should be smart enough to understand what the users want and how to engage them, this can be achieved by usability testing.

Usability Testing Strategy:

2
The first step is to identify users who match your expected audience. Watch and listen to them as they use your products. You can use video and audio recording equipment for archiving test sessions, in case later review is needed. However, our primary tool is taking notes with paper and pencil! This is still the fastest way we have found to get information quickly to developers and designers. You have your data. You now need to organize and analyze it. How the results are absorbed as a report in order to be useful for product changes.

Tools and techniques for usability testing

1. Mr. Tappy: It is a tool set up to capture how users interact with the apps naturally. The user data so generated could be used for better user experience.

2. Paper Prototyping: It is a technique that consists of creating hand drawings of user interfaces in order to enable them to be rapidly designed, simulated and tested. As simple as this technique may look like, it has been effectively used since the 1980s and is likely to continue to be used with a guaranteed degree of success for many more years to come.

3. Magitest: It allows you to perform mobile user testing of native apps and websites. Captures the participant’s voice and facial expressions during the session. Here the users complete the tasks you specify and allows to listen to them speak their thoughts aloud as they interact with your mobile app.

4. Reflector: This app allows us to see the iPad, iPod, iPhone screens on MAC or PC. The devices connect wirelessly to proceed with further functions.

7. Conformance Testing

Conformance/compliance testing is a type of testing which is performed to validate if the application is meeting the Market place and Enterprise policy guidelines. It is like an audit done to check whether certain standards are being met or not. Conformance Testing is focused on two main areas- App store guidelines and Enterprise policy compliance. Each Market place has their own guidelines. We need to validate if the application is following the guidelines of each of these app stores.

1. App store Guidelines pertaining to User Interface, Media Content, Privacy, Spyware and Phishing, nudity, religion, culture, violence, etc.

2. Enterprise Policy Compliance pertaining to a different set of industrial standards. For eg: For the pharmaceutical industry, the Food and Drug Administration (FDA) passed rule comes into the picture, For the pharmaceutical industry, the Food and Drug Administration (FDA) passed rule comes into the picture, In healthcare, the Health Insurance Portability and Accountability Act (HIPAA) includes an administrative simplification section, which mandates protecting the information assets of patients. So, it is a dire need for the testing organizations to follow the necessary guidelines and compliances to limit the risk that non-compliance might follow.

Reap the benefits of different types of testing

In this day and age, mobile app quality matters the most as the market is very competitive. We need to focus on user experience as well as the performance of the app. If the app contains bugs the app ratings will go down and so will the number of app downloads. If we can make our app bug free than the chances of app gaining popularity will increase. This can be achieved by performing different types of testing on the mobile application. In the next blog in this series, we will talk about mobile app testing strategies.

Want to test your Mobile App?

Join pCloudy Platform!


Watch this video for more information:


Related Articles:

  • Mobile App Testing Strategies
  • 6 Most Common Problems in Mobile App Testing
  • Accelerated Mobile App Testing powered by pCloudy
  • Traditional Mobile App Testing Vs New Way of Mobile App Testing with pCloudy
  • Mobile Application Testing Trends in 2019
  • Types of Mobile Apps: Native, Hybrid, Web and Progressive Web apps
  • Suyash Dubey
    Suyash Dubey

    Suyash is a content strategist at pCloudy. He is a frequent contributor to the world's leading mobile technology blogs and tech forums. In his spare time, you will find him reading detective novels, watching a documentary or exploring a new destination.

    Related Articles

    April 19, 2020
    What’s New In pCloudy 5.6?

    pCloudy is committed to delivering the best solutions in mobile app testing and therefore we come up with product updates at regular intervals. This time we are thrilled to announce the release of pCloudy 5.6 with exciting new features to…

    Learn More Arrow

    March 17, 2020
    Ensure Continuous Productivity By Leveraging Remote Devices For Mobile App Testing

    Remote working is going to be a new normal and remote access tools and platforms will play a key role in maintaining productivity. Working from home has many advantages both for enterprises and teams. There are many tools that help…

    Learn More Arrow

    January 31, 2020
    5 Best Python Frameworks For Test Automation In 2020

    Testing framework plays a crucial role in the success of any automated testing process. Choosing the right test automation framework is important as it will maximize the test coverage and improve test efficiency which means a better return on investment.…

    Learn More Arrow

    Run Espresso in pCloudy Using Gradle

    Suyash Dubey
    By Suyash Dubey
    April 5, 2019
    4 min Read
    Share This Article
    Run Espresso in pCloudy Using Gradle

    Do you know why Google has selected Gradle as the build system for Android Studio? Many Android developers work in a heterogeneous environment with different technology stacks. Gradle solves some of the hardest problems faced by the developers like how to automate the testing of apps and how to manage dependencies and variations that allow professional developers to develop variations of their app with one click. This is why pCloudy came up with a new update where you can now run Espresso with Gradle on pCloudy devices. Let’s get a brief introduction about Espresso and Gradle before we learn how to run Espresso with Gradle on pCloudy devices.

    Espresso is a testing framework for Android which automatically synchronizes your test actions with the UI of your app. It also let the test wait until all the background activities have finished.

    Gradle is an open source advanced build tool that allows seamless execution of tasks. It uses domain specific language and it is based on Groovy and Kotlin. It is a plugin based system so if you want to automate the task of building some package from sources then you can write the complete plugging in Java and share it with the world.

    Gradle allows efficient and repeatable use of espresso and Test Orchestrator which allows automated yet fine-tuned control of the way you run your test. You can decide which specific test suites to be run to distribute the test cases across different devices. It is preferred by developers as it allows deep unit and functional testing rigs.

    Power up your DevOps with Espresso and Gradle on pCloudy

    You would be running Espresso on your machine using Android Studio and Gradle. However, the test would be running on pCloudy device. There is a pCloudy Espresso script that is provided by us and you need to put that espresso script in the workspace of the project. Along with the Gradle script, you will also get a config file. The gradle script will read input parameters from this config file.

    Then you run Gradle to invoke the script which will upload your Application APK, test APK and other APK files to pCloudy. It would acquire a device to run your test on, it would execute those tests it will report back the status of what is happening into the Android Studio. After the test cases are run you can see the detailed reports and after that gradle script will release the device for other users to use.

    There is a one-time setup that you need to do to place the gradle script in the workspace and you need to fill in the configuration file. So when you run the gradle script it will complete all the task for you and generate the report.

    Steps to run Espresso with Gradle on pcloudy


    1. Download the espresso starter pack from here and Unzip it
    2. You will find three files,
    a. pCloudy_Espresso.jar
    b. Config.properties
    c. build.gradle.SAMPLE
    (This is a sample build.gradle that shows how to change your build.gradle to add the pCloudy Espresso jar.)
    3. Copy the contents of the file build.gradle.Sample to the build.gradle file of your Android Application to register the new Gradle task and update as appropriate (see the image below)

    33

    4. Place the config.properties file in your android workspace in the same directory as your build.gradle file.

    sdgef
    5. Update the config.properties file as guided in the comments in the file.

    6. In your Android workspace run the command by typing the name of the gradle task as below.

    tttt
    7. Once the test execution is complete you will get a URL of the test execution report. Some fields in the report are empty right now. We will fix them in subsequent phases.

    rrr
    The use of gradle has made it easier to run Espresso test on pCloudy devices. We can just use the configuration file and easily run the test scripts on pCloudy devices. This will save time and effort as it further simplifies the app testing process in pCloudy.

    You can watch our webinar for more information.


    Related Articles:

  • How to Run Espresso Test on Remote Devices
  • Appium vs Espresso: The Most Popular Automation Testing Framework in 2019
  • Run Espresso on pCloudy using pCoudy Utility
  • Automated Testing Using Espresso
  • Espresso with pCloudy.com
  • Suyash Dubey
    Suyash Dubey

    Suyash is a content strategist at pCloudy. He is a frequent contributor to the world's leading mobile technology blogs and tech forums. In his spare time, you will find him reading detective novels, watching a documentary or exploring a new destination.

    Related Articles

    April 28, 2020
    Test Local And Internal Servers Before Deployment Using Wildnet

    Some testing teams set up their own staging environment to test internal servers but as there is no public access which makes it difficult to perform local testing on remote devices. So how would you test your app which can…

    Learn More Arrow

    April 19, 2020
    What’s New In pCloudy 5.6?

    pCloudy is committed to delivering the best solutions in mobile app testing and therefore we come up with product updates at regular intervals. This time we are thrilled to announce the release of pCloudy 5.6 with exciting new features to…

    Learn More Arrow

    March 17, 2020
    Ensure Continuous Productivity By Leveraging Remote Devices For Mobile App Testing

    Remote working is going to be a new normal and remote access tools and platforms will play a key role in maintaining productivity. Working from home has many advantages both for enterprises and teams. There are many tools that help…

    Learn More Arrow

    Challenges in Mobile App Testing

    Suyash Dubey
    By Suyash Dubey
    March 28, 2019
    8 min Read
    Share This Article
    Challenges in Mobile App Testing

    Quick Links:



    Today, there are many smartphone users in the world and so is the popularity of mobile apps. In order to be competent enough, mobile apps have to be unique and should provide the best user experience to increase the user base. With the users getting more informed and intelligent, the apps built should keep up with the pace. In order to be impeccable, the mobile app should undergo a rigorous testing process and during that process, the testing team faces many challenges as discussed below.

    Challenges in Mobile App Testing

    Different Operating Systems and their versions

    There are different types of operating systems available in the market such as iOS, Android, Windows etc. Also, these OS have different versions too. So, it becomes challenging to test so many versions of the mobile app in a shorter period of time. One app that works well in one type of OS may not work well in the other. It is very important to test the application with all supported platforms and their version because we don’t know where the user is going to install the application. As per research, iOS users upgrade quickly as compared to Android but in Android the device fragmentation is larger. That means the developers have to support older versions and APIs and testers also have to test accordingly.

    2019-03-27 (1)

    Device Variations: Based on Screen size

    Android comes with a mix of features and variations in pixels densities and ratios which varies in each screen size. Even in the case of Apple, the screen new size was introduced with the launch of the iPhone 6. Now, it is not just about being picture perfect screen design rather designing an adaptive screen design. Well with such a variety in screen sizes, the role of the tester becomes serious as they need to check if all the features are working well in different screens and pixel and aspect ratios are maintained well.

    devices-screen-sizes

    Based on the number of Devices

    The picture below shows the number of devices in the market by different brands. The number of device manufacturers has increased. According to OpenSignal, there are around 1294 distinct Android phone manufacturers alone, imagine if we add up other brands. The pace with which this data is increasing is a bit alarming for the testers as the testers have to check the app performances on different devices, they would probably need a device library to do the same. The challenge remains in context to functionalities like Complex user interactions on touch screen and keypad devices as well. Having a device library is certainly is a costly affair unless emulation is adopted which can simulate multiple device types and testing can run easily on it.

    OpenSignal-Brand-Fragmentation

    Image Source: venturebeat.com

    Various Networks

    The QA team also faces challenges when it has to test the devices connected to different networks. Generally, there are 2G, 3G,4G mobile data available. These provide different data transfer speed and transmission. These varying speeds of the networks by various providers remain a challenge for the testers even today. In this case, testers have to check that the app must perform well at different network speeds and connectivity quality and a check on bandwidth usage of the app. This remains a challenge as it is partially controllable based on different network providers and connectivity access in different geographies.

    Frequent OS releases

    Mobile Operating Systems keeps changing. Both Android and iOS have more than 10 versions of their operating systems. They keep enhancing and updating their versions for better performance and user experiences. This frequent OS release comes as a testing challenge as the testers needs to validate the complete application with each of new OS release. It is very important to test the application with the latest OS release otherwise the app performance would be a major issue and consequently loss of users using the app.

    screen-shot-2018-07-12-at-1.35.22-pm

    Script Execution

    Another major challenge of mobile testing is what we call scripting, the method of defining a test. Script execution can either be manual or automated. You can write down the scripts in a document, which is then used by a test engineer who manually interacts with the test environment to determine the result, else you can run automated scripts that in turn drive interaction with the device and app, and record the results.

    Automated scripting needs to be kept away from the device to be of any real use because there are so many different devices with different interface options. A script that follows strict keystrokes on an Apple iPhone would not have any chance of working on a Samsung device, because the UI is different. Fortunately, most real device automated testing software provides high-level scripting that operates on the text, image, or object layer. Device emulators can automate testexecution using a higher-level, abstracted scripting language that is not device dependent. When you use automated scripting, the cost of setting up the script will typically be higher than the cost of a single manual execution of a test. But if it is a test script that you run on a periodic basis, every time that you subsequently run the script, the more time and effort you will save. You will eventually recover the cost of initial scripting If you run the script enough.

    So to conclude, to build a better user experience, an app tester needs to work had in overcoming the challenges of testing. By adopting some analytical skills and methods, testers can really cope up with these situations. For eg. Testing only those apps and OS which are mostly used by their user segment, by adopting a strong testing strategy to take situational decisions eg. Decisions regarding when to choose Automation and manual testing. Strategically, the challenges can be overcome.

    Screen Size

    The Android world is not simple. The variety of different aspect ratios and pixel densities can be overwhelming. With the launch of iPhone Xs Max which has a screen size of 6.5 inches, Apple brings new screen sizes to the iOS world as well. Though iOS developers are used to pixel perfect screen design, they now need to change their mindset to the adaptive screen design instead. For testing, it means that we need to check on various devices that all the necessary screen elements are accessible with different screen sizes and aspect ratios. There are many phones with a screen size of 5 inches which are still popular in 2019.

    2019-03-28

    Security Issues

    Traditional testing tools like selenium and QTP weren’t designed with cross-platform in mind. Automation tools for web apps and mobile apps are different.Operating systems especially Android further adds to the complexity with API level fragmentation. The most common automation testing tools for mobile app automation testing are Appium and calabash. Each tool has it’s own advantages and disadvantages and you need to choose on the basis for your app’s functioning.

    Weak Hosting Controls is one of the most common issues. The server on which your app is hosted should have security measures to prevent unauthorized users Weak Encryptions can lead to data theft which will impact the trust factor of the users. Most of the mobile apps require user data such as email ID, password, age, location etc. This data should be encrypted and stored with proper security. Hackers often use this kind of data to get money out of users account online. Encryption will make it difficult for anyone unauthorized to intrude and retrieve that data rather than keeping it in plain text.

    Power consumption and battery life

    We haven’t seen much innovations in the mobile battery but the mobile usage and specifications are increasing rapidly. People are using more apps nowadays and the apps are more complex than ever. This is why testers need to test the apps power consumption because if the apps use lots of CPU cycles and some apps will also run in the background than the battery will drain out quickly. We need to make sure that the app uses less battery power so that users can use it for a longer period of time.

    2019-03-27

    Conclusion

    Mobile apps are evolving with device technology and user expectations. Developers are emphasizing on reducing the app size and battery usage. Testers play a major role to ensure that the app works smoothly and does not crash or have bugs. This is why testers must be aware of the latest trends in mobile app testing to deal with the mobile app testing challenges.

    In the next blog, We will talk about Different types of mobile app testing.



    whitepaper


    Related Articles:

  • Key Challenges in Testing Mobile Applications
  • Mobile App Testing Strategies
  • 6 Most Common Problems in Mobile App Testing
  • 5 Best Practices App Testing Companies Must Follow for Success
  • Cross Platform Mobile Test Automation Using Appium
  • Suyash Dubey
    Suyash Dubey

    Suyash is a content strategist at pCloudy. He is a frequent contributor to the world's leading mobile technology blogs and tech forums. In his spare time, you will find him reading detective novels, watching a documentary or exploring a new destination.

    Related Articles

    April 28, 2020
    Test Local And Internal Servers Before Deployment Using Wildnet

    Some testing teams set up their own staging environment to test internal servers but as there is no public access which makes it difficult to perform local testing on remote devices. So how would you test your app which can…

    Learn More Arrow

    April 19, 2020
    What’s New In pCloudy 5.6?

    pCloudy is committed to delivering the best solutions in mobile app testing and therefore we come up with product updates at regular intervals. This time we are thrilled to announce the release of pCloudy 5.6 with exciting new features to…

    Learn More Arrow

    March 17, 2020
    Ensure Continuous Productivity By Leveraging Remote Devices For Mobile App Testing

    Remote working is going to be a new normal and remote access tools and platforms will play a key role in maintaining productivity. Working from home has many advantages both for enterprises and teams. There are many tools that help…

    Learn More Arrow

    Executing ADB Shell Commands

    Anshuman Chatterjee
    By Anshuman Chatterjee
    February 25, 2019
    4 min Read
    Share This Article
    Executing ADB Shell Commands

    You can fix the issues in your Android phone by connecting it with your computer and writing some easy commands. For this, you will need some command line tools which you can download from the Android developer’s site. If you are using Windows then you will need to visit the manufacturer’s page for your device and download the ADB and fastboot drivers for Windows. But first, let’s understand what are Android shell commands.

    Android Shell Commands

    ADB is Android Debug Bridge which is a command line utility included with Google’s Android SDK. It provides a terminal interface to control your Android device connected to a computer using a USB. ADB can be used to run shell commands, transfer files, install/uninstall apps, reboot and more. You can also backup and restore your android devices using these commands.

    Want to test your Mobile App?

    Join pCloudy Platform!

    pCloudy also allows you to execute ADB Shell Commands on the connected device to perform mobile testing.

    Select your desired device from the list and connect.

    Click on “Execute ADB” icon.

    While trying to execute ADB Shell command, you just need to follow few simple steps as given below:

    1. Select a device from the displayed list

    click-on-connect-to-access-the-device

    2. Confirm connection of your selected device

    pcloudy-select-device

    3. The connected device is ready testing

    adb shell commands

    4. Enter ADB shell command to the given text box

    enter-adb-shell-command-to-the-given-text-box

    5. Execute given ADB shell command

    execute-given-adb-shell-command

    6. Android ADB shell command execution result

    adb-shell-command-execution-result

    adb-shell-command-execution-result

    Useful Android terminal commands:

    1. ADB reboot-bootloader and reboot recovery commands:

    This command will let you can reboot your device in the bootloader. If due to some malware your device is stuck or if your device is not rebooting then you can connect your device to the computer and run this command to reboot. To run the command just type adb reboot-bootloader in the command line and to boot the device in recovery just type adb reboot recovery.

    2. Fastboot device command:

    Fastboot is a diagnostic and engineering protocol that you can boot your Android device into. ADB does not work in the bootloader. If you have to boot into Android and the debugging tools are not active to communicate then you can use the fastboot command. Type fastboot devices in the prompt and you get the serial number.

    3. Fastboot unlock command

    Fastboot flashing unlock command unlocks your bootloader. This command is not supported in many phones that support fastboot but you can check if your phone supports it. Just type fastboot flashing unlock in the command prompt and hit enter.

    4. ADB sideload command:

    You can download the update zip file in your phone instead of waiting for the update to be pushed into the phone. To do that just download the update to your computer and connect your device to the computer. Now reboot into recovery on your phone and using the volume buttons choose to apply update from ADB. then open command line and type ADB sideload Full-Path-to-the-file.zip and hit enter.

    A lot of users create android shell commands root in a device in spite of security. The adb reboot-bootloader command allows you to boot directly to your phone’s bootloader. Once you’re in the bootloader, ADB shell commands won’t work anymore. That’s where Android ADB fastboot command comes into the picture. Fastboot allows you to send commands to your phone while in the boot loader.

    ADB Shell Commands for Reference

    Adb Shell commands

    Action performed by command

  • adb shell dumpsys batterystats
  • collects battery data from your device

    adb shell ls

    list directory contents

    adb shell ls -a

    do not hide entries starting with

    adb shell ls -i

    print index number of each file

    adb shell ls -s

    print size of each file, in blocks

    adb shell ls -n

    list numeric UIDs and GIDs

    adb shell ls -R

    list subdirectories recursively

    adb shell netstat

    list tcp connectivity

    adb shell pwd

    print current working directory location

    adb shell dumpstate

    dumps state

    adb shell ps

    print process status

    adb shell am start -a
    android.intent.action.VIEW -d

    opens browser

    adb shell am start -t image/* -a android.intent.action.VIEW

    opened gallery

    Want to test your Mobile App?

    Join pCloudy Platform!


    Related Articles:

  • 7 Types Of Mobile App Testing
  • pCloudy Mobile App Testing Platform – On Boarding Guide
  • App Testing during your Dev Cycle – Developer Tool to Access Real Devices on Cloud
  • Basics of Appium Mobile Testing
  • Selenium Testing For Effective Test Automation
  • Anshuman Chatterjee
    Anshuman Chatterjee

    Anshuman Chatterjee is a technical consultant at pCloudy who enjoys traveling and singing. When he is not working, you would find him reading Sidney Sheldon and Agatha Christie.

    Related Articles

    April 19, 2020
    What’s New In pCloudy 5.6?

    pCloudy is committed to delivering the best solutions in mobile app testing and therefore we come up with product updates at regular intervals. This time we are thrilled to announce the release of pCloudy 5.6 with exciting new features to…

    Learn More Arrow

    April 9, 2019
    7 Types Of Mobile App Testing

    [xyz-ihs snippet="quickLinks-mobile-app-testing"] Types of Testing Since there are many players in the mobile app market, the competition is endless. To beat the heat and to keep providing an enhanced mobile app experience to the users, the app needs to be…

    Learn More Arrow

    April 5, 2019
    Run Espresso in pCloudy Using Gradle

    Do you know why Google has selected Gradle as the build system for Android Studio? Many Android developers work in a heterogeneous environment with different technology stacks. Gradle solves some of the hardest problems faced by the developers like how…

    Learn More Arrow

    5 Best Practices App Testing Companies Must Follow for Success

    priyanka
    By priyanka
    May 9, 2018
    4 min Read
    Share This Article
    5 Best Practices App Testing Companies Must Follow for Success

    App Testing Companies Must Follow

    Today, the world is earnestly dependent on mobility devices and so is their dependency on the mobile applications. The number of smartphone users are expected to reach 3 billion by 2019 out of which India alone covers half a million. So, it becomes impertinent to have an extremely practical mobile application strategy to make the usage of it more effective. Unless the mobile application is acceptable and extremely compelling to the users, it becomes inconsequential to even trade in it. So, there is a huge responsibility on the shoulders of Mobile application companies to assure the accessibility, security, purpose and usability of the mobile application to make it noticeable and engaging enough in long term.

    pCloudy is fully equipped cloud based platform with a strong principled approach to tackle and heed the performance of today’s robust mobile applications. Following are the 5 best practices to count on for successful mobile app testing:

    1. Master Plan
    2. Device Testing
    3. An early stage testing move
    4. Crowd Sourced App Testing
    5. Automation

    1. Master Plan: A common plan is what will drive the team towards the ultimate business goal. Defining the testing approach, the effort, the timeline and the expected results would solve a lot of anticipated problems in different testing phases.

    2. Device Testing: Some important points in context to devices are:

    • Testing on every possible device is what looks promising but is impossible. So, testers have to be smart and cover the largest market with largest sample size.
    • Testing on real devices is what is going to be the reality check and is going to give a better idea of the challenges and the convenience of the general usability of the app.
    • Test on more than one OS version to check interface compatibility and consistency.

    5 Best Practices App Testing

    3. An early stage testing move: Testing early ensures quality and makes the application more favorable in the market as per the new approaches in mobile application development. To minimize the defects at later stages, testing efforts should start at the early stages of mobile app development life cycle.

    mobile app development life cycle

    4. Crowd Sourced App Testing: The best platform to employ the benefits of cloud which allows global pool of experts from all over the world to be utilized for incomparable testing practices and performance saving both time and money.Not to be considered as a replacement of traditional testing but it has some obvious benefits of testing in real world conditions and without investing in full-time testers. With more participation,feedback and reporting actions, crowd testing has become a reliable and most sought practice today. With the help of pCloudy’s global crowd, testing has become an easy ballgame ensuring app testing in different environments with different network bandwidth, on different devices and on time delivery.

    crowd source

    5. Automation: Test Automation is what a machine does much faster and with less error than humans. This approach would save a lot of time, cost and would provide great return on investment but for reaping all these benefits, this has to be properly planned as it involves good investment, training and cost of trained resources and tools.If the objectives are undefined, it can lead to wastage of time and resources.

    Mobile app testing is facing challenges in terms of changes in networks, operating systems and of course devices. So, the functioning and performance of the mobile applications becomes the prime focus. Selecting the best tool and the reason of doing so is very important. A strategy with clear objectives would be an informed move and a savior in this decision making process.

    In the end, all we have to keep in mind is the user is happy using the app and is able to fulfil the purpose. All of this cannot be achieved by an individual but by the effort and strength of the team of both Developers and testers. There can always be brainstorming and learning from failures but the real game can be played by having a strong unified strategy.

    pCloudy is a market leader in mobile app testing providing a wide range of MAT services. It has the most powerful mobile app testing platform which gives you a chance to access to real Android and IOS devices in a single click. Connect with our expert team to build a customized MAT strategy for your mobile application.

    priyanka
    priyanka

    Tech Blogger - She writes about Technology, Mobile Application Development, Internet of Things, E-commerce, Computing and Design with the aim to coalesce new media and technology.

    Related Articles

    April 19, 2020
    What’s New In pCloudy 5.6?

    pCloudy is committed to delivering the best solutions in mobile app testing and therefore we come up with product updates at regular intervals. This time we are thrilled to announce the release of pCloudy 5.6 with exciting new features to…

    Learn More Arrow

    March 17, 2020
    Ensure Continuous Productivity By Leveraging Remote Devices For Mobile App Testing

    Remote working is going to be a new normal and remote access tools and platforms will play a key role in maintaining productivity. Working from home has many advantages both for enterprises and teams. There are many tools that help…

    Learn More Arrow

    January 31, 2020
    5 Best Python Frameworks For Test Automation In 2020

    Testing framework plays a crucial role in the success of any automated testing process. Choosing the right test automation framework is important as it will maximize the test coverage and improve test efficiency which means a better return on investment.…

    Learn More Arrow

    Future trends getting bigger for mobile apps in e-commerce industry

    shivani
    By shivani
    April 5, 2018
    4 min Read
    Share This Article
    Future trends getting bigger for mobile apps in e-commerce industry

    Future Trends

    Living in a technological era has forced entrepreneurs to adapt to current market and technology trends. Mobile is one such driving force that is propelling enterprises to another level.

    E-commerce industry is so vast that it needs a proper channel or platform to reach a wider spread of audience. Android and iPhones both have turned to be largely used platforms used by people across the globe.

    Consumers of ecommerce industry today use their mobile devices in numerous contexts like – making a purchase anytime, anywhere, browse and get details about a product while shopping in store. A mobile app serves as a bridge connecting all channels and touch points between a retailer and a customer which they together leverage to get a great and seamless shopping experience. Let us have a look at the trends that tend to set the future of mobile apps in e-commerce industry.

    A Rising Influx of Mobile Shoppers

    Just as smartphone usage and sales continue to tick upward, mobile shopping is likewise expected to rise. Mobile devices currently account for 19% of all ecommerce sales in the United States; however, the figure is projected to rise to 27% by the end of 2018, according to an Invesp report. This influx of mobile shoppers also presents new challenges to merchants, though. Though desktop driven ecommerce sales may be plateauing, but data from Comscore shows that online sales are booming as a whole. Sales from mobile devices are now leading the charge with an annual growth rate of 59% that eclipses desktop 17%.

    Mobile App Testing Trends
    Source: Invesp report

    More Prevalent Storefront Apps

    In a response to the aforementioned challenge of appealing to mobile buyers, expect to see a new wave of mobile “storefront apps” to reach buyers on-the-go. This trend goes hand in hand with the need for merchants to have omni-channel presence, as well. Given that mobile users spend 86% of their time within apps versus mobile sites, perhaps branded native smartphone shopping apps are the key to converting those once-fickle customers.

    emarketer

    After all, if a customer is willing to go through the effort of downloading a mobile app, chances are they’re loyal and trusting enough to make ongoing purchases. “App commerce” platform Poq recently found that storefront apps outperform mobile web conversion rates by 40%, support longer browsing sessions than even desktop web browsers and are twice as likely to drive repeat visits. This all makes sense given the game-changing functionalities that storefront apps offer, which include superior content personalization opportunities, push notifications and geo location-integrated brick-and-mortar shopping recommendations.

    report
    Source: Poqcommerce.com

    Poq’s compelling solution, for one, offers a centralized content management system that merchants and marketers can use as a unified data hub that uses an API to automatically sync with analytics platforms, payment gateways, customer review platforms and more.

    Boom of app adoption in Indian market

    Over 80% of buyers surveyed in India now prefer using apps over mobile browsers to shop on phones, compared to the global average of around 70%, according to a report published by payments technology firm Worldpay. At an average download of 10 mobile apps per day, India has been far ahead and is a thriving market beating its rival U.S and U.K. where the average downloads are 7, the report added. Indians downloaded 12.1 billion apps last year, dethroning the US’s app economy (11.3 billion).

    India's App Market is Booming

    Getting the app experience right can yield handsome rewards for e-tailers. After all, according to the Worldpay report, one in three Indians spent more than Rs4,000 ($62) on their last purchase. Tapping the right market will be the key to their success for e-tailers.

    Conclusion

    Nobody can truly predict the future in regard to ecommerce. However, these current trends will continue to heavily influence the space for the time being. One thing that is inevitable for the evolving e-commerce industry is that they should maintain the highest quality apps with fastest time to market. The best strategy would be to test the apps on multiple real devices with different OS versions and on different parameters on a cloud based platform that can deliver better quality apps faster. pCloudy is the ideal full lifecycle digital testing cloud based platform to test all the mobile and IOT apps.

    Manual, automated and crowd testing can be done on both iOS and Android devices. These tests can be run on a public cloud, on premise or a dedicated private cloud as per the need. Both Selenium and Appium tests can be run on pCloudy. One of the biggest advantage of it is that it can be integrated with Continuous Integration systems.

    Sign up on pCloudy and test your apps to believe what we say.

    shivani
    shivani

    She is a Product Marketer with over 9 years of diversified experience across content, branding, and product marketing. Her experience ranges from global brands to nimble startups. She is a custodian of Brand & Content, telling stories about the brand that delights customers and provides compelling business value.

    Related Articles

    April 19, 2020
    What’s New In pCloudy 5.6?

    pCloudy is committed to delivering the best solutions in mobile app testing and therefore we come up with product updates at regular intervals. This time we are thrilled to announce the release of pCloudy 5.6 with exciting new features to…

    Learn More Arrow

    March 17, 2020
    Ensure Continuous Productivity By Leveraging Remote Devices For Mobile App Testing

    Remote working is going to be a new normal and remote access tools and platforms will play a key role in maintaining productivity. Working from home has many advantages both for enterprises and teams. There are many tools that help…

    Learn More Arrow

    January 31, 2020
    5 Best Python Frameworks For Test Automation In 2020

    Testing framework plays a crucial role in the success of any automated testing process. Choosing the right test automation framework is important as it will maximize the test coverage and improve test efficiency which means a better return on investment.…

    Learn More Arrow

    Welcome to pCloudy 5.0

    Avinash
    By Avinash
    February 20, 2018
    4 min Read
    Share This Article
    Welcome to pCloudy 5.0

    pCloudy 5.0

    pCloudy is a unified mobile app testing platform which is trusted by its users for its excellent performance. We have more than 30,000 users across the globe, and we have received an overwhelming response for our platform. From bot testing to crowd testing, pCloudy has always been a front runner in the market. And with the launch of pCloudy 5.0, we are up for the challenge once again. It is a re-imagined and re-worked upon platform created in-line with intelligence to meet the market demands and accelerate delivery.

    Let us have a look at what’s new here:

    Features

    a. iOS Connect
    b. Automation Studio
    c. Follow Me

    a) iOS Connect: One of the very powerful features that we added is the iOS Connect. The major challenge iOS developers had been facing was the debugging of their iOS apps because of the difficult Apple guidelines regarding building any utility . We are proud to say that we have been successful in cracking that.
    With iOS Connect, you can connect to an iOS Device which is present remotely and access the device as if the device is connected to your computer. With iOS Connect we are bridging the gap for the iOS development life cycle.

    iOS Connect

    b) Automation Studio: It is another promising feature that can revolutionize mobile app automation. We now have an in-built automation studio in pCloudy platform where you can access the devices to record your test scripts and execute it in parallel on multiple devices without writing any code.

    There’s something more to it! If you already have your projects on Appium you can record your new workflows and export it to Appium Java format. This new integration would not only enable every user to start creating Automation scripts but it will also help Appium users to speed up their Automation. This makes pCloudy truly a Unified app testing platform.

    Automation Studio Launch

    c) Follow me: It is again one of the ‘wow’ features of pCloudy 5.0. This feature can speed up your App Testing exponentially. Follow me allows you to test your apps on 3 unique device while performing your test on only 1 device, thus saving your testing time multi-folds.

    Follow Me

    Re-Imagined UI

    It has been designed to give a leaner, simpler and faster user experience. The look and feel of the pCloudy platform has been transformed keeping in mind the requirements, usability and ease of our users. All the pages have been made more intuitive. To simplify, we have grouped the actions together to save your time in figuring out the next step.

    a. True Collaboration
    b. Global File Storage
    c. Comprehensive reports at a single stop
    d. Test Scheduler

    a) True Collaboration: We have introduced a powerful feature on our revamped Device Interaction page. Now, you can take the screenshot of the action you are performing and see the screenshot next to the device. But, the icing on the cake is that you can edit the screenshot, save it and log a bug directly to the JIRA enabling true collaboration between the developers and testers.

    UI Design

    b) Global File Storage: Heeding to the demands of our users we have reduced the clicks to perform any action on the File browsing /storage page. The file uploaded once will be available across all the different locations we have. It will also allow sharing of files across teams.

    Global File Storage

    c) Comprehensive reports at a single stop: Now, to make the user experience simpler and faster, we have placed all your reports at single stop be it manual or automation across all locations. Not just that, you can see all reports in the same format with much detailed information. Raising bugs after analyzing reports is also possible from here.

    comprehensive-reports-at-a-single-stop

    d) Test Scheduler: We have re-designed this page based on a Guided interface where the interactions are more thoughtful, straightforward, and guide you to the next step. It needs zero learning to run automation scripts on multiple devices.

    Test Scheduler

    pCloudy 5.0 is another breakthrough for us. After launching pCloudy 5.0, it is time to get feedback on a larger scale. We’re going to continue improving the UI, the navigation, and add some futuristic features to make your app testing simpler and faster. While we do that, we’d love to continue getting feedback.

    Avinash
    Avinash

    Avinash Tiwari is a thought leader, a recognized keynote speaker, and the co-founder of pCloudy.com. He has 15+ experience in Product development and Testing. He brings with him a passion for emerging technology and quick adoption, both of which have solidified his reputation as a leader in the mobile app testing field.

    Related Articles

    April 28, 2020
    Test Local And Internal Servers Before Deployment Using Wildnet

    Some testing teams set up their own staging environment to test internal servers but as there is no public access which makes it difficult to perform local testing on remote devices. So how would you test your app which can…

    Learn More Arrow

    April 19, 2020
    What’s New In pCloudy 5.6?

    pCloudy is committed to delivering the best solutions in mobile app testing and therefore we come up with product updates at regular intervals. This time we are thrilled to announce the release of pCloudy 5.6 with exciting new features to…

    Learn More Arrow

    March 17, 2020
    Ensure Continuous Productivity By Leveraging Remote Devices For Mobile App Testing

    Remote working is going to be a new normal and remote access tools and platforms will play a key role in maintaining productivity. Working from home has many advantages both for enterprises and teams. There are many tools that help…

    Learn More Arrow

    Problems With Online Android Emulators and How to Solve it?

    Suyash Dubey
    By Suyash Dubey
    October 13, 2017
    12 min Read
    Share This Article
    Problems With Online Android Emulators and How to Solve it?

    Online Android Emulator to Test Apps

    Android now occupies the number one place in the world Smartphone arena with a market share of 87% at the end of 2016 that means 9 out of 10 Smartphones in the world run on Android. With such dominance in the space, the creation of mobile apps has reached never before heights. But the constant innovation that fuels this market has major problems in terms of the development and testing timelines. Running an online Android emulator, which used to be a solution once up a time, is not good enough anymore. So what can companies and developers do to stay ahead in the development race? What alternates exist to improve your app’s usability, performance and customer satisfaction? Let us explore.

    With the explosion of Smartphones, customers’ screen size is reducing. People are moving from desktops and laptops to Smartphones for their everyday work and personal needs. This massive shift from big screens to a personal device has created a huge opportunity for developers to create tools that can help people with their work and their personal needs. Users can now view their spreadsheets and book movie tickets from their phones.

    Want to test your Mobile App?

    Join pCloudy Platform!

    Apple’s Appstore and Android Play store has become the ‘go to’ place for people to discover apps that meet their requirements. The ratings left on those apps will decide how many people will install those apps. Customers have once again become the king of the market.

    Days of unique apps are over. For your every need you will find at least two or more apps, giving you a choice. So if you want people to choose your app, install it, use and positively review it, your app needs to user-friendly, work on most handsets and be bug-free.

    In the past, companies and developers determined product lifecycle. They planned the updates, feature upgrades etc based on the resources and other factors. Today the scenario is changed. The Market dictates the timeline. If your app is incompatible with the latest OS, or not render properly, or suck a lot of battery juice, off it goes into oblivion to be replaced by a better app.

    The fight for the screen space is constant.

    You can win the fight only if you develop faster than others, test it better and offer a good user experience. That means developers will need to compress their development cycle and testers should speed up their testing while at the same time, maintain high usability and reliability of the app.

    Android and iPhone both offer an easy to use platform for developers. iPhone has a few products (IP6, IP7, IP8 etc.) and versions (OS 8, OS9, OS10 etc). The permutation of devices and OS makes testing with real devices easier although buying that many Apple devices is quite an expensive investment. You don’t need an online emulator while testing for iPhone.

    In contrast, Android has a highly fragmented market. Apart from different versions (KitKat, Jellybean etc), there are different forks of Android (Stock, Cyanogen, OxygenOS etc) and there are also different skins that manufacturers put on their devices (TouchWiz, Optimus, Sense etc). Real android device testing to cover all the combinations is close to impossible and quite expensive.

    Enter Online Android Emulators

    Online Android Emulator

    When they started, online Android emulators were like a boon to developers. They could cross test their apps across different devices without physically buying the phones. Most of the Android emulators were easy to set up and a fairly inexpensive solution. Most importantly, online Android emulators could mimic hardware and software behaviour making easy for developers to identify unexpected behaviour during the early stage testing.

    But as the market for apps grew, the demands on the app became even higher. Testing all the features of the app on an Online Android Emulators was not providing the full picture of how the app would behave on a customer’s phone.

    For example, a user installs a new app on the phone and the next day he notices the battery is getting low very fast. Looking at the battery usage, he discovers the culprit is the new app and bam! He hits uninstall. He then visits the Playstore and writes a negative review of the app’s battery-sucking problem. The next 20 people who see that review will not install the app.

    These kinds of bugs cannot be easily identified using an online android emulator. Apart from that, online emulators are slow because they have to replicate both software and the hardware components. thus slowing down the whole testing cycle.

    Online android mobile emulator stimulate android devices on a PC to test an app on a variety of devices and API levels without the need for physical devices. Nox is the best online android emulator although BlueStacks is the best android emulator for online games. Online android emulators come with predefined configurations for various Android phone, tablet, Wear OS, and Android TV devices. There are many online android emulators for iOS available in the market.

    Online Android emulators also have other limitations that make them unsuitable for large-scale testing. There are a limited number of OS versions you can run on an Android emulator. Even on a good PC with HAXM acceleration support, you can run approximately 8 emulators at a time. Even if you manage to set up all the online emulators you need, one small problem can send the whole system crashing forcing you to start all over again.

    So what can app developers do to speed up their product lifecycle while releasing a relatively bug-free app? Is there any alternative for Online Android Emulators?

    real mobile android and ios devices

    Testing on real devices has a few important benefits. Your testing can be in real conditions i.e. weather, location network accessibility, interruptions like SMS, calls etc can be tested accurately. You can also validate the screen brightness, visibility in different lighting conditions. Testing on a real device will be a lot faster than on an Android emulator.

    The biggest problem in using actual android phones is the cost of buying all the phones you need to test. There are approximately 11k Android phone models in the market making it financially impossible to test on all available Android devices. This is one reason Online Android Emulators became famous in the initial stages.

    You can run only one test at a time. If you have staff in another city or country, they cannot access the device. If you need to install an app, you have to do it manually on every device. Apart from that, there is also a question of logistics, maintaining the devices, updating them, etc all of which are time-consuming tasks.

    One tactic used earlier involved a combination of using online Android emulators during the early stages and a small selected list of real Android devices during the beta testing. While this would work for a localized team, it still does not optimize device usage and covers a tiny portion of devices while the fragmentation continues. Thus it is not an optimal solution.

    Is there a third alternative that can beat the disadvantages of online android emulator and real devices testing?
    In recent times, a new mode of testing is gaining popularity among both amateurs as well as professional developers. It is called Mobile cloud testing.

    What is Mobile cloud testing?

    mobile cloud testing

    Testing on real devices using the cloud as the Interface is the new way of balancing the real android testing while making it economical and scalable. As a developer, you need not own any phones or buy expensive software. You connect to a lab that has a huge selection of Smartphones, select the ones you want to test on and start, it is that simple. You can run functional tests, automated tests, performance and other forms of tests easily. Since the interface is cloud-based, you can test from anywhere in the world, at any time.

    There will be some changes in the way you set up your test, install an app, etc. All the testing though will happen on actual devices under user-level conditions. You can set the location, observe CPU utilization, battery drainage and pretty much anything else that you can do with a device in your hand. These are the things you can never test with an online Android emulator.

    The best part is that you need not invest in any special infrastructure for such a facility. There are independent services providers who can allow you access to the device on a cost per use basis. You can even reserve devices in advance if you want to plan a battery of test over an extended period.

    Opting for mobile cloud testing service gives you access to real devices at a fraction of a cost of setting up your own lab. There are no recurring charges as most of them use a ‘pay as you go’ model. You can spend all your time in testing rather than worry about the infrastructure, maintenance and other problems that come from the ‘owning’ model.

    While there may not be a cost associated with getting Android emulators, they need a lot of expensive hardware to run a sufficient number of an online android emulator. Mobile cloud testing does not have a problem.

    Using Mobile cloud testing, you can cover more ground over a large number of devices than if you were using either only real android device testing or the online android emulator. For example, if you have 10k scenarios to cover, you can spread it over 1k devices through automation rather than 1k test scenarios over 100 different online android emulator.

    One of the biggest benefits of testing mobiles over the cloud is that you are more likely to discover bugs that affect real-world customers than what an emulator can reveal. From a user satisfaction perspective, this is probably one of the biggest advantages mobile cloud testing has over online android emulator.

    Most of the app development work has moved to the agile methodology which means testing will run almost parallel to development work. You will need a way to speed up the testing process to meet the sprint deadlines.

    Using a mobile cloud, it is easy to streamline the testing process whether you are using a DevOps or an agile approach. Continuous testing is a lot easier to streamline over the cloud setup rather than via online Android emulators or even with real devices.

    Many development teams are spread across the globe. Cloud setup gives them an easy way to test seamlessly from different geographies.

    Security for Mobile apps testing

    mobile app testing

    Different apps have different needs in terms of security. An Astrology app that gives general predictions may have little data security requirements while a banking app might need the testing to be done in a secure environment. Such clients can always go for a private cloud or even opt for on-premises setup. When you use a good solution provider, you can just hook up your existing devices to their setup and give access to your cross-border teams to test on the devices.

    Testing performance issues, be it CPU load, battery discharge or performance over 2G, 3G and other networks work a lot easier when you use the mobile testing via the cloud platform. You can select which network mode you want to be on and apply the test. This kind of flexibility is difficult and sometimes, impossible using an android emulator.

    Mobile Apps Performance Testing

    mobile apps performance testing

    Apart from the need to test for compatibility with existing apps, battery usage, network usage etc, and mobile apps will need to go through a round of performance testing. Due to the ever-increasing storage space in a Smartphone, users tend to store a lot of content on their phones. So it is necessary to find how the increase in storage affects the application performance.

    For example, if you are developing a photo gallery, how does your app perform when accessing 5 GBs worth of pictures and videos, v/s accessing 50 GBs worth of pictures and videos? Does it slow the pre-fetch? Customers are very unforgiving of apps that slow down their phones.

    In case your app has a server-side component, it is important you run a performance test to verify how many concurrent users the server can handle. There have been many instances where e-commerce sites crashed being unable to keep up with increased demands during holiday sales.

    These are a few areas that we cannot test on an online android emulator.

    A customer kept waiting is a customer lost

    A couple of years ago, it was acceptable to wait for two-three minutes to download an image on a phone. But today if your app takes longer than few seconds to start up, it is killed and replaced. The tide has shifted to the customer’s side in the Appstore and Playstore. The only way to win this game is to be Nimble, easy to use and not crash the phone.

    Thanks to Mobile cloud testing, you don’t have to wait for the slow, unreliable online Android Emulators anymore. Testing on Mobile cloud gives you the opportunity to cut your infrastructure cost, speed up your testing cycle, spread your testing over a larger set of devices and gives you close to real-world results. As the completion heats up for the screen space, you have one tool in your kit that can help your app survive the tough jungle of user reviews.

    Want to test your Mobile App?

    Join pCloudy Platform!

    Suyash Dubey
    Suyash Dubey

    Suyash is a content strategist at pCloudy. He is a frequent contributor to the world's leading mobile technology blogs and tech forums. In his spare time, you will find him reading detective novels, watching a documentary or exploring a new destination.

    Related Articles

    August 4, 2020
    UST Global invests in pCloudy

    We feel elated to inform you all that UST Global, a digital transformation solutions company, has announced a strategic investment in Smart software testing solutions (SSTS) Inc. The UST Global team sees great potential in our SaaS platforms - pCloudy…

    Learn More Arrow

    April 19, 2020
    What’s New In pCloudy 5.6?

    pCloudy is committed to delivering the best solutions in mobile app testing and therefore we come up with product updates at regular intervals. This time we are thrilled to announce the release of pCloudy 5.6 with exciting new features to…

    Learn More Arrow

    March 17, 2020
    Ensure Continuous Productivity By Leveraging Remote Devices For Mobile App Testing

    Remote working is going to be a new normal and remote access tools and platforms will play a key role in maintaining productivity. Working from home has many advantages both for enterprises and teams. There are many tools that help…

    Learn More Arrow

    Tips To Use Devices More Effectively

    Avinash
    By Avinash
    September 26, 2017
    2 min Read
    Share This Article
    Tips To Use Devices More Effectively

    pCloudy Platform


    This article explains the options available on device page. These options will help you use the devices effectively on pCloudy platform. pCloudy is a feature rich platform and supports whole lot of features to ease your device interaction. There are many single click options to speed up your testing on devices. On connecting to a device, You will see many icons in the top pane.

    Lets understand what each of these icons/features does for you.

    Device icons

    1.
    Camera

    Capture high resolution screen shots with the skin of the device

    2.
    landscape and portrait devices

    Change the orientation of the device to Landscape and portrait

    3.
    Cross Browser Testing

    Open the browser from the list of preinstalled browsers

    4.
    Keyboard

    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

    5.
    Battery

    Check the stack trace (crash logs) if the application is crashed

    6.
    Cursor
    Navigate the application with the buttons
    7.
    zoom in zoom out

    Zoom in/out the device shown on the screen

    8.
    zoom default icon
    Reset the zoom level to bring the device to default size
    9.
    re-connect to a device

    Click to Re-connect if the device shows black screen

    10.
    Extend Device Session

    Extend the session if the device is available

    11.
    Wake Up

    Wake up the device from sleep mode or push the device to sleep mode

    12.
    Stop Device Session
    Release the device back to the cloud

    pCloudy’s Device Settings tab has lot of commonly used features and device interactions. Some of the key features to test are Network, Location and Audio.

    Lets see those in details.

    mobile device settings

    1.
    Reboot Device
    Reboot the device remotely
    2.
    Toggle Wifi

    Switch ON/OFF wifi

    3.
    Adjust Volume
    Adjust the device volume
    4.
    Manage Apps

    Manage your apps on the device

    5.
    Network Profile

    Throttle network to simulate different network conditions

    6.
    add google account
    Add Google account
    7.
    Set Phone Location

    Teleport the device – Set any location of the earth on the device

    8.
    Settings

    Open Device settings on the device

    9.
    Open play store on mobile device

    Open play store on the device

    10.
    open developer options on website

    Open developer options on the device

    11.
    Inject Audio

    Send audio commands to the device for testing applications which supports audio commands

    Avinash
    Avinash

    Avinash Tiwari is a thought leader, a recognized keynote speaker, and the co-founder of pCloudy.com. He has 15+ experience in Product development and Testing. He brings with him a passion for emerging technology and quick adoption, both of which have solidified his reputation as a leader in the mobile app testing field.

    Related Articles

    April 19, 2020
    What’s New In pCloudy 5.6?

    pCloudy is committed to delivering the best solutions in mobile app testing and therefore we come up with product updates at regular intervals. This time we are thrilled to announce the release of pCloudy 5.6 with exciting new features to…

    Learn More Arrow

    March 17, 2020
    Ensure Continuous Productivity By Leveraging Remote Devices For Mobile App Testing

    Remote working is going to be a new normal and remote access tools and platforms will play a key role in maintaining productivity. Working from home has many advantages both for enterprises and teams. There are many tools that help…

    Learn More Arrow

    January 31, 2020
    5 Best Python Frameworks For Test Automation In 2020

    Testing framework plays a crucial role in the success of any automated testing process. Choosing the right test automation framework is important as it will maximize the test coverage and improve test efficiency which means a better return on investment.…

    Learn More Arrow

    Experience pCloudy Today

    Tickmark No Credit Card Required
    Tickmark Exceptional Security

    Copyright All Rights Reserved © 2020