What is a Digital Lab? How is it useful for Enterprises?
By Sourojit Das, Community Contributor - January 20, 2023
The market for mobile applications has expanded rapidly in the last few years. A January 2022 survey listed over 3.5 million apps on the Google PlayStore, and with around 92.1 % of all internet users owning a mobile phone, it is only likely to grow.
This has ushered in an era of cut-throat competition where app developers have to reach out to the maximum number of users possible to stand a chance of making a mark in the market.
This leads organizations to a proverbial “cross in the woods”; they can either purchase all the devices they need to test their software manually, set up in-house infrastructure for real-device testing, or leverage the power of a Digital Lab.
What is a Digital Lab
A Digital Lab allows testers to access real devices and browsers via an automation interface that provides a guaranteed level of uptime and availability of service. It supports Agile development of web and mobile applications with real-time results being verified on the devices and browsers.
The Digital Lab provides access to both the latest devices and browser versions available on the market as well as test on older legacy browser versions and allows all manner of tests to be performed without the need to acquire the physical devices or have the browsers set up.
Digital Labs usually allow QA teams to execute both manual and automated tests on websites and mobile applications and facilitate testing in real life conditions for the optimal detection of defects and elimination of bugs before the software is launched into production. Providing testers access to real-world devices allows them to understand exactly how their builds would function in the real world.
Digital Labs allow testers to interact with browsers and devices to check how the application looks and performs on any of these systems. This allows testers to identify any functional issues and check for suboptimally rendered elements in the UI.
Digital Labs also allows hardware metrics like battery consumption, CPU usage, network strength, and application interruptions to be monitored from the perspective of an end user.
How do Digital Labs Work
In general, a Digital Lab might require at least these seven components to function properly –
- A representative distribution of the physical devices that cover the chosen hardware, OS, and any specific OS versions if needed.
- A representative distribution of the browsers involved, with different browser types, versions, and any OS-specific versioning of said browsers.
- A mix of computers having Windows, Linux/Unix, and/or Mac OS-compatible hardware.
- WiFi, Ethernet, and cellular network connections
- Servers with software and automation tools to execute QA tests.
- Storage Area Network (SAN) for saving test logs, reports, screengrabs, etc.
- And background support of trained IT staff to maintain and monitor the Digital Lab’s operations.
The usual process by which tests are run on a Digital Lab are as follows –
- A user account is provided for Developers/Testers to log into
- A Device-Browser-OS combination is chosen if web applications are being tested OR a particular mobile device is chosen for testing mobile applications.
- The URL for the test is entered (for web testing), or the APK is uploaded (for mobile testing)
a. The QA team performs actions to verify application functionality. Any flaws are identified and documented by the team.
b. Devtools are built into the interface to help detect bugs and perform spontaneous debugging
- Automated testing is usually allowed on Digital Labs, and there is provision for the QA team to script their own tests on test automation frameworks like Selenium, Appium, Espresso, etc.
The Digital Lab at BrowserStack allows QA to perform cross-browser testing and eliminates the need for emulators and simulators by allowing cloud-based devices to test applications on. The Lab has features for Bug Reporting and Tracking in collaboration with tools like JIRA, Trello, Slack, etc. The digital lab is constantly updated with the latest devices and it also supports IP geolocation to test for specific scenarios in Geolocation testing. It also empowers testers to perform automated tests using Selenium, Cypress, etc.
Why Are Digital Labs Important for Enterprise
- Digital Labs allow the optimal testing of applications on Real Devices for best results.
The introduction of digital labs has ushered in a significant shift in the software testing world.
The most important prerequisite to getting optimal results from any test tool is the ability to test it on a real device. Software tests can provide fully reliable results only if they are run on real browsers or devices.
Simulators and emulators, more so the free tier products, are not capable of replicating the conditions faced by real users when operating these devices, leading QA teams to try and prevent potential scenarios without real-time data.
By removing the guesswork around how bugs may appear during app usage on real devices and allowing QA’s to easily test applications on real devices, Real device cloud has made testing faster and more accurate.
Using Digital Labs, QA’s can observe exactly how the application operates on real devices with a variety of simulations, including low battery strength, offline mode, and poor network availability being testable. Furthermore, physical operations such as swiping, gesturing, and other intuitive interactions can be performed on mobile devices to replicate real-time functionality.
This allows testers to test both native and hybrid applications and websites on a wide range of desktop and mobile devices and ensure that their builds work perfectly across as many scenarios as can be expected
- It provides a better Return on Investment
The most common decision to be made in QA is “build or buy?”. Essentially it means whether it is more profitable to build an in-house solution or to purchase the services from a third party. This question is valid when considering the use of Digital Labs for enterprises as well.
Read this guide: Build vs Buy: How to decide between in-house lab or cloud solution
New devices, both PCs and handheld, are being released with an ever-increasing frequency. In order to set up a lab for real-device testing in-house, the organization will have to spend a lot of time, money, and effort to purchase, maintain and expand this fleet of devices, browsers, and Operating Systems.
To build a device lab worth the investment, multiple devices will have to be purchased from multiple manufacturers, installed with the required browser versions and OS, and maintained and updated continuously throughout their lifetime.
Some examples of potential issues with in-house labs are described below –
- Mobile devices are usually designed for usage by normal consumers and not continuous automated testing. In such a scenario, it would last around 9 months at an average, and the entire set of devices would have to be replaced every 9 months or so, increasing costs and putting key processes at risk. With most smartphones costing in the range of $300 – $500, setting up a lab with a decent number of these plus spares takes the cost up significantly. Devices like computers, laptops, and their associated software can cost anywhere from $600 – $1200 easily.
- There are a plethora of infrastructure costs associated here as well. An in-house Digital Lab requires WiFi access points, cellular repeaters, and server racks at a minimum. With only WiFi, a point serving around 50 devices, a repeater 8, and a single rack having around 25 servers – a large quantity of physical infrastructure is required to support multiple teams accessing the lab daily.
- It is not enough to simply purchase devices and set up the infrastructure. There must be dedicated device teams in place to service the entire setup. Mobile devices usually require somewhere around 3 hours every month of maintenance, diagnostics, and repair if they are used for continuous automation tests.
- And on top of this, there are further overheads like electricity costs, office space rent, and other ancillaries.
When all these costs are added up, the total can be quite prohibitive, especially for medium to small companies.
Here’s a comparison of the sample costs for Build vs. Buy to understand it in terms of Annual Costs incurred:
Advantages of Digital Labs for Enterprise
Digital Labs offer numerous advantages to Enterprise customers.
1. The easy-to-use interface provided by Digital Labs offers convenient, responsive tests on several devices and browsers. The Digital Lab at BrowserStack offers over 3000+ device browser combinations and can instantly display how a site or application would look on multiple screen sizes and resolutions.
2. Digital Labs allow for Local testing, including support for firewalls, proxies, etc. By allowing a secure connection to be established between a development device and the servers, all URLs work out of the box, including those supporting many HTTPS domains and even those behind firewalls.
3. Digital Labs allow ease of automated testing, including parallel testing. Pre-built integrations are often present to allow access to multiple programming and scripting languages and frameworks. They also allow easy integrations into CI/CD workflows by providing convenient plugins.
4. Visual testing can also be conveniently performed in some Digital Labs, thereby automating this often tedious manual process. Percy, a tool by Browserstack, automatically generates screengrabs and then compares them against assigned baseline images to generate automated reports on any visual differences.
Visual testing via Digital Labs can integrate the entire process into the DevOps workflow thereby allowing for a secure build with every commit and the confidence to ship out the entire UI without any visual bugs at the end of deployment.
5. Mobile device fragmentation poses a critical challenge in making devices truly mobile-friendly and creating applications that look and behave consistently across all devices.
Given that there is a myriad of device manufacturing companies, models, hardware builds, and software versions, it is nigh impossible to test the application on all possible devices manually to ensure the best results.
Limitations of Digital Labs
Though Digital Labs have many advantages, they have several limitations as well –
- Limited Scope for Customization: Third-party platforms are usually not designed with a company’s specific needs in mind. Good solutions have enough flexibility to accommodate a test team’s needs, but there are always some limitations on how much customization is possible for a particular requirement. Plus, new features may take time to be implemented optimally, thereby requiring workarounds to be put in place.
- Limited Configuration Support: It is always important to check if a particular Digital Lab solution has the specific web/device-browser-OS configuration required, as it can be very difficult to put it in place later on.
- Inflexible Expenses: If a team needs to scale up its pipeline in a short period, then the overall costs can shoot up in terms of subscription fees, and there may be a requirement to pay for features that are not frequently used, thereby limiting the value of the solution.
Characteristics of an Ideal Digital Lab
Since the utility, advantages, and limitations of Digital Labs have been discussed in detail, it is important to go over the characteristics of an ideal Digital Lab before moving ahead.
- It provides a plethora of mobile platforms and operating systems on-demand to perform a variety of tests.
- It allows organizations and teams complete control over the infrastructure to prevent any unauthorized access.
- It prevents any unnecessary request queues and imposes no session limits.
- It manages all the necessary security obligations by implementing SecOps protocols to regulate exposures to public clouds.
The Digital Lab at Browserstack offers demand-based access to over 3000 devices and is its flagship offering. A wide range of mobile devices, including both Android and iPhone devices, have been configured for application testing.
The Digital lab contains bespoke tools for debugging that utilize device, console, crash, and network logs along with video recording and screenshot features to enable all sorts of tests. Offline and Dark Modes are also enabled for more exhaustive tests.
The Browserstack Digital Lab
Among other services, the Digital Lab at Browserstack provides –
- Options for Local testing on dev and staging environments to create a secure and consistent tunnel between these environments and the BrowserStack Cloud.
- It supports parallel tests to accelerate testing processes on mobile devices and shaves off runtime by a factor of 10x or more.
- It allows full-scale integration with CI/CD tools and facilitates automated tests, app distribution, etc.
- It offers expanded scope for accessibility tests for the entire spectrum of application users, including those who are physically challenged.
- It offers speed tests for verifying website speeds and response times on popular devices and platforms
- Being SCO2 Type2 and GDPR compliant, the digital lab ensures end-to-end security for all tests being performed.
The Way Forward
Creating expensive and maintenance-heavy in-house labs or leveraging suboptimal Virtual Machines, Emulators and Simulators are no longer feasible in a continuously growing market with new devices and platforms being launched every other month.
The only way for companies to stand out in the situation is to ensure that their application works seamlessly on all possible devices and browsers and is accessible to as many people as possible
Digital Labs have proved themselves indispensable to the software testing process as they ensure compatibility and optimal performance in an objective and time-bound manner.
Major companies like Canva, Intercom, etc., have leveraged the power of the Digital Lab using Browserstack in order to boost efficiency, streamline DevOps processes, increase test scalability, and reduce overall test times.
And though it is normal to be apprehensive about shifting to Digital Labs, especially for the first time; a third-party digital lab provides all the benefits of an in-house lab without raising expenditure to unsustainable levels and allows organizations to have a sandbox where they can play around with the available tools and refine their test strategies in an agile manner.