There is little argument that automated testing has emerged as an industry best practice. Yet, there remains a wide variety of adoption and maturity in the market. While automated testing is imperative for DevOps maturity and success, I see in my work several popular canards that often stand in the way.
Reject these five common myths within your organization to improve your testing maturity and propel your DevOps objectives.
Myth One: We Don’t Have the Time to Slow Down and Add Automation
You don’t have the time not to add automation. Your competitors are most likely already automating their test processes, and are reaping the benefits from it. For example, companies like Amazon and Netflix have instituted end-to-end automation that allows them to push builds to production in record time. Organizations like this have become juggernauts as they are able to quickly address customer expectations with new software and services at the speed of the market.
While Amazon and Netflix are obviously examples of extreme automation, moving down the path to automated tests will begin the process of adding distinct benefits to the organization. Benefits that will grow key business goals like reducing time to market, and growing quality that ensures customer satisfaction. For example, automated testing brings with it higher accuracy rates, greater code coverage, enhanced detection of bugs and greater reusability.
Myth Two: Automated Testing Is Too Difficult and Frankly, Just Not Worth It
Automated testing is worth the investment. Much like insurance, the added time and expense to begin integrating automated testing into your processes are necessary trade-offs to reduce business risk. Automated testing helps reduce failures, avoiding all-hands-on-deck type emergencies—and, honestly, at 5 p.m. on a Friday, wouldn’t you rather not fight a four-alarm blaze? That said, automated testing should not be a singularly focused QA effort. Good quality efforts really should be organization-wide initiatives.
Automated testing is less difficult than trying to engineer quality at the tail end of anything. If you do not have any test automation in place today, consider starting with an assessment. Identify areas where automated testing is needed and begin addressing those gaps in a prioritized manner. While your ultimate goal may be to automate every gap on the list, start small, take steady steps towards your goal and be sure to celebrate early wins. A parallel approach enterprises take when getting started is to build automation into greenfield projects, which gives them automated tests out of the gate.
Myth Three: We Have to Hire a Specialized Person
I think the Washington Post would give this claim four Pinocchios as it is blatantly untrue. Anyone on your team can learn the needed skills to start down the path to automated testing. And, honestly, learning and growing in your field is an important skill in-and-of-itself as new trends, technologies and tools emerge on a seemingly daily basis. Learning how to add automation to the testing process can help create a virtuous cycle, too, where you will see dividends paid back in time savings from the time you took to learn these key skills. And, the faster feedback loops will make you and your peers more efficient and effective.
Some may counter-argue that there are specialty testing types such as PCI testing, for example. And, that a specialist is needed for these. Yes, many teams have special circumstances that require special tests. However, don’t let this myth be an artificial roadblock here, either. For, there are many automated tools on the market that will help ensure success with these special cases. Moreover, many of these tools are platform-agnostic, making for easy adoption.
Myth Four: We Have to Automate Everything
This all or nothing viewpoint is just not true as it is not possible to automate everything. While I would encourage some tests, such as unit tests, to have a test for every line of code, other tests like front-end tests would be particularly challenging to automate. The greater the organization’s maturity, the more nuanced their view of when and what to automate. Conversely, an “automate everything” approach is a sign of a less mature enterprise.
On one hand, I see organizations that have completely automated unit testing and have developed a tailored approach for front-end and performance testing. On the other hand, I see organizations with little to no automation where software is rushed out the door and dev is not given any time to develop unit tests. In these cases, software sent to the market is not fully tested—and while rare, sometimes it’s not tested at all.
Bad code is risky to a company’s customer satisfaction, reputation and customer loyalty. Going back to test code once it has shipped is a multi-fold lift compared to doing it as an automated part of the development process. Automation also makes it easier to make improvements to existing features in your software or infrastructure. When you have automated tests in place (especially unit tests), you drastically reduce the amount of time refactoring and enhancing takes.
Myth Five: Continuous and Automated Testing Are Synonymous and We Don’t Have the Resources for Continuous Testing
While continuous testing and automated testing are related, they certainly are not the same thing. You can’t obtain continuous testing without the help of automation. However, you can have automated testing without continuous testing. On the spectrum of testing maturity, continuous testing is certainly at the far end as it requires DevOps processes, pipelines and automated reporting as prerequisites. If your organization isn’t at this level of maturity yet, that is OK. Start small and work your way toward continuous testing as a gold standard. For example, consider running unit tests with each new build, implementing a fast feedback loop to development several times a day.
According to a survey by QASymphony and TechWell of testers and QA leaders at mid-size and large enterprises, “widespread test automation adoption still has a way to go, with more than three-quarters of respondents automating less than 50% of their testing.” Yet, it’s important for organizations to speed their processes in order to stay competitive in a quickly evolving marketplace. Dispel these myths within your organization to begin competing more effectively as you progress your automated testing maturity.