Automation and Virtualization in One
What do you like best?
I can spin up instances of different devices and browsers at the click of a button. This is perfect for testing responsive sites without having to have a multitude of physical devices on hand. Additionally, for automation testing, you can integrate Selenium testing scripts into the Browserstack environment. Browserstack also provides a platform called Percy.io which, with a simple script, can integrate UI differential testing into your continuous pipeline. This allows you to quickly see if changes to the UI have been made with a different build - they can be intentional or accidental and it's up to the team to decide if those changes are correct.
What do you dislike?
There are limitation when it comes to accessibility testing - you can't use screenreaders on Browserstack, for example. Assisted reading software is extremely important when it comes time to design your site to be accessible, and this is a major limitation of Browserstack.
Instances can be someone slow to spin up, as well. For privacy reasons, each instance is sandboxed - however, this means that for any sites requiring authentication, a user has to sign in again every time for each new browser session. This is somewhat cumbersome - however, it's far from a dealbreaker.
Recommendations to others considering the product:
I'd highly recommend browserstack for an entire team to use. It helps prevent the need for having too many physical devices on hand at the same time - this is especially useful for distributed teams and people working remotely. I'm personally WFH indefinitely and have limited test devices in my own home - browserstack has been an indispensable tool in helping us get our work done!
What problems are you solving with the product? What benefits have you realized?
Our entire QA Engineering team uses Browserstack - while we build automation frameworks that are cross browser, seeing visual changes on actual mobile devices and operating systems is a necessary manual process. There are things that we catch that can't be found with automated testing. While there is a need for both methodologies, having a tool like Browserstack for manual testing is invaluable.
We do run Selenium automation scripts on Browserstack and, while that indeed helps us with our process, it's important for us that we have the ability to very quickly see changes to a product on multiple devices. It's a quick way to do a health check on our products.