Composed by Eric Finver – Managing Principal at Mammoth-AI (LLC)
Test Automation Discussion – Why Test In The First Place?
Back in grade school, once my nightly dinner was sufficiently scoffed, I would rummage through my backpack, grab my Math text along with the composition paper, and rifle through a myriad of equations ahead of the 7 pm nightly sitcoms. The nightwatchman – my father – would lean in with “if you’re going to rush through it, you’re bound to make mistakes!” Followed by “if you make a mistake early it will cost you dearly.” Testing software has brought back a fondness of those vivid and woebegone memories of “the watchman” and his simple truth, “when you rush, errors are bound to happen.”
The Pressure Because Of Not Having Test Automation
With continuous pressure, IT groups need to deliver innovation at faster turns has led to the adoption of Agile frameworks. And yes, Continuous Integration and Delivery models as well. Unfortunately, testing the work products produced under these models has yielded two outcomes; blown budgets and/or releases fraught with bugs and risks. In the Capgemini World Quality Report 2017–2018, senior IT executives who responded to the survey said they expect to allocate 32% of the total IT budget to testing by 2020, up from the current 26%. Fast forward to 2020 and some set the current spend at the north of 35%. Clearly, IT costs continue to rise and containment, on any front, becoming a choice of first resort.
DevOps & Test Automation
Enter in the second coming of “Good Enough” software; development operations (DevOps) teams facing a choice between cost overruns or testing only what is expedient and most critical before releasing code to production. But skimping on proper and thorough testing has its very risky pitfalls. Top of mind is the recent travails of companies like Robinhood.com – costing many thousands of customers large sums of money when its platform recently failed to scale during the latest market downturn – a result of the Coronavirus pandemic. Nor can one ignore the two Being 737 Max air disasters costing many billions of dollars, not to mention precious lives and impact to victim’s families.
Testing Costs And Its Impact On Test Automation
With an increase in both the cost of testing and its importance, we ask. Will striking the right balance between budget and quality become even harder to achieve? To be sure, staying competitive requires finding a way out. And, to meet the rapid time constraints imposed by competition and regulations while still delivering a product of high quality. Thankfully, there are several ways to do just that.
Understanding Unit Testing Automation
Let’s begin with Unit Testing. It is the most basic and foundational form of testing. It makes it possible to catch bugs in the earliest stages of the SDLC. This is saving businesses thousands, if not millions of dollars (or even more, depending on the bug). Whereas, compared to implementing fixes at later stages – which is expensive. If your team is among the 58% of those surveyed. Especially, using Continuous Integration (CI) approach – then presumably they are infusing Test Strategy. And, effort into the front of the development process (also known as TDD or Test Directed Development).
Businesses And AI
In addition, many companies have taken advantage of using test automation as a tool to accelerate test execution. In a recent survey, 60% of respondents reported that test automation improves their ability to detect defects. 57% saw an increase in the reuse of test cases through applying automation. And 54% have seen a reduction of test cycle-time since implementing automation. However, automation is not a new concept. And, the biggest current bottleneck in the testing process is automating the creation of the unit tests themselves. So how can we accelerate the automation creation cycle?
Is AI The Future In Testing?
Enter the prince-bot on the white horse-bot – Artificial Intelligence in the form of Machine Learning. Are there solutions on the market that use machines to generate scripts autonomously? The answer is yes but be careful! With all the hype surrounding AI, many will claim to be using AI to automate testing efforts, but few really have the knowhow and features to direct the machine to understand the code functionality, accessors and validations that prove worthwhile. However, those that do can increase code coverage near 90% without any human intervention and reduce script maintenance by 70-80% – thus provide QA at velocity and scale, at costs that won’t bust the budget.
New Age DevOps Has Its Equation With Automation?
In an age when DevOps teams produce and deliver code changes continuously, testing becomes the Achilles heel of business performance. At-risk can be the health of the business and much more. With CI calling for daily or sometimes hourly delivery. The only way to manage quality and risk is to leverage automation. And, preferably, AI directed automation. Heed the warnings of the night watchman. Employ testing often and early, leverage automation and strike the right balance between cost and quality.