Pekka Kiviniemi, Senior Test Automation Expert and QWeb developer tells his story behind the development of QWeb automation library. Pekka thinks the best thing about test automation is the automation of boring repetitive tasks which are better to leave for robots.
1. Tell something about your background and how did you start your career in the testing world?
I didn't plan any testing careers, but I was recruited as a software tester for Data Fellows after I graduated. Testing was done manually for several years until we started automating test cases. The first successful test automation project I was involved in was product licensing. I learned a lot of Python in this project, and Python's expandability impressed me. It was easy to make our own mock licensing servers where we could change license states during test runs.
2. Why was QWeb initiated and what have been your personal learnings related to it?
We wrote the first version of QWeb when we were piloting test automation for Finnish Tax Administration in a project that started in October 2015. New replacement software had a web interface, but references to buttons and text boxes would change randomly. Conventional id-based test automation would be impossible to maintain, so we needed an alternative solution. I noticed that each button or text field had descriptive text for users next to it. I wrote the first PaceWord TypeText and was surprised to see it worked everywhere in the application. ClickText and VerifyText soon followed, and they are still the most used PaceWords today.
When I started writing the first version, I was not qualified for it. While I was solving problems, I slowly became an expert in web testing. I feel this growth and getting new skills are among the best parts of software development.
3. What problems you are solving?
For several years I have strived to make myself unnecessary by developing tools and methods. Usually, test automators help testers in finding elements and writing workarounds around unique web pages. QWeb goal is to automate tricky stuff so testers could write what they want, and QWeb does the rest.
4. What do you think about open source and what has been your experience with library development?
We developed QWeb as an internal open source project inside Qentinel. Anybody who had time and was interested was able to contribute. We had skilled people not only writing code but developing CI pipelines and automated tests.
I like that there is room for different skillsets in open source. Now that more projects are taking automated testing in use, there is a need for test automators in open source projects.
5. What is your learning style?
I have a very hands-on learning style. When I run into a problem, I use the usual programming resources from the internet.
6. Who do you admire personally in the test automation & open source area and why?
Antti Heimola from Qentinel has influenced a lot in how I think about test automation. His work as QWeb architect was essential and shaped QWeb to be what it is today. I worked with Maaret Pyhäjärvi at F-Secure, and I admire her accomplishments in software testing. I watch all Raymond Hettingers Python videos, he is a great speaker, and I have learned a lot from him.
7. How do you see the future of software testing and test automation?
I have seen several low-code and no-code test automation frameworks appear. I believe organizations want to take advantage of everybody's knowledge and not limit automation to automation experts. Machine learning and AI have been talked about a lot. I think these new tools can help by translating human-readable instructions to robot actionable automation steps.
Contribute to QWeb development and become part of the ever-growing community 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.