We use it for automated testing. For our company, we do web testing automation. We run our test suites containing Java-based scripts and automate the entire mobile or web application. We've 500 to 600 scripts, and we execute them on Sauce Labs. Sauce Labs provides different browser versions and mobile devices where we can execute our tests and get the results. That is how we use this solution.
Running 500 to 600 scripts in our local infrastructure takes 8 to 10 hours for the cycle to complete and get results, wherein when we use Sauce Labs and get parallel instances, we can run our test in parallel or concurrently. The execution time reduces from 8 hours to 2 or 3 hours based on the parallel instances procured from Sauce Labs. That's really good. The other thing is that it's very stable. We might face some network issues when we run tests in our local infrastructure, but I have never seen any such issues with Sauce Labs. Their infrastructure is good.
Sauce Labs is optimized for automation and integration with the major CI/CD platforms and developer tools. We've integrated it with Jenkins. There is a Jenkins plugin for Sauce Labs where you can just configure your job in such a way that it can automatically trigger on Sauce Labs. No manual intervention is required. They also support integration with Jira for defect tracking. They have a solution for raising a defect with one click, which is pretty cool. If you feel something has to be reported on Jira for developers to fix, you can just click on that, and it is reported directly on their Jira project. We've also integrated Sauce Labs results with Slack. Once the execution is completed, it notifies us on Slack that the execution is done, and we can also get our results over there quickly.
The testing environments we've used include Windows with Chrome, Firefox, and Edge. We've used Mac with Safari. On the mobile part, we've used Android and iOS. We've also used iPad on iOS. It's important to have multiple types of testing environments available in a single platform. We don't have to look at different solutions. Sauce Labs is a complete package. There are clients who request to execute their applications in N number of devices covering all the operating systems and mobile devices, and having such a solution to look at everything in a single package is very helpful.
Sauce Labs affects the execution cycle because the time taken for us to run the tests in a local setup is a lot more. Sauce Labs helps us with that part. Also, when the developers post any new code, we don't have to be there to run it manually. With the CI/CD and Sauce Labs integration, it automatically happens, and we can just go and get our results, which is very helpful.
The ability to test on additional testing environments has enabled us to make our product available to a larger user base. We also do functional testing for applications. In our inventory, we might not have the latest devices. For example, the device that we have with us might be of a certain version, and it might not extend beyond that, whereas Sauce Lab immediately launches the new version devices in the market, so we can quickly go, test, and report any defects in those versions. The coverage of testing has increased because of the availability of new versions, which has had an impact on the business. We can test and push the code to production after testing on new versions. Later on, if the users with the latest versions of devices report an issue, it will make sense to us.
Sauce Labs can run with every code commit and provide developers with immediate feedback. We have to arrange our architecture in such a way that it does that. If the architecture is right and you have the code in the right place, it definitely provides what you want. Previously, it used to take a lot of our time. We are an India-based team. If the deployment happened at midnight or 12:00 AM, when we logged in by 10:00 AM, we could see that there was a deployment. We would then do the testing, run the automation tests, and give the results back to the developer by 2:00 PM. By integrating CI/CD with Sauce Labs, the moment the development team commits the code for a different set of devices and browsers, it immediately triggers the Sauce Labs pipeline, and we can get the results at the same time when testers and developers log in.
The immediate feedback with every code commit affects the development processes. It depends on the file or script size that we have. For a small number of scripts, it takes one or two hours.
The immediate feedback helps to deliver software faster. When we do manual regression, it takes 40 hours of time. With Sauce Labs, the duration reduces to 20 hours, so the cycle of delivering the code is much faster.
We run our tests in parallel on Sauce Labs. When you have 50 scripts and you run them in series, if each script takes 10 minutes, then your execution time would be 500 minutes with one machine or one instance of a browser. If you have Sauce Labs with five parallel instances, you can run five tests at a time, which will save a lot of time.