TestCon Europe 2020
Vilnius and Online
Director of Technology
Adam Sandman was a programmer from the age of 10 and has been working in the IT industry for the past 20 years in areas such as architecture, agile development, testing and project management. Currently Adam is a Director of Technology at Inflectra Corporation, where he is interested in technology, business and enabling people to follow their passions.
At Inflectra, Adam has been responsible for researching the tools, technologies and processes in the software testing and quality assurance space. Adam has previously spoken at STPCon (2018-2020), Swiss Testing Day (2019), InflectraCon (2019), TestingMind (2019-2020), STAR Canada (2019), and Agile+DevOps (2020).
Testing the Moz500 Top Websites – Artificial Intelligence & Machine Learning Can Help
As a research project to see why test automation of web applications is so hard, and why our Selenium scripts seem to break so frequently, we ran an experiment to analyze the top 500 (ranked by Moz) web sites to see what patterns we would find that could be optimized by either AI or ML. Unlike other presentation technologies, web applications present a uniquely difficult challenge for automation. They are written in a plain text markup language (HTML) that follows many conventions and rules (e.g. unique IDs, use class names for styling), but browsers are so forgiving, that many of the rules are ignored since they are not enforced in any way. This causes a huge challenge for automation because the developers of the apps often use frameworks that make it hard for automated test scripts to reliably locate elements and perform user actions.
In this talk we will present some background on the problem, then detail our findings from the research experiment where we analyzed the top 500 websites by downloading their DOM trees and performing big-data analysis see how best practices developed in theory will work in practices with these sites. The talk provides suggestions and ideas derived from the data about how we can create more reliable tests. It discusses tools and techniques can be employed to make automation scripts easier to create and maintain. Finally, it suggests ways in which we can use a combination of Artificial Intelligence and Machine Learning to automate some of these solutions, and make tests self-healing.