According to Deloitte, more than half of CEOs list AI and digital transformation in their top three drivers for 2021. But all too often, these initiatives leave people on the ground feeling under threat.
At Functionize, we use AI to power our smart software test automation platform. This allows you to deliver more test automation, faster, and more efficiently. The resulting benefit is clear for the business. But occasionally we find QA engineers feel like their jobs could be under threat. So, here we answer the critical question “What’s in it for me?”
The impact of AI
AI is undoubtedly revolutionizing the way we work. Deep learning has reached the stage where computers can outperform human experts in many tasks. DeepMind has created the world’s best Go player, the world’s best chess player, and it can even outperform doctors at diagnosing cancer.
In the world of business, AI allows companies to generate business insights from data that was otherwise lying idle. It lets them forecast demand with uncanny accuracy and in eCommerce, it allows for true dynamic pricing, driving up both sales and revenue. Banks can use it to spot fraudulent transactions, often identifying that a card has been stolen before the owner even realizes. In short, it is one of the biggest enablers of digital transformation. However, as with all revolutions, it can make people feel uneasy. As a test engineer, you might be wondering how AI will impact your own job.
How AI enhances test automation
Functionize is using AI to revolutionize test automation. Specifically, we are tackling the three key bottlenecks for software testing.
Our view is that creating smart tests should be easy. Architect is an AI-powered test recorder unlike any other, which builds a model of your application as you build your tests. You can just use it as a point-and-click test recorder. However, it also offers more advanced features. These include:
API explorer. You can interact directly with the API, making API calls within your test steps. Things like API keys can be stored as test variables and accessed whenever you need.
Custom selectors. Normally, our system uses Smart Element Recognition instead of selectors. This allows tests to find elements using millions of data points instead of a single identifier. But sometimes you may want to be more specific. We allow you to define your own selectors using XPaths, CSS, or JavaScrip. This gives you the ability to override the default machine learning based approach.
Test data management. Architect has full test data management built in. You can pass in data from CSVs, Excel, or SQL. You can store test data as variables for reuse later in the test or even to use across multiple tests. For simplicity, the system can also generate random data for you. This even includes working email addresses and mobile numbers.
A lot of your time is probably spent performing test maintenance. Debugging and fixing test scripts that failed because some part of the UI got changed or updated. Often, teams spend more time on this than any other part of testing, yet this work is completely unproductive. This sort of work is pretty unrewarding and you might feel like you never make true progress. Ultimately, many teams slip into spiralling test debt. At this point, they simply cannot deliver the same level of quality and timeliness of results any more.
Our approach relies on AI to eliminate most test maintenance. Instead, tests self heal whenever the system spots a UI change. Of course, these changes are flagged so that you can check if the system really got it right. You can rest easy knowing that tests self heal with 99.9% accuracy. For more complex changes, SmartFix will offer you several ways to fix your test. You simply need to choose the correct one and it will fix it and rerun the test. The upshot is, you now spend far less time on test maintenance and far more on the higher valued tasks that really matter. So, you can automate even more tests, perform more types of testing, and engage in better collaboration with your business or development colleagues.
There’s no point running tests if you don’t analyze and interpret the results. But test scripts only offer very limited results. As a result, they also only offer limited opportunities to analyze your application. Traditionally, the work around has been to rely on manual testing for complex test cases and automated testing for simpler cases. With AI though, you suddenly get access to much more powerful test analysis tools. For instance, Functionize allows you to automatically validate documents that are generated by your application. That means you can test systems that generate travel tickets, tax returns, etc. It also lets you perform visual testing powered by intelligent computer vision. You can tell Architect to verify the entire UI or a specific element, setting a threshold for how much it will vary between runs. If something changes more than expected, it will be flagged on a screenshot. Likewise, you can verify individual elements, such as logos, buttons, or images. The important thing is, the system constantly learns and adapts as your application evolves.
Three reasons why you should embrace AI-powered test automation
People often think that AI aims to make humans redundant. But the truth is, it will actually lead to a revolution in the type of work that needs to be done. That has been true of every major improvement in automation over the last two centuries. Here are three reasons to embrace AI-powered test automation.
- It won’t go away. AI is here to stay, whether you like it or not. 10 years ago, smart test engineers realized they needed to learn Selenium to protect their jobs. The smart money today is on AI-powered test automation. If you don’t embrace it now, you may find your career in a dead end. AI doesn’t mean losing your skills at coding, it means adapting them to a different set of tool and future-proofing your overall job skills.
- AI lets you focus on the application. AI-powered test automation allows you to focus on what matters. Quality engineering is all about ensuring applications are as reliable and stable as possible. At least, that should be the focus. But test maintenance means you often end up focusing more on the test script than the actual outcomes. AI-powered test automation solves that and gives you time to actually focus on improving how well the application is being tested. This definitively increases your value as a tester.
- It gives you new capabilities. AI systems like Functionize significantly expand the capabilities of test automation. For instance, you can easily do end-to-end testing including verifying file downloads. You can create complex data-driven tests and use auto-generated test data. Even better, you can share test variables between tests. You can even test long flows that rely on two factor authentication via mobile or email. These new capabilities create a more challenging and fulfilling work environment for you and your team.
AI test automation can transform testing for you and your career, not just your company. It eliminates the problem of test debt for your company. At the same time, you gain a greater depth of knowledge and a broader, more marketable skill set. As your testing becomes faster, more effective, and more efficient you will also feel a greater sense of overall job satisfaction. No more boring test maintenance, instead, you get to spend your time working on high valued tasks. If you want to learn more about how our system works, watch our new demo video.