How The Modern Web Test Automation Is Changing Our Lives

Written by najwa | Published 2021/05/14
Tech Story Tags: self-healing-ai | test-automation | frontend | frontend-development | web-development | automation-testing | code-quality | automation | web-monetization

TLDR The web test automation world is lately seeing a swift evolution. The modern automation tools ensure that they regularly add'magical' updates into them, which never existed in the recent past. This is because, in the past decade as an automation developer, I have seen 'unimaginable' features added into these tools that have helped us immensely - the solutions look magical. Self-Healing AI features to ensure that the tool can fix or heal the code by itself without any intervention.via the TL;DR App

The web test automation world is lately seeing a swift evolution.
The modern automation tools ensure that they regularly add 'magical' updates into them, which never existed in the recent past. And they are community-driven as well. We are lucky to be in this era!
I have a reason why I call them 'magical’ features. This is because, in the past decade as an automation developer, I have seen 'unimaginable' features added into these tools that have helped us immensely - the solutions look magical. Let me explain in detail.
The thought of the importance of thinking towards "unimaginable" solutions to situations came into my mind when I read a fantastic book called "The Secret." The book mentioned a statement –
"Thoughts become things."
The book mentions how thoughts can become a reality with the power of manifestation. Of course, the book portrays the philosophical context of how beliefs manifest into existence.
Now, let us get into the test automation context and apply this quote. Haven't you had "thoughts" about how we hoped the test automation tools had certain features? Have you thought -
"I hope the tool had XYZ feature...",
"I hope the tool wouldn't have this issue…"
The above thoughts have somewhere driven the automation world towards creating magical solutions! Why? Because some of them in the automation world community worked towards manifesting solutions and implementing solutions to situations.
Want to know how? Think back. Isn't it true that we as web test automation developers faced issues with the web test automation tools that had -?
  1. Imaginable solutions?
  2. Un-imaginable solutions?
Let me explain.

What do I mean by imaginable solutions?

These are straightforward solutions to mundane issues that we saw while using our automation testing tool.
For example, when we noticed that the test repository took time to save what we created, we would report a ticket to the automation product page. And then, someone from the product support team would help us resolve the issue.
Here, we were optimistic that someone can and would solve the issue - We 'imagined' solutions.

What do I mean by unimaginable solutions?

The unimaginable solutions are those issues that we laughingly joked that perhaps only magic could solve!
For example, have you seen such situations, such as –
Case 1 - Test suites crashing because of just one WEB UI property change?
I remember a day when we triggered a regression test suite containing 100+ tests for the nightly run. It usually ran with no glitches. However, this time we had a surprise waiting for us the following day – the test suite had failed!
We worried about the time we had lost – the whole night.
We debugged and found that the developer updated the login button’s property. Because the developer had not informed us about this change, we had not updated the automation code. As a result, the automation tool had failed to recognize the login button.
The result was a massive chunk of tests failing.
And what did we hope that day?
We hoped that the web developer had informed us about the login button widget ID change before we triggered the execution.
We didn't imagine ANY other solution!
How is this today one of the unimaginable solutions which have become a reality? The answer – using Self-Healing AI.
Want to know how self-healing AI works?
Self-healing AI features to ensure that the tool can fix or heal the code by itself without any intervention! Sounds magical, right? When I watched this feature function in one of the modern test automation tools, I was amazed!
In the case above, even if the developer would not have informed us about the widget property change, the code will fix itself – and no tests fail! Also, the resources usually spent on script maintenance are saved and people, money, and time.
Let us explore another situation.
Case 2 - The application under test has an inbuilt feature that functions such that the widget's ID to update every session?
We dreaded this type of application in the yesteryears. We had to try to figure out how we could code to get the automation tool to recognize the UI Widget in every new session.
Eventually, the test automation team shifted focus away from solving the business problem, which was not good.
Some of us didn't imagine any other solution here as well!
Of course, we did hope that one day we would see a solution to this as well – something magical! We hoped that we could build the most resilient logic to resolve this issue.
We didn't imagine ANY other solution!
How is this today one of the unimaginable solutions which have become a reality? The answer – again, using Self-Healing AI.
Remember the example I mentioned above? Let us see how it helps.
In this case, we don't have to build the code anymore to resolve to recognize the expected property change for every new session. Instead, the automation tool that holds the Self-healing AI feature resolves it inherently by itself. The modern tools can identify the widgets using the other properties which haven't changed between sessions.
The result – we can now shift our focus towards building automation code to solve the business goals.
Case 3 - The client asking for a ‘100 percent' test coverage test suite urgently?
When this happened, and worse, we panicked if we didn't have testers and knowledgeable BAs around us to build tests urgently.
And what did we hope whenever this happened?
We hoped that our testers were available to build the test suite. It happened that the testers and BAs were busy with some other essential project deliverables and so couldn't come to contribute to this activity urgently.
Usually, in such a situation, we had to inform the client to wait for this—the result – an unhappy waiting customer.
We didn't imagine ANY other solution!
How is this today one of the unimaginable solutions which have become a reality? The answer is – using Automatic test generation using AI/ML. Tools nowadays have capabilities that learn the application and generate tests! Along with this, they even have defect prediction capabilities.
Yes, we can use the AI/ML-enabled test automation tools that hold this feature to build tests independently. An automatic test architect to your rescue! Internally, the tool learns and generates tests automatically for you.
Amazing, isn't it?
Let us explore another issue we used to face in the yesteryears.
Case 4 - The client asking for a massive manual test suite to be automated ?
Whenever the clients planned such automation strategies to automate massive manual test suites in the yesteryears, it involved hiring a big team of skilled automation developers to create test scripts.
Hiring involved interviews assessing their automation tool knowledge and programming language. It was not easy.
We didn't imagine ANY other solution!
How is this today one of the unimaginable solutions which have become a reality?
The answer is - Zero or Less code test automation platforms. These platforms make test automation possible even by citizen developers. As a result, even someone with no or basic programming skills can swiftly build automated test suites.
Thanks to these tools, we see automation test solutions built with ease, speed, and high quality.

Conclusion

Those mentioned above are just a few stories that I have shared.
Similarly, we in the test automation community have seen how the test automation tools like TestProject.io, Functionize, etc., have unfolded unimaginable solutions. Thanks to AI/ML, all this has become a reality.
I would like to leave you with the following thought - Isn't it something to reflect upon that we must start imagining solutions to the unimaginable scenarios?
Why? Thanks to some great minds who did imagine solutions to these unimaginable situations, we are today having these fantastic tools to our advantage. These people had thought out of the box and built solutions into the web test automation tools with AI/ML. It happened because they perceived that anything is possible.
Hence, similarly, all of us have to start doing the same – keep imagining, keep hoping, keep acting on situations that we can work towards resolving.
Eventually, together, we can build many more unimaginable test automation solutions. We just need to think together and start working on solutions together!

Written by najwa | Automation developer
Published by HackerNoon on 2021/05/14