How Automated Testing Helped Gannett Focus on a Quality Product Over Managing Infrastructure

Sauce Labs

When people hear the name Gannett they often think about our national brand, USA TODAY. But we also have 109 local media organizations across the United States.

Each month more than 110 million unique visitors access content from USA TODAY and Gannett’s local media organizations, making us the largest U.S. newspaper publisher by total daily circulation.

Dealing with that many brands makes building, testing, and deploying our applications a massive undertaking. I also oversee 30 teams and one of the biggest challenges is that we don’t have a lot of QA resources.

With the manual tests we were running before, something would always go wrong during testing. Errors quickly added up and caused delays in our releases. It was taking weeks to release to production instead of the days or even hours it should have.

Our goal is to try to align our automation technology stacks with the application technology stacks so the developers can own some of that responsibility of quality. I knew that in order to achieve that quality and scale, we’d need to automate our testing. 

Testing your apps shouldn’t be a bottleneck, it should be a crucial part of building quality in your app.

I was brought on to initialize and spearhead test automation across all the products at Gannett. My role has continued to evolve over the years and my current focus is test automation architecture as well as ensuring we are driving the right testing strategies across the teams. It’s imperative we build in all the right quality gates from the beginning so we can get our applications out faster and ultimately provide a better experience for our end users. 

Finding a Solution

Speed and quality are byproducts of alignment, and our old testing strategy was producing neither. We needed a solution that would empower our dev teams to own an application, from start to finish, so I set out to find a partner to accelerate automated testing. 

During our search, we evaluated a number of vendors, but one stood out head and shoulders above the rest: Sauce Labs. Even during the exploratory phase, they seemed dedicated to our success. They assigned us a Solution Architect who got to know our goals and environment. If we found bugs, he would jump on a screen session and share code so we could work through the solution. This helped us not only have a better experience with Sauce Labs, but more importantly made sure we were going to be successful with our proof of concept. It made the process with Sauce Labs feel like a partnership.

Now that we’re a customer, that same Solution Architect is an honorary member of our team. He jumps into white boarding sessions, helps us solve hard problems and, most importantly, helps us decide what not to do. For instance, recently we were stuck trying to decide between three different approaches to one problem. Our Sauce Labs Solutions Architect provided the insights needed so we could focus in on the best solution and get to work on implementation. In the past, I never thought a vendor would try to help that closely.

Cutting Down Our Test Time

Previously, our tests were very dependent on each other and took over an hour to complete. I wanted to start running them in parallel to keep our tests lean so we could run them across multiple Sauce Labs virtual machines (VMs). With how we re-architected our tests, we trimmed that hour-long testing time all the way down to five minutes. 

How @Gannett took testing time down from over an hour to five minutes using @saucelabs

In the past, everyone thought these tests were the bottleneck because it took them an hour. But now with the way we’ve re-architected our tests with Sauce Labs, we’re in a spot where building and deploying takes longer than running those GUI tests. 

As we move forward, using Sauce Labs is allowing our teams move faster. We’re trying to get that testing time down even further to less than three minutes. 

Using Sauce Labs, we’re also able to keep our workers down to just one. When a request comes in to build an application, if it needs more than one worker, we’ve architected it so that it will start spinning up servers on demand in AWS and as those servers come up we can start spreading that work out. If the build passes, we sign off and deploy the GUI application and then we start executing our automated tests against Sauce Labs. 

Because of the success we’re having, we’re upgrading from 40 VMs to 70 VMs by the end of the month. That will allow us to continue to move faster as we look to get that testing time as short as possible. As more teams are using Sauce Labs, this helps ensure there are no bottlenecks. 

The Whole Picture

For four years, I had been a contributing writer to Fixate. Through Fixate and elsewhere, Sauce Labs is always looking for ways to give back to their community as much as possible, sharing information and staying ahead of the curve.  

I initially got in contact with Sauce Labs by starting to write guest blogs for them on Fixate, where I had been contributing for four years. By being a guest blogger it exposed me to what they are about. Sauce Labs make you feel like you are part of the team and that they want you to meet your goals. 

On the professional side, one of my goals was to share my knowledge with others in the testing community and writing for Sauce Labs helped me do that too. On a personal level, guest blogging has helped me polish my writing, which is not something I thought I’d be doing, yet here I am. 

Invest in the Right Things

Trying to build all of this in-house is a way that some people would want to go. I have experience trying to build it in-house and the amount of time and resources it takes isn’t worth it. Sauce Labs provides a better solution where we can focus on more important things like building better quality tests rather than trying to build this solution that’s already provided. It also allows us to be faster to market with our releases. By testing not being the major bottleneck, we’re saving valuable time in our go-to market strategies. 

Don’t invest all your time creating your own infrastructure instead of using someone else’s.

It comes down to: do you want to invest all your time in creating your own infrastructure instead of using someone else’s? Companies like Sauce Labs are devoting their entire business model around making sure this infrastructure stays up and running, it’s reliable, and it’s fast. It’s not an easy process trying to do that on your own. 

Using Sauce Labs helps us stay focused on our core products rather than being distracted by managing an infrastructure. That helps Gannett stay competitive and provide the best experience for our users.