Category Page

Category:

Android Log Analysis

August 7th, 2020 by

Android uses a centralized system for all logs and application programmers can also write custom log messages. The tooling to develop Android applications allows you to define filters for the log statements you are interested in. Log analysis is a phase of development and developers encounter it from time to time. Bug log helps in identifying the bugs in the Android application while in the development phase. Once the app is released into the market, the support engineers analyze the bug logs to resolve the issue. There are for different types of Logs available in the Android Eco-System – Application Logs, Android System Logs, Event Logs & Radio Logs.

The logging system consists of a kernel driver and kernel buffers for storing Android log messages, C, C++ and Java classes for making log entries and for accessing the log messages, a standalone program for viewing log messages (logcat) and the ability to view and filter the log messages from the host machine (via eclipse or ddms).

There are four different log buffers in the Linux kernel, which provide logging for different parts of the system. Access to the different buffers is via device nodes in the file system, in /dev/log. The four Android log buffers are main, events, radio and system. The main log is for the application, events is for system event information, radio is for phone related information and system is low level system messages and debugging.

flow chart
Each message in the log consists of a tag indicating the part of the system or application that the message came from, a timestamp (at what time this message came), the message log level (or priority of the event represented by the message) and the log message itself (detail description of error or exception or information etc).

What Each Android Log Type Contains:

1. Application log
use android.util.Log class methods to write messages of different priority into the log
Java classes declare their tag statically as a string, which they pass to the log method
The log method used indicates the message “severity” (or log level)
Messages can be filtered by tag or priority when the logs are processed by retrieval tools (logcat)

2. System log
Use the android.util.Slog class to write message with different priority with its associated messages
Many Android framework classes utilize the system log to keep their messages separate from (possibly noisy) application log messages
A formatted message is delivered through the C/C++ library down to the kernel driver, which stores the message in the appropriate buffer(system buffer)

3. Event log
Event logs messages are created using android.util.EventLog class, which create binary-formatted log messages.
Log entries consist of binary tag codes, followed by binary parameters.
The message tag codes are stored on the system at: /system/etc/event-log-tags.
Each message has the string for the log message, as well as codes indicating the values associated with (stored with) that entry.

4. Radio log
Used for radio and phone (modem) related information
Log entries consist of binary tags code and message for Network info
Logging system automatically routes messages with specific tags into the radio buffer

Device Logs on pCloudy Platform.
Device Logo

 

    Device Logs Filter Options

Device Log Filter Options

Log format on Android
A common log format in android:

tv_sectv_nsec priority pidtid tag messageLen Message

tag: log tag
tv_sec&tv_nsec: the timestamp of the log messages
pid: the process id of where log messages come from
tid: the thread id
Priority value is one of the following character values, ordered from lowest to highest priority:

V — Verbose (lowest priority)*
D — Debug*
I — Info*
W — Warning*
E — Error*
F — Fatal*
S — Silent (highest priority, on which nothing is ever printed)

Log-File locations
There are several directories where Android log (including those from crashes) stores and it are not standardized (i.e. some may be ROM-specific). I am putting some of common here.
/data/anr : Dalvik writes stack traces here on ANR, i.e. “Application Not Responding” aka “Force-Close”
/data/dontpanic : contains some crash logs including traces
/data/kernelpanics :- Stores “kernel panic” related logs
/data/tombstones :- may hold several tombstone_nn files (nn is a number from 0 to 10 and after 10 again repeat it)

‘Log’ command line tool
To capture Android log from the devices/emulator Below is the some command line tool. In real life project there are log capture application/tool used to capture the logs on user device and shared it back to Developer/maintainer for analysis .
adb logcat (shows all type logs for current android system
adb logcat -v threadtime (it will include date and time)
adb logcat -v threadtime> logfile.txt (Store logs in logfile.txt)

Useful filter patterns
You can use below filter in your adb command to filter logs. You can also use this filter to search your logs file(Android logs provided by user device).
adb logcat -f Save all logs into a file
adb logcat “*:E” Get all errors and fatals
adb logcat | grep -i “foo.example.” #get all logs related to “foo.example.*” tagname
adb logcat “application_or_tag_name:*” “*:S” Get all logs by application name
adb logcat -b events “gsm_service_state_change” “*:S” Get all GSM state changes
adb logcat -b radio Get all Radio events

Log Analysis
In this blog we got the basic understanding of the Android Log System. While analyzing the Android logs from your app you can divide it in two parts, debug Logs – file coming during development and testing phase and production Log – file coming directly from end user. The best way to do it is by using useful Filter Patterns and by using Some Tool like GoogleLogTool and SonyLogTool.

How Continuous Testing in DevOps enables quality in the CI/CD Pipeline

July 16th, 2020 by

We all understand the importance of software testing and how it transforms the goodwill of the business by enabling delivery of quality product to its clients in shorter delivery cycles. It becomes challenging to run the test cases manually by evaluating the quality of each line of code at every step of the continuous Delivery process. This is where Continuous testing in DevOps comes into picture.

Continuous testing in DevOps Pipeline

In traditional ways of testing the software used to pass through different development and QA phases which took more time until the final delivery of the product. According to a research by Gartner, Continuous testing in DevOps is aimed at providing early and quick detection of signs of risks related to the product release. DevOps Continuous Testing is an inevitable activity of the delivery process rather than just a mere stage in the delivery process. The main purpose is to inculcate quality into the CI/CD pipeline by utilizing the key benefits of continuous testing in DevOps.

Continuous Testing in DevOps
DevOps Continuous testing is a critical aspect responsible for seamless Continuous Delivery. It involves the usage of agile development methods and processes into the QA process further providing a productive testing process.

Here are a few points to understand the benefits of Continuous testing in DevOps at the deeper levels:

a. Provides Sustained Risk Analysis:

There has never been any code build that is error free and in a ready-to-release form. Even if the final release candidate has come without any glitches, passes all the tests, it has to be ‘prepared well’ for the final release and approved by the business leaders. Continuous Testing evaluates the code at a deeper level to estimate all the possible risks connected to it so that a corrective action could be taken at the right time without breaking the ‘continuous delivery’ chain.

b. Cuts down the feedback cycle:

The key benefit of continuous testing is that it evaluates the code layer by layer at each stage of delivery pipeline, allowing testers to understand the source of the problem. The actionable insights helps the QA team to act on time and avoid longer queues

c. Broader Test Coverage:

A broad range of tests can be applied throughout the testing process with the help of continuous testing tools for DevOps such as Selenium, etc. It covers both functional and non-functional testing types to increase test coverage by emulating testing like cross-browser testing, API testing, regression testing, integrated testing, unit testing and non-functional testing like security, reliability, scalability, usability and many more.

d. Delivering High Quality Product:

‘Test-early-test-often’ is the key mantra of continuous testing which is self explicable. In order to ensure delivery of high-quality product to the end user, there needs to be a process to continuously monitor the progress along the entire delivery pipeline. Achieving high product quality is the result of continuous testing that strives to finding and addressing risks effectively and by gaining feedback at the early phases of software development lifecycle.

e. Faster Software Delivery:

The whole point of introducing Continuous Testing in DevOps is to speed up the product delivery cycle. Following a multi-point testing at different stages allows the QA team to detect the glitches early and take quick corrective actions so that the final delivery is not impacted.

f. Easy Integration with the DevOps Process:

Continuous testing seamlessly integrated with the DevOps process right from the early stages of the development process rather than functioning just before the release. Continuous integration into the software pipeline enables quick fixes so that the development process can be aligned with the business requirements on time.

Tools for continuous testing in DevOps

For a seamless experience in the entire CI CD process, Continuous testing has to be supported by the best tools for continuous testing in DevOps. For performing smooth Continuous Testing, the Automation Framework has to be integrated with the CI tool, version control and various automated continuous testing DevOps tools to execute different types of testing at various stages of the process. For example, :

  • Using Selenium for performing functional testing
  • Load runner for performing load testing at its best,
  • Secure code analysis using Fortify and static code analysis using Sonar, etc.

Apart from these there are many other trusted DevOps Continuous testing tools available in the market for an efficient continuous testing, like JIRA, Jenkins, Bamboo, Docker, Appium, SoapUI, PagerDuty, CodeCluster etc. The concern is that not all the tools support comprehensive automation solution. Some organizations prefer to create self-made automation frameworks depending upon the version control used to enable complete automation of the CD pipeline.

Since Continuous testing is the most critical aspect to be covered by the business in order to achieve quality product release, it has to be backed by the choice of right, suitable tools and frameworks to achieve speedy and quality delivery.

Challenges in DevOps Continuous Testing and how to overcome them

Even after understanding the advantages of adopting continuous testing in the DevOps process, many organizations face the challenges of successful implementation of it. Establishment of an efficient automation framework is a daunting deal as it involves a huge investment, expertise and effort. Moreover, the organizations are not equipped with the scalable infrastructure to run tests continuously. Also, without a strong coordination among the product, development and testing team, this seems even tougher. Although there are challenges in successful adoption of Continuous testing, with a little sensibility one can overcome it. Here are a few of the key points to comply in order to overcome the challenges :

  • By proper team engagement, the cultural and communication barriers can be dealt with enabling the SDLC team to have better coordination, collaboration and understanding of the scenarios.
  • Reducing unnecessary and extensive testing plans, the focus should be on keeping it simple and logical. Instead, the energy could be diverted to more important test objects in order to create much better measurable results.
  • Automation would ease the successful implementation of continuous testing in DevOps. Well, complete automation isn’t achievable but more the process automation, easier it becomes to carry on the continuous testing.
  • Carry out testing at all stages of production and QA environment would continuously providing feedback to developers to improvise on the product quality.
  • Last but not the least, implementing artificial intelligence and other intelligence programs for problem solving and to think beyond automation at every stage of delivery would boost up the SDLC.

By now we all know how significant continuous testing in DevOps for any business. It essentially brings together all the stages of designing, developing and deploying the software. Merely providing a software product does not help but providing best products faster than the competitors would be the key differentiator of your business. If practiced earnestly, it provides consistent insights about the software development to ensure speedy delivery.

Want to test your Mobile App?

Join pCloudy Platform!

Signup for Free

 

What’s new in pCloudy 5.7

July 10th, 2020 by

Our commitment to delivering the best mobile app testing solution motivates us to come up with product updates at regular intervals. We feel elated to announce the release of pCloudy 5.7 with exciting new features to make app testing simple and faster. Our customers trust us because we believe in exceeding their expectations and enhance the platform’s capabilities. For those who are new to pCloudy, it is a cloud-based continuous testing platform designed to enrich mobile apps. In this new version of pCloudy, we have addressed the concerns of our users and added new features like QR code scanner, app language change, and more. Let’s know more about all these features.

QR code/barcode scanner

This has been one of the most demanded features for pCloudy that enable users to scan a QR code or a barcode on any Android device present on the pCloudy platform. To use the feature, you need to register on the pCloudy platform. You also need an application under test which supports QR code scanning and a QR code file(test QR codes). To test the QR code scanner function, upload the QR file image in MyApp/Data, connect any Android device, install the QR Code file in the device.



test-QR-code

Then select the app and install it on the connected device. Select the test QR code file that has to be scanned and the app will scan the injected QR code. This feature is supported on Android 5.0 devices and later versions. Supported QR Code file formats are .png,.jpeg and jpg.

App Language Change

In today’s global, and multicultural economy many users want to use their apps in their native languages. A new feature, released in pCloudy called “App Language Change”, enables users to change the language in the installed application while testing the app.


ios-language
This feature will work on both Android and iOS platforms. For Android devices, the device language will be changed and once the app is installed (if that app supports language change) then the installed app will appear in the language that is selected for the device. For iOS devices, the language of the pre-installed app will be changed in only those apps that support language change. In iOS you need to select a region as some apps behave differently based upon different regions.

More updates

WebURL/Cross-browser testing: We have added a new browser (MS edge) on the list. Now you can ensure that your web app delivers a great digital experience on the MS Edge browser.
Appium 1.17: The latest version of Appium is now supported by pCloudy.
More action on Android and iOS devices: Now users will be able to use double tap and mouse scroll on Android/iOS devices.

To conclude

The new features added to the platform will help our users to perform live testing efficiently without any hassle. 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 requested by our users, which will be included in the next release. So stay connected for more updates.

The Importance Of Remote Mobile App Testing in Delivering Quality Healthcare Apps

June 3rd, 2020 by

Healthcare organizations are largely dependent on digital technology to deliver quality products and services. In the last 5 years, we have seen the healthcare sector going through a digital transformation and mobile apps are at the core of this transformation. Healthcare mobile apps are used by patients as well as healthcare professionals to handle daily tasks like medical references and maintaining databases. Meeting the quality standards set by healthcare regulatory authorities like FDA is crucial as in many instances, people’s lives are at stake. So let’s see how mobile apps are helping healthcare companies to enhance productivity and deliver quality services.

The Evolution of Mobile Healthcare Apps

 
Since the arrival of smartphones, we have witnessed a rise in the number of mhealth apps and the type of services they offer. In the initial stages, we saw apps that offered information about the healthcare centers in the vicinity and these apps also provided the option to book appointments. The advancement in mobile and wearable technology opened the doors for healthcare organizations to unleash their full potential.
 
In the last couple of years, enterprises are using technologies like AI and predictive analytics to develop better mHealth apps. Now we can see a variety of mHealth apps in the market providing different solutions to the healthcare professionals and the patients. Let’s have a look at the categories of mHealth apps that we can find on Google Play Store and Apple App Store.

Healthcare mobile apps remotely

The most downloaded apps are among healthy lifestyle and women’s health categories. Smart fitness bands are in trend these days and fitness tracking apps are also one of the most used apps around the world. Apart from this, apps that provide health insurance services also come under mHealth apps. It bridges the gap between the policyholders and the insurance company by providing all the information on the fingertips.

Challenges in healthcare app testing

 
By the first quarter of 2020, there were more than 45,000 mHealth apps available on the app store. This shows how competitive the market has grown in recent years. But to stay ahead of the competition you need to overcome the challenges in testing and deliver a quality app. So let’s look at some of the major challenges in mHealth app testing.
 
Meeting the usability expectations
 
Whether it’s patients or healthcare professionals, usability is the most sought for quality in a mHealth app and EHR systems are a good example. So if the app is being built to maintain and search health records or to recommend a nutritional diet, the app should be convenient to use for all age groups.
 
There can be emergency scenarios where an elderly patient needs help and the app needs to alert the doctor or the caregiver. In this scenario, the elderly patient should be able to tap on the button quickly or the app should have a function to initiate a video call so that the caregiver can help the patient without wasting time.
 
This was just one scenario where only the caregiver and the patient were involved. But a healthcare app can be multifunctional and can be used by other stakeholders like administrative staff, insurance advisors, nurses, and more. This is why testers need to make sure that the app supports different workflows by creating user stories and scenarios as per the user’s needs. For instance, an insurer might want to track a patient’s treatment plan activities, including tests, office visits, and procedures remotely. While a physician might want to review a patient’s treatment progress remotely. Also, a caregiver should be able to access the supervisee’s current health status remotely.
 
Some patient management apps might need to access their medical documents to monitor the care receiving activity. In such cases, testers and developers can create a list of documents that can be accessed by the caregiver using some category filters. The documents can include medical prescription, procedure notes, lab and imaging results, consent forms, identification form, and medical conditions.
 
Building a foolproof app
 
It is crucial to develop a secure healthcare app that can withhold all the confidential data safe from malicious attacks, viruses, and other types of security breaches. To achieve this level of safety the app needs to be compliant with a legislative regulation like HIPPA.
 
The Health Insurance Portability and Accountability Act focuses on the security and privacy of confidential healthcare data and testers need to have knowledge of this act to make the app compliant. Some of the key areas to focus while checking the app’s HIPAA compliance are access control, encrypted data transfer, audit log, data sanitization, load testing, and information on correct/incorrect data usage.

Ensuring quality in healthcare apps

 
Overcoming the challenges in healthcare app testing is essential but not enough to deliver a quality healthcare app. There are certain aspects of healthcare apps that need to be taken care of. So let’s take a look at the best practices that we need to focus on to achieve the level of quality that users expect from a healthcare app.
 
1. Continuous testing
 
Continuous testing gives you the confidence you need to meet the user expectations from a healthcare app. By implementing continuous testing you will be testing the code continuously at each and every step of the testing cycle. Continuous testing also means that you will use automation often to reduce the chances of human error while reducing the release cycle. The added advantage of shift left in testing will result in test automation scripting and defect identification in the coding phase resulting in a superior quality build. The best way you can deliver a flawless app is through implementing continuous testing.
 
2. Data confidentiality
 
While testing healthcare mobile apps, authentication, and user authorization process has to be given due attention. But there are still some areas that a quality engineer sometimes forget like report generated data and departmental boundaries. Restrictions on data availability should be implemented in the main EHR (Electronic health record) work process of an app. Also, protected health information (PHI) should be available for the patient care team. EHR restrictions should be included in the reporting module for drill-down reports. Reporting is regularly executed as a part of the data warehouse. If the caregiver does not access the patient’s data then the relevant PHI fields must be concealed.
 
3. Test Data Management
 
To get better test coverage and get better results of testing you need diverse test data. Especially in the case of testing clinical and non-clinical workflows through test automation. Therefore for successful automation testing of healthcare apps, you need to have production-like data including the inconsistencies that might be there in the production data. The app should be able to retrieve data swiftly whenever required. Protected health information must be organized to assure compliance. The data that mirrors its authenticity in production must be the foundation of a current test data management strategy.
 
4. User experience
 
Attributes of usability should be fixed prior to reaching the testing phase. However, a QA is not directly responsible for this. IT must be focused on the issues related to the usability, during the QA process. The reason is that IT adoption is the biggest issue in healthcare, unlike other sectors. Similarly, usability related problems can give rise to clinical issues. A recent example of this is when a patient in UCSF Benioff Children hospital got overdosed by 300%. The main reason was that the medication management interface was unsuccessful in preventing the user from committing the mistake.
 
5. App performance
 
Health apps usually serve a small number of users in a definite geographical boundary, unlike social media apps that have users across the globe. Still, a healthcare app should go through a rigorous load and scalability testing process. There can be scenarios where the user traffic might spike and the app should be able to handle the load smoothly. insights from performance systems would assist product managers to define areas such as archival strategy, local data size, scalability model, and so on. If the mHealth app does any CPU intensive actions or uses storage more often then there must an extensive evaluation of its performance.
 
In this blog we shared insights into the evolution of mHealth apps, challenges in healthcare app testing and ways to ensure quality in healthcare mobile apps. But to implement the new healthcare app testing trends, enterprises are opting for cloud solutions. A cloud testing platform like pCloudy provides the option to test healthcare apps on hundreds of real devices from anywhere, anytime. Refer to our case study where you will see how pCloudy helped a US-based multinational to achieve accelerated app adoption. In the recent turn of events, the flexibility of testing apps from anywhere in the world is much required. And you can make sure that you deliver a great app using next-gen features like an autonomous testing bot and Wildnet.

Test Local And Internal Servers Before Deployment Using Wildnet

April 28th, 2020 by

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 be accessed through your internal network? We launched a feature called Wildnet, that enables you to test private or internal servers using pCloudy. You can test your privately hosted apps on any Android or iOS devices and implement continuous testing to ensure reduced release cycle.
 
Some times testers want to test their internal servers to protecting unsecured data and credentials, hide new features, and general security. But if an app hasn’t been made public, it should not delay testing across environments. When the Wildnet feature is enabled, a secure connection is created between your machine and pCloudy remote devices so you can perform testing even if the devices are connected remotely.

Let’s see how you can test local or private servers using Wildnet.

Prerequisite:
 
User should be registered on pCloudy platform
Executables can be downloaded from below links
 
Linux :
https://content.pcloudy.com/executables/utilities/WildNet_Executables/pCloudyWildNetLinux_v1
 
Windows :
https://content.pcloudy.com/executables/utilities/WildNet_Executables/pCloudyWildNetWindows_v1.exe
 
OSX :
https://content.pcloudy.com/executables/utilities/WildNet_Executables/pCloudyWildNetMac_v1
 
Manual Process to enable Wildnet
 
1. Run the below mentioned executable command on the terminal:
 
For Windows:
.\pCloudyWildNetWindows -i Emailadress –k accesskey -u URL
 
For Mac:
./pCloudyWildNetOSX -i Emailadress –k accesskey -u URL
 
For Linux
./pCloudyWildNetLinux -i Emailadress –k accesskey -u URL
 
Example:
./Win-Wildnet -i sample@test.com -k pass123 -u https://app.pcloudy.com
 
Note: Please use below mentioned URL for-
 
Public cloud(India): https://device.pcloudy.com
 
Public cloud(US) : https://us.pcloudy.com
 
Private cloud: https://private-cloud.pcloudy.com
 
Wildnet Example

Note:

  • This feature will work on all platforms.
  • Once “Wildnet” is enabled, the user can connect more than one device.
  • User will get authenticated as shown in the below screenshot
     
    Test Local Wildnet enabled

    This is how users can initiate Wildnet.
    2. Go to the Device page in pCloudy platform, connect the device and click on Enable Wildnet as shown in the screenshot:
     
    Device page

    Open any local URL that you wish to test and enjoy local testing on pCloudy platform.
     
    Local testing

    3. To disable the service simply run ctrl+c to exit
     
    Wildnet disable

    Activating Wildnet for Appium Automation
     
    1. Run the below mentioned executable command on the terminal:
    For Windows:
    .\pCloudyWildNetWindows -i Emailadress –k accesskey -u URL
     
    For Mac:
    ./pCloudyWildNetOSX -i Emailadress –k accesskey -u URL
     
    For Linux
    ./pCloudyWildNetLinux -i Emailadress –k accesskey -u URL
     
    Example:
    ./Win-Wildnet -i sample@test.com -k pass123 -u https://app.pcloudy.com
     
    Note: Please use below mentioned URL for
     
    Public cloud(India): https://device.pcloudy.com
     
    Public cloud(US): https://us.pcloudy.com
     
    Private cloud: https://private-cloud.pcloudy.com
     
    Wildnet Example

    Note:

  • This feature will work on all platforms.
  • Once “Wildnet” is enabled ,you can connect more than one device.
  • User will get authenticated as shown in the below screenshot
     

    Test Local Wildnet enabled

    2. Once the user is successfully authenticated, they need to add the capability mentioned below, in the Appium automation script.
     
    capabilities.setCapability( “pCloudy_WildNet”, true);
     
    3. Once the capability is added, users can perform local testing on pCloudy devices and verify the execution in live view page.
     
    The most important advantage of Wildnet is that you can be confident about the application as you can rectify all the defects prior to delivery. Try it yourself. Use Wildnet to find more bugs and defects in your internal server before deploying it to production.

    What’s New In pCloudy 5.6?

    April 19th, 2020 by

    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.

    5 Ways To Create Better App Experience For Your Users With Remote Testing

    April 2nd, 2020 by

    As the world battles with turbulent, uncertain times, most of the workforce across the globe is working remotely. Organizations have acknowledged the importance of remote working as it helps in maintaining business continuity. But in some scenarios, it is difficult to maintain business continuity or distribute resources within the teams while the team is working remotely.

    For instance, if you have some physical device infrastructure to test your app on multiple mobile devices, how would you do it? How would you share the devices with other testers and developers in your team working from different locations? Most importantly, how will you make sure that the app works smoothly on all the popular devices? We will address these issues in this blog, so buckle up for some interesting insights into the remote testing advantages that can ensure a better app experience for your users.

    1. Abate device fragmentation and ensure better app compatibility with remote testing

    Device fragmentation is any testers Achilles heel as it limits their potential of extensive testing. Testing from a physical device lab at this global lockdown situation is not feasible, and testing on a few devices won’t yield good results. But this issue can be rectified by testing on a device cloud. In pCloudy, users can test on multiple devices based on the popularity of devices in a particular region and its penetration to get the optimum device coverage.

    Both manual and automation testing can be performed with unlimited parallel test runs remotely on hundreds of real devices. This is also convenient for globally distributed teams, as the users won’t have to wait for the devices to be available for testing.

    2. Deliver Better Quality App with Rapid Automation

    Enterprises can ensure better quality apps without missing out on any deliveries by leveraging remote devices for automation testing. pCloudy helps in speeding up automation testing with codeless scripting and test orchestration using integrated tools like Jenkins. Capability configurator is a feature in pCloudy that generates the desired capability based on a set of filters, which saves time and effort while performing test automation. Integration with popular automation and collaboration tools like Appium, Espresso, Jira, etc., makes it convenient for users to perform automated testing on remote devices.

    Mobile device lab

    3. Better collaboration and continuous feedback

    In pCloudy, users can manage teams and distribute credits among themselves. The user management feature allows managers to become the system administrator and create teams to allocate the credits to the members according to the task assigned. This helps in user and task as the hierarchy is maintained to distribute workload systematically.

    Once the tests are complete, detailed test reports are generated automatically, which can be easily shared across the team. The progressive reports also show the tests failed, passed, and those with errors. This helps in focusing only on the tests that failed and doing a root cause analysis to rectify the issues. Continuous access to a range of devices available for remote testing will provide stability to your CI/CD pipeline.

    4. Assured data privacy and security

    Enterprise-grade security gives assurance to our users that their data is safe on the cloud platform. Our data centers comply with internationally recognized security standards like ISO27001, SOC2, and SSAE-16. Keeping your security issues in concern, we have another useful feature called Wildnet. This feature enables you to test your internal sites or apps on your local network, keeping all your data and information secure.

    5. Advanced features to improve manual testing

    Take advantage of next-gen features like Certifaya, an AI-powered autonomous testing bot to save time and effort. FollowMe is another feature that enables the user to run a test on multiple devices in parallel. This will save your resources while reducing the testing time by multifold. Apart from this, there are many features in pCloudy, like taking screenshots, recording the test video, cross-browser testing, etc. that will make manual app testing a piece of cake.

    In a Nutshell

    Remote testing is convenient, and it will help you save big bucks while you deliver a better quality app in less time. Continuous access to numerous devices helps in accelerating automation testing, as the app can be tested on multiple devices in parallel. All these advantages of remote testing make it the optimum choice for enterprises.

    5 Best Practices To Avoid Test Automation Failure

    February 24th, 2020 by

    Automation testing forms the core of any CI/CD pipeline and enterprises are keen to practice test automation to enhance the efficiency of the development process. Test automation saves resources and reduces the cost of any project in the long run. But there are some important points to keep in mind while testing to avoid automation failure. Let’s have a look at these salient points.

    Leverage Parallel Execution

    Once you are done automating the test cases, the challenge will be the complex test suites taking a long time to get executed. It affects the quality of the test queue in the test automation framework or IDE. This leads to queue timeout issues and test cases being halted abruptly due to the sequential execution of the test cases.

    Parallel execution in different test environments is preferred over sequential execution as it saves a lot of time. Although in automated testing, unintended code interactions could happen. This is why you need a thorough reporting mechanism to debug the causes of test failure.

    Leverage Parallel Execution

    Pick The Right Tools

    Choosing the right tool for test automation is critical to the success of automation testing. There has to be a set of clear requirements/parameters on the basis of which the tools have to be selected. Some important points that are to be kept in mind while selecting the tool are:

    • The team should be clear about the test tool requirements.
    • The testing requirements of the application under test (AUT) should be analyzed thoroughly.
    • The team’s skill set should be accessed accurately.
    • The cost-benefit analysis should be performed to calculate the return on investment.
    • Tool vendor and capability should be evaluated as technical support might be required while using the tools.

    One tool might not be enough to meet any organization’s automation needs. Also, test automation engineers have to be a part of the tool evaluation process so that they can help in selecting the right set of tools. For example, you can use Appium for test automation but you need pCloudy to perform automation testing on multiple real devices in parallel.

    Analyze The Test Reports

    Test reports provide insights into the underlying issues that are to be resolved. A detailed test report gives an idea of the efficiency of the test automation and the automation team can analyze the report to look for the scope of improvement. While selecting an automation tool you need to make sure that the tool generates test reports to be analyzed by the test automation engineer. There will always be some tests that will fail to execute and it is necessary to analyze the test report to get an understanding of the scenario.

    Test Automation Metrics

    Test automation metrics will help you gauge the quality of the tests performed based on some essential parameters like test duration, unit test coverage, path coverage, number of defects found, percentage of broken builds, etc. The test metrics will give you a clear picture of how well the code is tested. In an agile process, there are frequent iterations to the builds and it becomes important to track the quality of each build. With test automation metrics you can figure out what is the percentage of your tests that passed and what was the reason behind the failed tests.

    Optimum Device Coverage

    Test automation is effective when the tests are executed on multiple devices in parallel. Device coverage is the most prevalent challenge as we have witnessed growing device fragmentation across the world. To ensure the smooth functioning of mobile apps on all the devices, you need to perform automation testing on hundreds of device-OS combinations.

    Test automation should be designed to make the app compatible with most of the popular devices. The frequent release of new versions of OS from both Android and iOS is a major factor that drives device fragmentation. The only way to overcome this challenge is by testing the app on a cloud-based testing platform. In pCloudy, you will get the benefit of testing the app on more than 5000 device browser combinations in parallel ensuring optimum device coverage.

    Summing It Up

    Test automation has many benefits like better test coverage, faster feedback, and accelerated results which reduces the time to market of any application. Using the practices mentioned above you can ensure coherent test automation and increased productivity. Apart from these points, there are many other things you can do like writing original code and not copying it as the code taken from other sources might not work in your test environment. But you will always find new roadblocks which you will have to deal with spontaneously.

    The Scope Of Automation Testing In The Intelligent Digital Mesh

    February 17th, 2020 by

    Intelligent Digital Mesh is the entwining of people, devices, content, and services enabled by digital models, business platforms and a rich, intelligent set of services to support digital business. We have witnessed the implementation of AI in every technology to leverage the benefits of autonomous systems. Enterprises are now focusing on using AI with technologies like blockchain and immersive technology which will create new categories of apps. In this type of environment, attaining optimum device coverage will be essential to ensure quality services. Now let’s understand the fundamentals of the intelligent digital mesh.

    Intelligent

    In the near future, most of the mobile applications and services will use artificial intelligence or machine learning at some level. AI will be the inconspicuous force of most of the popular app categories while creating some new ones. Intelligent apps also create a new intelligent layer between people and systems as seen in enterprise advisors and virtual user assistants. Augmented analytics is also gaining ground and helping enterprises in enhancing business intelligence and data analytics using ML and NLP. Another use of AI and ML is in intelligent things like smart vacuums, drones, autonomous farming vehicles. Intelligent devices are getting smarter to serve better and reduce human dependency to a minimum.
     
    Top 10 Strategic Technology Trends for 2019

    Source: Gartner.com

    Digital

    When we talk about digital, we mean digital twins, cloud to the edge, conversational platforms, and Immersive Experience. A digital twin is a digital representation of real-world objects. It offers information on the state of the counterparts, improves operations and adds value to the operations by responding to the changes. In the near future, all the aspects of human life and the real world will be interconnected with their digital representation capable of advance simulation, analysis, and operation. This combined with immersive technologies like AR, VR, and MR will take extended reality to a new level.

    Mesh

    Mesh is the connection between devices, people, businesses, services, and content to build a digital ecosystem that yields high-quality results. Here mesh refers to technologies like Blockchain, Event-driven, and continuous adaptive risk and trust (CARTA). Enterprises are keen to find new ways to sense the new business events to get the most out of it. A business event can be a change in the status of the deal like finalizing a deal. Using new technologies like AI, it will be easier to detect a business event and analyze it in greater detail.
     
    Security is one of the most important and ever-evolving processes in digital businesses. There is a need to think beyond infrastructure and parameter protection. Continuous adaptive risk and trust assessment is a people-centric security approach that allows for real-time risk and trust-based decision making. New methodologies like DevSecOps and adaptive honeypots should be implemented to strengthen the security of digital businesses.

    Automation Testing For Intelligent Apps

    Intelligent apps are at the core of the intelligent digital mesh. Nowadays most of the apps use artificial intelligence, machine learning or predictive analysis to make suggestions to the customers. The apps use real-time and historical data from user interactions and other sources to predict the needs of their users.
     
    To ensure the quality of apps it is important to test the apps using futuristic tools. Manual testing is just enough and even automation needs to be scalable to get better results. Testing the app on a cloud-based app testing platform is the best choice as you can use as many devices as you want to test your app. Also, parallel testing increases app testing efficiency by multifold.
     
    pCloudy’s AI-powered autonomous testing bot steals the show when it comes to testing intelligent apps. The bot tests the app on real devices with just a single click and generates a detailed report based on the test result.

    Conclusion

    Mobile devices, by and large, are the focal point of most of the innovations that are happening around the intelligent digital mesh. Whether it is Ai driven development, autonomous things or immersive experience, mobile apps still used as a foundation to provide the technology to the masses. But the growing complexities of intelligent apps makes it crucial to implement new methods of app testing. A cloud-based app testing platform like pCloudy is suitable to ensure quality at speed in mobile app testing. The freedom of accessing hundreds of real devices from anywhere at any time and perform manual or automation testing using futuristic features is the correct way to test intelligent apps.

    Now test your apps on Samsung Galaxy Fold

    December 30th, 2019 by

    The wait is over. We are the first to have Samsung Galaxy Fold on our cloud for our users to test their apps. This phone comes with a 7.3-inch Dynamic AMOLED primary display with a resolution of 1536×2152 (QXGA+). The cover display is 4.6″ HD+ Super AMOLED with a resolution of 720×1680. You can test your apps on the primary display for now but soon you will be able to use the cover display as well for testing.
     
    pCloudy samsung galaxy fold 3
    pCloudy samsung galaxy fold 1
    pCloudy samsung galaxy fold 2
     

    Want to test your Mobile App?

    Join pCloudy Platform!