Our team at BitNinja tries to make a habit of visiting the great community conference called DevConf every year. It is an event hosted by Red Hat in the beautiful city of Brno in the Czech Republic. The presentations and talks take place at the Brno University of Technology (those buildings that are a unique combination of tradition and modern architecture, in my humble opinion).
This year I had the opportunity to dedicate almost a whole day listening to presentations and participating in discussions about testing.
The first talk I attended in this topic was about testing web user interfaces with Selenium, hosted by Og Maciel who’s a senior manager at quality engineering at Red Hat. Unfortunately, his session was cut short by the strict timeline, but he managed to present us the basic usage of the Selenium IDE, and even showed us how to turn manual GUI testing steps into Python code.
One of his best practice advices was to develop web UI code with proper CSS attributes and unique ids in place, because when it comes to testing that user interface, it’ll be simpler to work with CSS identifiers than locating DOM elements with XPath.
For example: an HTML element that looks like this can be targeted using the “main-section” identifier:
After this resourceful presentation, Anisha Narang - who’s a senior quality engineer at Red Hat -, hosted a public discussion about the learning opportunities of a professional QE, and the importance of working together with developers. It was good to see (and hear) that so many attendees got something to say about this topic.
The next session was about the Avocado framework which is a Python-based testing framework complete with test runners. The presentation’s title was “One testing framework to rule them all” and it was provided to us by Amador Pahim who’s a software engineer at Red Hat.
I also heard about infrastructure testing using Kitchen CI, and container testing using conu and MTF (an open-source testing framework developed by RedHat). These topics were all very interesting learning materials and each one of them would easily fill a blog post.
But for today’s article, I decided not to dwell into the usage of one of these great tools - but to summarize why I sincerely promote the idea of visiting (international) tech conferences.
1. Meeting inspiring new people
You can attend the sessions, ask your questions and hear other people’s opinion about specific topics. You can approach the presenters after the talks, give feedback and actively engage in conversations with them and other like-minded people from around the world.
2. Discovering new tools that can be useful for later work
I’ve heard about Avocado, KitchenCI, conu, MTF, Selenium, the Micropython language, and many, many more. You can find a lot of good information about these online, that’s for sure - tutorials, articles about why and how to use them, demos, videos, online discussions -, but to hear someone talk about it in person, share their experiences and opinions, and hopefully to see live examples is a great catalizator that can help you later when you try to immerse yourself in the topic. It has the power of human touch and I think it makes a great difference.
3. Team building with your colleagues
It’s a great opportunity to connect far from the workplace when you’re travelling together. You can talk about new topics and learn something new about each other. If you have spare time between presentations or at the end of the day, you can spend the free time together, too.
Simply put, I think that stepping out of the everyday routine, the comfortable home and the familiar streets of your city is good for your mental health. I’m sure there are countless publications about the benefits of travelling, so I’m only saying this: Go, if you have the opportunity!
5. Actively participate in workshops
Since we’ve planned to arrive early for a Micropython session, me and my colleague got to try out a microcontroller with our own laptop. It was a full workshop with the guidance of Stepán Bechynsky - some of us even got colorful LED lights to work with - and the tutorial is available on GitHub.
It’s was like studying at the university once more - and in a good way :)
6. Practice another language
In our case, all talks were in English. It’s good to actively use another language in an environment where your own language is not well-known.
+1. Finding open-source projects to contribute to
Since DevConf is an open-source event, it’s easy to find everything they talk about during the presentations on GitHub. It’s good practice to contribute: helps you learn, practice, be engaged and do real teamwork :)