Mar 24, 2021 | 3 min read

Building Confidence in Deployments Using Automated UI Testing

By: Sean Sullivan

Building Confidence in Deployments Using Automated UI Testing

It’s essential to have confidence in the stability of the application you are building or maintaining. Testing at all levels helps build confidence, ensure features are working as intended, and deliver a great user experience. While it’s important to have a core base of unit tests to ensure code quality, you should also have a set of automated UI tests for core elements. Here’s how having these tests will give you confidence your product is working in tip-top shape after each deployment.

Automated UI Testing

The automation of manual test tasks increases overall software development efficiency and allows for more robust tools to be built. Automated UI testing is a process where machines perform testing on your web application to ensure users’ key pathways are continuously working. Instead of manually following key workflows, such as an e-commerce checkout process or a product registration form, a series of recorded tests can be executed to ensure your web application works correctly.

Because manual tests can be time-consuming and error-prone, implementing automated UI testing is a more accurate, efficient, and reliable method. Over time, automated UI testing becomes a cost-effective replacement to manual testing.

How It Works

There are plenty of options for automating UI tests, regardless of what stage you’re at in the automation journey. A majority of them are built on top of the popular Selenium platform.

There are great tools such as Chrome and Firefox Selenium IDE plugins for teams just getting started with automation. These tools allow teams to create a test by recording their actual mouse clicks and data entry as they navigate a key workflow. This quick method of creating test results can be executed with a single click by quality assurance team members whenever they are needed. This introduction to automated UI testing ensures the same tests are executed in the same fashion with the same information every time. Building confidence your deploys are good to go.

For teams further along on their automation journey, they may want to have tests triggered by specific events, like the deployment of a new feature, or at particular time intervals, such as every night. Several products can help accomplish this, including Selenium WebDriver and Robot Framework. These products enable team members to script tests for execution. The code written to execute the scripts can be managed in a central code repository, developed iteratively, and accessed by automation tools. These tools are great for building up a library of tests to ensure test coverage of various user paths on your web application over time.

Integration Tools and Benefits

Since the tests are stored in a central location, they can be integrated into your automation tools such as Azure DevOps, Jenkins, Github Actions, and many others. When your automation tools call your tests, they can be executed after every deployment. Once the tests are automated, it allows all team members the freedom to conduct tests on-demand across all of your hosting environments. The same tests can be run in the development environment and in production with a different data set.

Building Confidence in the System

Automated UI tests can be repeated on command whenever needed. By running automated tests consistently during feature development, teams can ensure that there are no ill effects when adding in new functionality. With nightly automated UI tests, teams can monitor the application to ensure changes to content or settings haven’t broken any of their key workflows. Automated tests build confidence in the system and ensure key functions of your web application are working continuously.

If you need help integrating automated UI tests into your applications, contact DragonSpears.

About Sean Sullivan

Sean graduated from the University of Toledo in Toledo, Ohio, with a B.S. in Computer Science and Engineering Technology. He's a Microsoft Certified Solutions Associate, Certified Scrum Master, AND has his CompTIA Security Plus Certification. Sean is truly a DevOps expert and has been working in various technology roles for 14 years.