Suyash Dubey | Posted on | 2 min Read

In the year 2028, there will be around 7.8 Billion mobile users which accounts for 70% of the world population. More mobile users mean more apps and more competition and to lead the competition we need to make sure that our app is flawless. If nearly half of the bugs in your mobile app are discovered by the users, your app’s ratings are going to decline and so are the downloads. This is why the right choice of mobile app testing techniques must be followed in the decision-making process.

Mobile App Testing Strategies

Today, the mobile app market is highly competitive. To be better every day and survive for long, the QA team has to follow a mix of plans that would be responsible for taking the right testing decisions. The testers have to formulate testing strategies to face every situation fearlessly and immaculately. Mobile apps have to be perfect before reaching to the end users so there have to be certain decisions to be taken regarding the testing plan. The following model of mobile app testing plans can be considered for better execution.

In the planning Stage, decisions like Selection of Device matrix, Test Infrastructure (In-house vs. Cloud, Simulator vs. Real device), Testing scope, Testing Tools, Automation (Framework/Tool) are taken. Since it is the first stage, it is the most important one as all the further stages would depend on these decisions. In the next stage which is execution and review, decisions regarding Test Case Design, Testing of user stories, testing types as per Sprint Objective, Progressive Automation, Regression Testing, Review and course correction are taken.

We are going to discuss the planning stage aspects more elaborately

Device Matrix:

It is an important factor, choosing the device as per your target audience’s behavior matters in decisions regarding resting. There are different approaches to the selection of the device matrix.

Approach 1- Selection of Devices based on market research.

Determine the set of devices with your target operating System that will have the highest occurrence of accessing your application by using app purchase data and analytics. For Example- if you support both Android and iOS, and your application will be used across millions of Samsung, Google Nexus and Moto G devices but only thousands of iPhones, you prioritize testing on the Google Nexus and Moto G above the iPhone device. So, this test plan will consist of testing on devices which are prioritized by your market analysis.

Approach 2: Categorize the devices based on Key mobile aspects

This approach highlights the categorization of the devices based on certain mobile aspects which can be considered in formulating the testing strategy. The categorization goes as:
Mobile device categorisation

Test infrastructure

This is another element of the planning stage. This focuses on Strategizing on the Infrastructure components like hardware, software, and network which are an integral part of test infrastructure. It ensures that the applications are managed in a controlled way.

Real device, Emulators or Mobile cloud-Where to test?

Choosing the right platform to test as per the testing needs is very important i.e whether to test on the Real device or an emulator or on the cloud

Real Devices

Testing on a real device is anytime more reliable than testing on a simulator. The results are accurate as real-time testing takes place on the device in a live environment. It carries its own disadvantages as it is a costly affair and not all the organizations are able to afford a complete real device laboratory of their own.

Pros:

Reliable- Testing on Real devices always gives you an accurate result

Live Environment- Testing on real devices enables you to test your application on the actual environment on which your target audience working on. You can test your application with different network technologies like HSPDA, UMTS, LTE, Wi-Fi, etc.

User experience- Testing on Real devices is the only way to test your Real-time User experience. It cannot be tested through Emulators or devices Available on Cloud.

Cons:
Maintaining the matrix- You cannot maintain such a huge matrix of mobile devices in your own test lab.
Maintenance- Maintaining these physical devices is a big challenge for organizations.
Network providers- There are more than 400 network providers all over the world. Covering all these network providers in their own test lab is impossible.
Locations- You cannot test how your application behaves when it is used in different locations.

Emulators

The emulator is another option to test mobile apps. These are free, open source and can be easily connected with the IDE for testing. The emulator simulates the real device environment and certain types of testing can be run on it easily. However, we cannot say that the results of emulators are as good as those of real devices. It is slower and cannot test issues like network connection, overheating, battery behavior, etc.

Pros:

Price- Mobile emulators are completely free and are provided as part of the SDK on every new OS release.

Fast- As Emulators are available on the local machine so they run faster and with less latency than Real devices connected to a local network or devices available on the cloud.

Cons:

The wrong impression- Even if you have executed all test cases on emulators, you cannot be 100 % sure it will actually work in the real environment.

Testing Gestures- Gestures like Pinching, Swipe or drag, long press using the mouse on simulators are different in using these gestures on real devices. We cannot test these functionalities on emulators.
Can’t test Network Interoperability- With the help of Simulators you cannot test your application with different network technologies. Like HSPDA, UMTS, LTE, Wi-Fi, etc.

Testing on Mobile Cloud

Mobile cloud testing can overcome the cost challenges like purchasing and maintaining mobile devices. It has all different sets of device types are available in the cloud to test, deploy and manage mobile applications. The tests run virtually with the benefit of choosing the right type device-OS combinations. Privacy, security, and dependency on the internet can be a challenge in this case but it has many benefits that can cater to different testing scenarios.
Mobile cloud

The organization can choose the right mix of above-mentioned platforms as every platform carries its own advantages and disadvantages. Sometimes a combination of real and emulators is preferred and sometimes all three can be considered as per the testing strategy.

Pros:

Devices Availability- Availability of Devices and network providers is a big gain for cloud users.
Maintenance- When you are using cloud services. Forget about maintenance. These providers take responsibility for maintaining these devices.
Pay per use- You don’t need to buy a device. You only have to pay for the duration you use that device.

Parallel Execution- You can test your complete test suite on multiple devices.

Cons:
Cost- Some providers are a bit costly

Automation Tools for Mobile App Testing on Android and iOS

Nowadays, there are so many automation tools available in the market. Some are expensive and some are freely available in the market. Every tool has its own pros and cons. Choosing the right tool for testing would reduce the QA team effort providing seamless performance at the same time. We will discuss the best mobile app testing automation tools for iOS and Android platforms in 2018.

1. Appium: It is one of the preferred MAT tools by testers. It is open source and free tool available for Android and iOS. It automates any mobile app across many languages and testing frameworks like TestNG. It supports programming languages like Java, C# and other Webdriver languages. It provides access to complete back end APIs and database of the test codes.
Top Features:
-Appium supports Safari on Ios and Other browsers on Android
-Many Webdriver compatible languages can be used such as Java, Objective-C, JavaScript to write test cases
-Support languages like Ruby, Java, PHP, Node, Python.

2. Robotium: It is a free Android UI testing tool. It supports in writing powerful black box test cases for Android Applications. It supports Android version 1.6 and above. The tests are written in Java language and basically, Robotium contains a library of unit tests. Apart from this, Robotium takes a little more effort in preparing tests, one must work with program source code to automate tests. Robotium does not have play record and screenshot function.

Top Features:
-The tests can be created with minimum knowledge of the project
-Numerous android exercises can be executed simultaneously.
-Syncronises easily with Ant or Maven to run tests.

3. Calabash: It is an open source MAT tool allowing testers to write and execute tests for Android and iOS. Its libraries enable the test codes to interact with native and hybrid apps. It supports cucumber framework which makes it understandable to non-tech staff. It can be configured for Android and Ios devices. It works well with languages like Ruby, Java, .NET, Flex and many others. It runs automated functional testing for Android and ios. It is a framework that is maintained by Xamarin and Calabash.

4. Espresso: It is a mobile app testing automation tool for Android. It allows writing precise and reliable Android UI tests. It is a tool targeted for developers who believer automated testing is an important part of CI CD process. Espresso framework is provided by the Android X Test and it provides APIs for writing UI tests to simulate user interactions on the target app. Espresso tests can run on Android 2.33 and above. Provides automatic sync of test actions with the app UI.

5. Selendroid: An open source automation framework which drives off the UI of Android native, hybrid and mobile web application. A powerful testing tool that can be used on emulators and real devices. And because it still reuses the existing infrastructure for web, you can write tests using the Selenium 2 client APIs.

6. Frank: Is an open source automation testing tool for the only iOS with combined features of cucumber and JSON. The app code needs not to be modified in this tool. It includes Symboite live app inspector tool and allows to write structured acceptance tests. It is tough to use directly on the device but is flexible for web and native apps. It can run test both on simulator and device. It shows the app in action by showing its recorded video of test runs.

Above are a few promising, popular and most commonly used and mobile app testing automation tools. Choice of tools certainly resolves many testing-related problems faster and efficiently. Implementing these tools requires skill and experience and so an organization needs to have a proper testing team in place to make all of this possible.
Related Articles:

Suyash Dubey | Posted on | 2 min Read

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 in this aspect which will be covered in this blog. But before we dive in, let’s look at the different types of apps that are available in the market.

Types of mobile applications

The creation of mobile applications is a fantastic approach to boost brand recognition, attract new clients, and improve the user experience for existing customers. In light of this, let’s examine the three primary categories of mobile apps: native, web, and hybrid.

Native apps:

Native mobile applications are ones created exclusively for a given operating system. As a result, software created for one System cannot be used on another, and vice versa. Native applications are more effective, quick, and offer greater phone-specific functionality. Thus, the difficulties of testing mobile apps for compatibility with native user interfaces of devices involve ensuring that such traits are preserved strictly.

Web apps:

Similar to native apps, web applications do not require users to download them. Instead, the users’ web browsers on their phones can access these apps because they are incorporated within the website. So, it is envisaged that web applications will operate flawlessly across all platforms. Testing teams must carefully examine the application on a wide range of real devices and browsers to ensure high app quality. Yet in addition to taking a lot of time, this operation is essential because failing to work on a few devices can severely reduce the app quality and incur heavy losses when the app doesn’t function as required.

Hybrid apps:

The features of both online and native apps are available in hybrid apps. These are essentially web applications that mimic native apps in design. These applications are easy to maintain and load quickly. Teams that test mobile apps are in charge of making sure hybrid applications don’t lag on some devices. Any operating systems with the capacity to support the said features have access to all their functionality.

While each of these app types are slightly similar to each other the technical teams face a different challenge with each type of mobile application. Combining these challenges greatly increases the complexity, making the entire procedure laborious and time-consuming. Let’s quickly look into what some of these challenges are?

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.

 

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.


whitepaper

Related Articles:

Suyash Dubey | Posted on | 2 min Read

[xyz-ihs snippet=”quickLinks-Appium”]
 
Appium is an open source mobile app UI testing framework. You can test all types of mobile apps and perform automation test on physical devices as well as on emulators and simulators. Appium mobile testing does not have a dependency on mobile device OS and it supports cross-platform app testing as a single API works for both Android and iOS. Appium supports many popular languages like C, PHP, Python, C#, Java, Ruby, JavaScript, etc.
 

What is Appium Mobile Testing?

 
When Appium is installed then a server is set up on your machine that exposes the REST API. It receives a command request from the client and executes that command on Android or iOS mobile devices. Then it responds back with an HTTP response. It uses mobile test automation frameworks like Apple instruments or UIAutomator2 to drive the UI of apps.
 

Approaches to Test Automation

 
There is two approaches for mobile test automation, Image-based and Object-based approach. Let’s understand both in detail.
 

Image-Based Approach for Test Automation

 
This technique of object identification is based on the image processing attributes of the objects in the Application Under Test (AUT). Example: Automate user options like “click, type, drag-drop, mouse actions, etc.”
 

Visual verification of the expected output

 
• Not dependent on the platform underneath
• Can be used to automate emulators as well as a real device.
 
Image based approach

The object-based approach of test automation

 
This technique of test automation is based on recognizing the nativity of the objects in AUT. This nativity reorganization process for each individual object in the application is carried out using different attributes that are assigned to the object.
 
It is used to extract the application object identifier with its properties from the actual native operating system source code, just like the developer used. This is an accurate and fast method to recognize the buttons, lists and other objects used by the application.
 
One drawback of the object-based approach is that the recognition of the individual attributes of the object involved restricts these techniques ability to function in test scenarios that require third-party application access. This reduces the automation coverage of utilizing this technique.
 
Object based approach

Which approach should we choose?

 
As we have seen, both approaches have their pros and cons. To get better results, you can merge both approaches and think about devising a hybrid test automation solution.
 
The combination of OCR (image based) and native (object-based) approach allows users to build a single script that will be portable across different devices. It will make your automation robust and efficient and allows the users to confidently detect the relevant native and GUI defect within the mobile application.
 

Appium Overview and Architecture

 
Appium is an HTTP server that manages WebDriver sessions. On iOS devices, Appium proxies command to a UI automation script running on Mac Instruments environment. Apple provides an application called instruments which are used to do a lot of activities like profiling, controlling and building iOS apps. It also provides an automation component where you can write some commands in JavaScript which uses UIAutomation APIs which interact with the app user interface. Appium mobile automation uses these same libraries to automate iOS apps.

Appium Overview and Architecture

The Webdriver Script sends a command in the form of HTTP (JSWP) to the Appium Server. Then the Appium Server will then decide as per the request which driver should be initiated. So, in this case, the Appium Server will initiate the XCUITest driver and it will pass the request to the WebdriverAgent which is an IPA (WebdriverAgent.xcproj) developed by Facebook. WebdriverAgent is responsible to send the command to the Application Under Test (AUT) to carry out the actions in the app. Then the response will be sent to the Webdriver Script through the Appium server.
 
Only iOS 9.3 and above version are supported by the XCUITest Driver. You can find all the capabilities for XCUITest Driver in the link mentioned below.

https://github.com/appium/appium-xcuitest-driver

UI Automation Server flow diagram

The situation is very similar in the case of Android where Appium proxies command to a UIAutomator2 test case running on the device. UIAutomator2 is Android’s UI automation framework which supports running JUnit test cases directly into the device into the command line. It uses Java as the programing language but Appium will make it run from any of the web drivers supported languages.
 
To answer the question “what is Appium automation?”, let’s have a look at the Appium philosophy.
 
Appium philosophy
Appium mobile testing is required for proper execution of continuous integration as it speeds up the overall testing process. Appium mobile testing helps to run the repetitive test which would take more time to perform manually. This is why appium mobile testing is the preferred choice for the developers when it comes to test automation.
 
In the next blog, we will learn more about Appium mobile testing and how to install/configure the Appium setup on a windows machine.

 
Related Articles:

  • How to use Appium Inspector for Test Automation
  • Appium Setup for Windows
  • Starting Appium Server and launching the app from code
  • How To Install Appium On A Mac Machine
  • Appium vs Espresso: The Most Popular Automation Testing Framework in 2019
  • Suyash Dubey | Posted on | 2 min Read

    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!

    Signup for Free

     

    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!

    Signup for Free

     

    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!

    Signup for Free

     

    Watch this video for more information:

    Related Articles:

    Priyanka Charak | Posted on | 2 min Read

    Successful 5 Tips

    There are millions of mobile apps available in the market today. The statistics shows that since 2016, on an average around 6000 apps on Google play store and 1400 on the Apple store have been released every day. In order to be hassle free and to be on top of the competitors, an app needs to be stable and be properly tested.

     

    Testing on mobile devices could be very challenging as it has to constantly be in touch with the new updates, new features and a myriad of DevOps tools that get introduced every time to ensure better performance and reliability of the mobile app.

     

    Hence, there are many factors that have to be considered while framing the testing strategy in order to avoid all kinds of uncertainties in the app performance, just needs a right planning.

     

    Below are five strategies every mobile testing team should keep in mind in order to reap the most benefits from their QA efforts.

     

    1. Real Environment Testing is a must
    2. Testing Automation
    3. Functionality Testing
    4. Performance and Load Testing
    5. Choice of Mobile App Testing Tools

     

    1. Real environment testing is a must

    Emulators are the best option only at the early stage of testing, and they have a vital place in the overall QA process. But testing on emulators is not successful for all types of testing. All the tests should not run on emulators as those will not be reliable for an app to run immaculately in the real world scenario. Testing on the real devices is certainly more accurate as it can test many device functionalities like camera operations, battery life, GPS, Bluetooth, networks and more. Each device is designed differently and emulators do not solve issues specific to a particular type of device.

    Procuring multiple devices and testing the app on each Operating System can be quite a daunting task and it may seem next to impossible to test the app on every OS combination. The best way would be to test apps on a cloud based platform with a hub of real devices. This way your testing results would be more precise and the procurement cost could be controlled. pCloudy has a wide variety of mobile devices available on cloud that can be considered as the preferred option.

     

    Mobile Devices for Application Testing

     

    2. Testing Automation

    Automation testing is the key and the most vital when it comes to mobile apps. It can ease the execution of tests to run simultaneously across real devices which speeds up the entire testing process allowing the apps to float in the market quite earlier and faster. In the cases where the tests require a lot of set up and aren’t the routine tests, manual testing should be preferred over automation. Mobile Automation testing necessitates the use of right automation tools. The choicest one is Appium which is open source and supports both iOS and Android and also allows to write the tests that can run on both the platforms.

     

    Automation Testing

     

    3. Functionality testing

    The core functionality is the main draw for any app and it has to be rock solid. People seek out apps to perform specific functions. Incomplete or inadequate functionality will result in abandonment, so make sure that the main functions are fully implemented and tested before you move on. User experience really matters and is also a key factor in an app’s success. For example, if the elements of the app are placed incorrectly on the mobile screen, the user will not use the app and uninstall it straightaway. So, the mobile app needs to be tested on each functionality in order to give the best results.

     

    4. Performance and Load Testing

    Usual tests are performed at earlier stages to identify the bugs even before they are pushed for production but the performance and load tests are performed later in the SDLC process to assess the maximum operating capacity and behavior of a mobile app in real life load scenarios. Tools like JMeter and Android’s Monkey tool are often used for performance and load testing. Also, the app performance on real devices is done in order to check the issues like network interruptions, memory leaks. Whatever the choice of tool may be, the goal is to ensure the smooth functioning of the app before and after the final release.

    The Internet speed can also have a major impact on the experience of using an app. A user connected to a slow cellular network might have a hard time with apps that have rich media content. Make sure your app testing includes slow connections — and fast ones — to make sure the experience is OK at any speed.

     

    5. Choice of Mobile app testing tools

    It is very important to choose the right tool for mobile app testing. There are many favored mobile app testing tools to do the right testing.

    Out of the meagre tools available in the market, Appium tops the list of the most preferred open source mobile testing tool in the market. Other than this, the tools like Robotium and Espresso which are used widely to test the Android apps by empowering the testers to write UI tests for Android Apps, easily. Google’s EarlGrey performs the similar function as Robotium for iOS framework.

     

    Conclusion

    To conclude, we must acknowledge that the decisions related to successful mobile app testing is the key role of the testing team. Testing landscapes keep changing and the testing strategies have to be aligned with the vulnerabilities of the market. It can be deduced from the above discussion that both emulators and the real devices are needed as per the testing situation. Performance and load testing are the saviors and must be performed sincerely in the production to understand the reaction of the mobile apps at different load conditions. There should be a right combination of the testing tools as per the type of operating system where the app has to be installed. To make the Mobile app testing a success, the right decision-matrix regarding the above mentioned points would prove to be the strongest pillar of the QA team of an organization. To know more about the mobile app testing success, visit www.pcloudy.com.

    Priyanka Charak | Posted on | 2 min Read

    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.

    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.

    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.

    pCloudy’s Certifaya

     
    The emergence of mobile applications for everything around us is mind boggling to say the least. All the things you would want- “There is an app for that”.

    With consumers spoilt for choices, it’s a critical task to the people who are responsible for the quality of these mobile applications. Smallest of glitch and user’s are ready to click uninstall.

    In order to ensure that your customers have the best of experience with your app, it needs to work on hundreds of mobile devices with various screen sizes, varying OS and different user conditions. Time consuming and exhaustive task.

    Isn’t it critical to accelerate this process?

    To churn out better apps faster, developers need deeper insights faster then ever.. This is where machine learning algorithms come in. They are analytics driven which makes it easier to look for patterns and monitor your app for issues, like crashes, memory spikes, high CPU, slow response time, battery drain and many other key parameters.

    So, the question is, can Machines and intelligent technology become the newest buddy for you? Yes, we say. Let’s the new tech churn out data for you, and you focus on analyzing, fixing and delivering faster to the world.

    Let’s see what’s up our sleeves.

    A Single Click Automated App Certification with bots

    pCloudy has developed a Single click App certification feature within its platform.

     

     

    How pCloudy’s Certifaya makes a difference?

    Simplicity is at the core of pCloudy’s Certifaya platform. All users need to do is to upload their app and ask the platform to run a test. Within minutes Certifaya spits out your report after monitoring, finding critical issues and presenting in the form of detailed blocks, screen grabs and videos of the sessions. The users also get recommendations to quickly fix the issues.

     

     

    Developing apps quickly but with best of quality is mission critical. Bots make a huge difference here. Certifaya bots are designed for

    Running Crash Test Scenarios: Bots run the crash test covering several installation/un-installation scenarios along with random events on the App, that too, on multiple devices. The best way to do a sanity check.

    Swift and Deep Exploratory Tests: Smart bots crawl the App automatically and navigate through the App path like any human would do, collecting loads of relevant data for the App.

    With above two tests, you get a comprehensive report on the App’s functionality and performance on multiple devices within few minutes. Have a look at a sample report. Gone are the days when you are churning out builds and waiting for hours to get a feedback.

    Keep in mind that the best practices in the industry are evolving at a quick pace. Cloud adoption has accelerated quick testing practices.

    Give your existing Testing practice power of Certifaya and accelerate your testing like never before.

     

    Try now, your first run is free.

    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