December 19, 2023

Automated Testing Case Study

Written by Zach Banister

Overview

Automated testing is an efficient way to fortify any QA program. By implementing testing automation, Fuel Digital takes advantage of core testing benefits such as:

 

– Saving Costs

– Better Allocation of Resources

– Guarantees Higher Accuracy

– Increased Test Coverage

– Detects bugs earlier

– Test at Scale

– Maximizes ROI

 

As Fuel has developed many web and mobile applications which we continue to support and maintain, it became essential that we can execute full regression testing in a more cost-effective way than is possible using manual testing. As we regularly update plugins, security patches, and other software, we must ensure the system remains fluid and functional. Automated testing has helped fill this need.

 

Fuel Digital has experience implementing automated testing on various projects and platforms. We believe that through automating our application processes, on both the front and back end, we can provide our clients with the best possible version of their project and a tool they can use for testing moving forward. By including automated testing in our CI/CD pipeline, we can assert tests before the build gets pushed to the next environment. In this way, we can constantly monitor changes rather than wait for active review.

 

This saves you and our team time which, in turn, saves you money. The added benefit and efficiency of automated testing is that we remove human error from the equation, yielding a better result.

Our Preferred Framework

Fuel Digital leans on WebdriverIO to complete its automations. WebdriverIO is an open-source testing automation framework written in JavaScript and running on NodeJS. It is particularly strong in its ability to test web and native mobile applications. WebdriverIO provides support for both Behavior and Test-Driven Development making it extremely versatile to leverage. The tool comes bundled with its own testing framework, making it lightweight and easy to set up and begin testing. Fuel also has experience with Selenium as well as using WebdriverIO in tandem with Selenium.

Automation vs. Manual

On the low end, we’ve seen our automations perform better at around 12 times faster than manual testing. On the high end of our automations, we’ve seen improvements of up to 240 times faster!

IMPLEMENTATIONS

Ticketmaster’s Ticketstoday switched from using Selenium in 2018 to Jasmine WebdriverIO. Fuel Digital worked with Ticketmaster in 2023 to upgrade and strengthen their testing program.

This Project Included:

– WebdriverIO version upgrade from v6 to v8

– Completion of entire code refactors from synchronous to asynchronous

– Strengthening of testing coverage for Fan Request, Administration, and mobile systems

– Implementation of new tests to coincide with features being added

Frameworks Involved:

– .NET 4.8 webforms

– React

– Visual Basic

Challenge:

Ticketmaster’s testing program needed an upgrade from its current version of WebdriverIO v6 to v8, as the latest versions of chrome synchronous testing were no longer supported. Thus, the project had to be refactored to asynchronous code. This was a massive overhaul involving reworking all test scripts, selectors and functions to match asynchronous requirements.

Solution:

Fuel worked alongside Ticketmaster to refactor their test scripts and upgrade their WebdriverIO version and dependencies. We were able to complete the upgrade far ahead of schedule and turned attention to expanding the reach and depth of the Ticketmaster testing suite.  Fuel helped our client provide validation for their request system. This confirmation process which involved the strategic positioning of API Calls to validate request status, success, and values – all while still verifying functionality through the front-end request interface. Our team also expanded tests to Ticketmaster’s administration area, adding a significant amount of coverage to existing and new features. Finally, we were able to bolster existing tests by adding extra assertions and layers of validation to create stronger and more consistent tests.

Glucroft Investigations / Filevine

Glucroft Investigations is a private investigation firm located on the west coast. Fuel Digital designed and developed a custom portal for Glucroft using React and .NET that provide a wide range of services tailored to fit their firm’s needs. Filevine is a cloud-based case management solution focused primarily on legal team collaboration and client communications. The integrated solution allows orders from Filevine to automatically populate within the Glucroft portal.

This Project Included:

– Jasmine WebdriverIO

– Automating order submission for all order types from both Glucroft and Filevine

– Automating administration and front-end validation within the application such as uploading attachments, creating new firms, filtering orders etc…

– Automating API calls

– Authentication

Frameworks Involved Included:

– Angular

– React

– .NET

Challenge:

Fuel Digital has been working and maintaining the custom Glucroft application for multiple years. Due to the size and complexity of the portal, Fuel created an automation repository that would provide consistency, increased test coverage and save Glucroft significant regression testing time. This solution provided a greater ROI by using a permanent testing project.

 

As part of a new client integration, Glucroft requested a custom external endpoint be created for a specific client. Our team faced the challenge of adding test coverage and validation for external API endpoints without ever mimicking a front end.

Solution:

Fuel successfully automated all order types and possibilities internally within the Glucroft application and externally through Filevine. Fuel was able to save Glucroft hours on regression time by providing validation for every incoming order type. Executing the completed test suite, Fuel was able to submit 50+ orders within minutes; testing not only load capacity and scale but order success. The validation for these order submissions went deep, checking for each expected field on a form and addressing error handling.

 

We were also able to automate admin level tasks and various other app functionalities. These included, but were not limited to user creation, firm creation, order filtering, attachment uploading etc.

 

For Glucroft’s new integration, they requested the ability to automate certain API calls to validate that an order had been generated successfully via their new external API and that the order existed within the Glucroft database with the correct information. This specific test ran in seconds and not only helped Glucroft and Fuel validate the endpoint was successful, but added additional validation by checking the data was present in Glucroft’s database after order submission.

Virginia Label / CoolerTags

Virginia Label is a Virginia- based label company that is the owner of a product named CoolerTags. Virginia Label does not have an IT team, so Fuel is responsible for all maintenance work and new feature implementations. The project involves 5 separate web applications that utilize PHP and Laravel.

This Project Included:

– Jasmine WebdriverIO

– File uploading / downloading

– Complexities surrounding nested form submissions, deletions and edits

Frameworks Included:

– PHP

– Laravel

– React

– VueJS

Challenge:

Virginia Label is a long-term support project for Fuel Digital. Recently they needed to upgrade from Laravel 5.8 all the way up to Laravel 10. The upgrade was a large undertaking that required dedicated QA regression at every checkpoint. We wanted to use this upgrade as an opportunity to implement testing automation for Virginia Label to reduce regression testing time and add deeper test coverage to a complex application.

Solution:

Fuel was able to focus on Virginia Label’s primary application product Coolertags and automate a variety of different tasks including uploading images, editing labels, generating products and brands, and checking project status. Virginia Label presented a complex front end that required a meticulous and expert approach to automate. Using custom functions and selectors that targeted elements deeply nested within the DOM tree, and were tailored to Virginia labels specific situation, Fuel was able to provide a wide range of testing coverage.