We are using BrowserStack for several use cases. In our first use case, we have automated testing on the server. When you have automated testing, it uses your local browsers and BrowserStack provides the ability to integrate it with your code. Instead of using your local browsers for executing the code, it'll be executed remotely, and the integration is very easy.
Our second use case was for cross-browser testing for the same automation with the script that we have.
In the third use case, we were having different platforms. In some of the test cases, we were using a different browser or a combination of a different browser and the different OSs that we have. For example, we had the combination of Windows with IE, and Apple and Mac, with Safari. We did tests on many devices, such as iPhone and iPad. All the devices are available. Once we have integrated it, we were easily able to switch our testing to any of the other devices that we wanted.
The solution has many benefits, we are not worried about maintaining devices locally in our organization. This is one of the biggest benefits. Any device that is new in the market, or any phone or OS that is launched the new version is always available. We are never worried about having access to those. In the real world, you have to buy those new devices and you have to go through a lot of processes to maintain them.
Mmaintaining the devices is the largest task. All the devices have to be checked physically for many things, such as charging. While someone else might need a device but not be able to have access when it is a physical device, there are limitations. With virtual devices, everyone can have access right away, they can log in and start using the device.