Top Reasons to Adopt Five Automated Testing
By Mick Whittemore, VP of IT Enterprise Operations, Paychex [NASDAQ:PAYX]
Enter Automated Testing.
We’re all looking to streamline processes, remove silos, and improve the quality and velocity of releases. Automated testing, which Forbes lauds as one of the top 10 DevOps trends this year, will play a huge role in accomplishing all three of those goals in 2018 and well into the future.
While it took a longer range multi-gen approach to build-out the foundation and execute on the shift from manual to automated testing at Paychex, it continues to be one of the most impactful transitions made by our Development and IT Operation steams. The bottom line is that a process that used to take a manual tester several hours to complete each time the test was needed can now be written in an automated fashion—and run repeatedly—in a fraction of the time. Test automation has completely changed the way we’re able to test software, producing increased quality and an ability to deliver products to market faster than ever before.
If you’re thinking about making the investment, shifting from a manual to an automated testing environment, consider these five benefits to make you feel confident in your decision:
1. Save time and money. We all want to contribute to our organization’s bottom line and the good news here is that automated testing can do that for you. While automated testing still requires a tester to invest the time to create the automated test on the front end, once written, the time commitment for human intervention is minimal. This enables smaller more productive teams, or a reinvest of resources into more product being built and delivered. For example, Paychex has created more than 13K automated tests that can be used by any development team within the organization.
Test automation is one of the key components in the Continuous Delivery flow and, as such, provides IT the flexibility and ability to quickly test in an on-demand way
This has driven down the number of manual tests run, which has allowed us to reinvest dollars previously spent on lengthy testing to other areas of our business—and also perform a similar reallocation of work for thousands of hours saved across teams.
2. Increase productivity. From a performance perspective, test automation scales to complete the testing cycle in a shorter amount of time. The design of the tests provides the opportunity for re-use by other teams. It creates repeatable processes than can be inserted at any point in the software development lifecycle. This provides faster feedback and allows a team to spend more time designing, building and releasing with increased velocity. All of this adds up to efficiency and productivity.
3. Deliver high-quality products to the market faster. Of all of the benefits on this list, this is the most important to your end users. Automated testing increases product quality because of its ability to continually add conditions to tests without adding significant time to test them. Edge cases can be added as they are uncovered, and no longer are SMEs (subject matter experts) required to remember something they ran across during the lengthy manual process. In an Agile world, the speed at which we can test allows us to work toward the elimination of manual testing, decreasing test coverage risk before production releases. All of this means higher-quality products reaching customers faster, and even improved production monitoring. As an example, today, we use 30+ automated validation tests to routinely run and monitor application health for our clients. Ultimately, our releases have greatly benefited from automated testing and increased our speed to market—something we only see improving in 2018.
4. Forge a positive shift in culture. The advantages of automated testing go beyond the functional aspect of the process. It requires the entire team to think differently and embrace a new mindset. Test automation is one of the key components in the Continuous Delivery flow and, as such, provides IT the flexibility and ability to quickly test in an on-demand way. Running tests automatically on a consistent schedule allows for proactive validation, as opposed to only testing after a change has been made. Automation also allows developers to use tests while coding to verify changes before committing to them. This shift in thinking— particularly about how and when we test—drives productivity and higher quality, breaks down perceived process silos, and encourages collaboration. At Paychex, automated testing aligns with our release processes in both production and non-production. In 2017, we completed nearly 190,000 total health and sanity tests as part of our standard release orchestration, allowing us to quickly identify defects at release time, drive up quality, and increase developer productivity. Today, more than two-thirds of automated tests are run automatically as a part of our releases.
5. Attract and retain top IT talent. The reality is that IT talent entering the workforce today expect an employer to be utilizing concepts like continuous delivery, agile, and automated testing. Especially for enterprise organizations, if you want to remain competitive in attracting and retaining the next generation of top IT talent, you need to be embracing “everything as code” concepts and automation.
At the end of the day, the way an organization goes about testing their software will determine who can get to the market faster with their product. For any CIO looking to take their team to the next level and win that race, automated testing is a key pillar in the process.