Search

Topic | AI / ML and codeless solutions for automation testing



Each time you add Ai or ML to a tool It wins interest, people think oh dam is intelligent sure worths pay the price.


There are a lot of new products and platforms that offer a codeless solution with AI / ML that will solve your life and will be the future of automation testing ... sorry I can't stop laughing at this :D


We are going to see what they do and the problems of using these codeless platforms.



Record play, record play, and repeat


Record-and-playback test automation tools ruled one up time, but now with more complex apps they always end up needing features that don't have making testers had to replace them with test automation APIs that were geared more toward programmers.


I remember having this simple behavior, apply a filter on a list, verify each element in the list have the correct data, so the filter is applied correctly. Then export the results to Xls file and verify the exported file has all the data correctly.


This can be done with selenium and with any xls parsing library, but there was no way to verify it on a codeless app. This simple example shows that modern applications have far more use cases that these tools can cover.


Not to mention that play and record tools that "work" are paid ones, so all your code and your business model have to go around these companies.



The AI and ML they offer


Most of these applications record information of your app and show logs with info when the test fails like if there was a change in the html element, a failed xhr request and so on and also offer self-healing and unbreakable locators.


Extended reporting


A good reporting is a must-have for automation testing and will save you a lot of time finding the real error, debugging and rerunning tests. So this is a good point for these tools that have a good reporting with info and video recording, but again is nothing you can not add to a regular cypress or selenium project, just needs the time for the implementation.


Smart element locators and self-healing


This is the magic word for the ai and ML on automation tests, unbreakable selectors a tool that will find the expected element and will be immune to the little changes in the html.


There is really an AI like Skynet that will find always the correct locator? Sure no... let's dismount the magic. For example, this tool https://www.testim.io/ gives stable selectors, how?


AI algorithm that calculates a lot of locators for a single element, and with multiple tests runs is able to predict the best selector for the element and update the locator in case of need, which is called self-healing.

This can be easily done with a library like this one https://github.com/antonmedv/finder that is able to calculate multiple precise locators from an element.


One time you found an element, you store all the locators for the element and give a priority. If the first locator fails, try the next one and update the list order ... whoala you have the AI algorithm that finds the best locator for the given element.


All these smart selectors can be done with regular selenium, you don't really need an AI / Ml model to find elements.



Conclusion


At the moment there is not an ML or AI able to just run around your app and find bugs, not today, not tomorrow.


The interesting benefit of AI and ML in automation is when a large company like Intel, has to decide which tests add to the suite because they have a lot of test combinations for the next release and no time to test all of them.


An AI that decides the best tests to add to the suite to be able to cover the product at the specified time is a really helpful tool.



Final notes


As a final note have to say that most of the companies that have a private product with a play and record solution with AI or ML have nothing special that a regular developer can not do with a tool like selenium or cypress.

5 views

© 2020 Qa lemming