Any good development process goes through the testing stage, whether that’s a trial and error review by your friends and family, or it’s a QA process done by a certified professional. More often than not, that testing is done manually or semi-automated by using tools like Selenium.
You may have heard of automated testing tools, but it might feel like a scary endeavor to set an automated UI test and you’ve avoided setting one up. While other automatic integration and unit tests are easier and more straightforward to deploy, more thinking and planning is needed for automatic UI testing, but the potential benefits are quite vast.
Automatic Web UI testing saves a lot of time, ensures higher quality, higher precision, and further enables continuous deployment. This has the added potential of transforming your business!
If you already have a CI/CD pipeline, establish separate steps in your code pipelines that only do UI testing. A good reason to have separate steps is the ability to optimize and maintain the tests in isolation of the other steps. Additionally, you can ensure that the build step doesn’t take too long and can run tests in parallel. A good example of this is to have 50 simultaneous login tests to check for brute-force attacks, stability, and performance.
One of the best ways to implement this step in your CI/CD pipeline is by using a serverless approach, or more specifically AWS Lambda compute service. We like doing things serverless, so we always prefer this approach.
AWS Lambda offers a high-performance solution that can run as many tests as you need in parallel, and you will only pay for what you use. There is no need to have any pre-provisioned servers or devices that you pay for even when you don’t use them.
Together with AWS Fargate and AWS Device Farm, you have the ability to automatically launch Web UI tests on the devices you need, in the environment you want to test and get detailed reports instantly. AWS Device Farm enables you to test on a wide range of mobile phones, while AWS Fargate lets you set up containers that you can run tests on.
If you’re already using Selenium-based frameworks to maintain a large set of tests, you can also connect it to AWS Device Farm. You can easily integrate videos, logs, and performance data since AWS is compatible with the framework.
AWS gives you a lot of freedom, but this can be time-consuming and complex. It’s important to get the right tools and services and to plan things well ahead of time to ensure that any future tests don’t require a lot of additional changes, are equally accurate, and provide quantifiable, detailed reports.