Future of software testing based on learnings from Selenium and Robot Framework

Apr 06, 2021 / by Qentinel

Tatu Aalto, the Senior Software Developer of F-Secure, tells a story about his journey in the software testing field. He is currently a lead developer of SeleniumLibrary and participating in the Browser Library as one of the core team members as well. Aalto shares his insights on software testing, open source, and outlines views for the future.

From accidental start to the role of the leading developer in Robot Framework SeleniumLibrary

Aalto started his career in software testing almost by accident. His first job was at Fujitsu which was called ICL Invia back then. He was still studying at the time and ICL informed immediately, they wouldn't hire first year students as coders. Aalto was offered a testing job and took the deal. That's where it all started.

Now Aalto is the lead developer of the SeleniumLibrary. SeleniumLibrary is a web testing library for Robot Framework that utilizes the Selenium tool internally. The basic principle in SeleniumLibrary is that one keyword does only one thing and does it well.

Aalto used SeleniumLibrary for the first time at the beginning of the 2010s. He wasn’t yet very familiar with test automation back then. Working with Selenium and Robot Framework architecture gave him the first experience of working with robots. 

At the time, Aalto was working with a ship speed optimization system. It measured how fast the propeller needs to rotate so that the ship arrives at the port at the right time. The system also had a map that had to be able to mark a route. However, there weren't any functionalities ready for this in SeleniumLibrary yet. Variables such as map sizes, points on the map, and different screen sizes created challenges.

It took about a year after getting acquainted with SeleniumLibrary, to get a closer look at what is found under the hood, Aalto explains.

Aalto is working to better fit Selenium for browser testing

SeleniumLibrary has been maintained by many before Aalto. Several turning points in Selenium Library are also attached to the changes in Selenium. SeleniumLibrary also has certain limitations in automating test cases, although the limitations come more from Selenium:

  1. Selenium is bad at recognising when something should be done to a particular element, e.g., clicking. Selenium is in itself very good at doing various functions but usually does them too quickly. In this case, however, it must be ascertained whether the application under test is ready to receive that interaction.
  2. There are quite a few keywords in Selenium Library. Aalto has also been developing a Browser library that mimics assertion engine thinking. Here, keywords are based more on unit testing, meaning you can do more things with one keyword. In Selenium Library, more keywords are often needed to accomplish things.
  3. Selenium is a very free architecture and SeleniumLibrary follows this as well. This means that the user is responsible for many aspects of environmental management. For example, the user must be able to choose the right browser and the right driver for the browser, making sure that the browser is installed correctly. Also, you must have the correct version of Selenium and SeleniumLibrary. Aalto mentions that many other libraries which do browser testing handle this simpler.

SeleniumLibrary is one of Robot Framework's biggest libraries. In addition, it is the king of the hill out of browser test frames. Mainly, because it has been around for over 10 years, so a lot of users know about it. It still has its challenges since other libraries handle some features better or easier, thus making testing easier. On the other hand, the possibilities for the future are outlined and the energy can be focused on making testing feel more like Puppeteer and Playwright.

Exploratory testing will remain and automation is expanding to AI

Aalto thinks that the future of test automation looks interesting. There are hundreds of thousands of test runs per day on a single team alone, and on a good day, there may be a little less than 1000 failures. There have to be tools that will screen through the mass of test results in one way or another. Various visualizations and the use of artificial intelligence in data screening will be needed, as the amount of data is shocking. The amount of data is constantly increasing and huge amounts of it will come from test automation alone. It's necessary to start building and using tools that are able to decide whether you can release in production or not, is everything ok enough, and how to stabilize things. 

Artificial intelligence can be utilized in testing in many different ways. Exploratory testing isn’t going anywhere, even if you get new tools to support it. Exploratory testing is still needed. Test automation just makes sure everything still works the way it did yesterday. The importance of test automation is going to grow. That is, the roles are growing and there will be people who do data analytics based on test automation, or who develop artificial intelligence products for you to do test automation with. The roles will only diversify.


We love open-source and as a gesture of giving back to the community, we offer a free plan of our software testing platform Qentinel Pace for anyone from anywhere in the world.

Start Free Trial

 

Topics: Software Testing, Test Automation, Robot Framework, Software Development, Test design, Test architecture, qweb, open source

Qentinel

Written by Qentinel