Blog

Mobile App Testing Using BrowserStack

by: Rahul Babu

Smartphones have become the primary method of interaction for consumers and businesses worldwide over the last decade. Due to this surge in smartphone usage, businesses such as Financial Institutions, Social Networks & Gaming companies had invested heavily in building their own mobile apps. As per Statista’s report, the mobile app downloads had increased at an average of 7-8 % Y-O-Y basis and are projecting to have the same surge in the upcoming years. Hence mobile app testing had become a task that requires a lot of effort and time before releasing the apps to production.

 Mobile App Testing Challenges

Let’s take a closer look at some of the challenges faced by the mobile app testers:

  1. Increasing Number of Smartphones: Every month, a new model of smartphone is getting released to the market by one or more manufacturers. This creates trouble for the testers to check if the apps are running smoothly on most such devices.
  2. Device Fragmentation:  Some mobile users may be running older versions of an OS, while other users will keep constantly updated with the OS. Thus, it becomes one of the leading challenges for the testing team to ensure the apps are running smoothly on different versions of OS (Android 12.0, 11.0, etc. or iOS 15.4, 15.2, etc.).
  3. Varying Form Factor: Companies design smartphones with varying form factors regarding the size, shape, configuration, etc. to attract a broader range of customers. Hence the testing team needs to ensure that the apps are working fine for the devices with different form factors.
  4. Network Bandwidth: Whenever an app is not optimized to suit the varying bandwidth (5G, 4G, etc.), it will provide a bad user experience for its customers. Hence the testing team should test the apps to understand the response time in each case.
  5. Deadlines & Limited Device Availability: Some companies run their projects on strict deadlines to deliver the apps. It often finds difficult for the testing team to meet the deadlines since the test devices are often shared across different teams within the company, and therefore they need to agree upon a specific time window to share it between them.

Solution

One of the solutions to tackle the above challenges is to leverage a cloud-based platform for mobile testing.

BrowserStack is a cloud-based testing tool that can be used to test the mobile apps with all the latest smartphones that are available today. The testers can connect to real smartphones or tablets present in the BrowserStack cloud.

Initial Setup

  1. Sign up to BrowserStack.
  2. Subscribe to AppLive.
  3. Download & Install the BrowserStack Local Testing App from here on your machine, based on the OS you’re using.

Native/ Hybrid Mobile App Testing using BrowserStack App Live.

  1. Once the BrowserStack Local App is installed, connect to the BrowserStack local testing host. Make sure the VPN is also turned ON if your app requires one to test.
  2. Launch the App Live session.
  3. Upload the builds in App Live.
  4. Launch the app on the preferred device.
  5. Select “Enable for all traffic” and click on “Apply” to get the network logs. 

Key Functions in BrowserStack App Live:

  1. Geo-location Testing
  2. Network Testing
  3. Device Orientation Testing
  4. Language Testing
  5. Offline Testing
  6. Kill/ Relaunch the App
  7. Jira Integration for Reporting Bugs

BrowserStack vs Physical Device – A Comparison

Criteria BrowserStack Physical Device Winner?
Economical It offers a variety of devices from different manufacturers with the App Live subscription. The company needs to purchase most of the flagship devices released in the market. BrowserStack
Device Fragmentation It offers devices with different OS versions. Once a device is updated to the latest OS intentionally or accidentally, then there’s no going back. BrowserStack
Network Bandwidth Testing It offers a feature to test the app on different network bandwidths. The company needs to set up a mobile testing lab with Wi-Fi, and also provide SIM cards for the testing. BrowserStack
Geolocation based testing It offers a feature to test the app for different geo-locations by providing the coordinates of the location. The testers must move around or need to install a Fake-GPS application to test. BrowserStack
Testing Gestures/ Sound BrowserStack doesn’t provide the feature till now. Highly convenient to test on a physical device. Physical Device
Proxying the network logs It provides a Dev Tools option for monitoring the API calls. The tester needs to set up a network proxying tool such as Charles Proxy or Fiddler. BrowserStack
Testing Speed The testing speed is comparatively slow. The testing speed is better in physical devices. Physical Device
Parallel Testing Not possible since the tester can use only one session at a time with an account. Testers can use multiple devices together. Physical Device
Bug Reporting Integration with Jira and other test management tools. Tedious to transfer the screenshots/ recording to the laptop, and then report bugs. BrowserStack

 

Here, BrowserStack is the clear winner in terms of comparison with physical device testing.

Alternatives To BrowserStack

We have several other alternatives such as Sauce Labs, Lambda Test, and PCloudy for mobile testing purposes.

Even though these tools provide almost similar features to BrowserStack, the pricing and user experience vary. It’s up to the companies to decide on the preferred tool based on their budget, team size, and requirement.

Relevant posts

Capture Real-Time Performance from UI using WDIO

The “wdio-performancetotal-service” plugin for WebdriverIO empowers you to capture real-time performance data from UI tests. By integrating this plugin, you can measure the response times of various UI procedures, identify potential bottlenecks, and make informed decisions to optimize and enhance overall performance. With detailed performance metrics at your disposal, you can improve the effectiveness of your UI testing efforts and deliver a high-performing application. The “wdio-performancetotal-service” plugin provides a valuable solution for ensuring optimal performance in your UI tests.

Dynamics 365 automation through RSAT

The Regression Suite Automation Tool (RSAT) significantly reduces the time and cost of user acceptance testing. It enables functional power users to record business tasks using the Finance and Operations task recorder and convert them into a suite of automated tests without the need to write source code.