This post highlights a community expert, as a part of the Test automation blog series.
Ramona Schwering is a software engineer with a background in quality assurance. She is also a Google Developer Expert in web technologies. Ramona is passionate about test automation. She has made significant contributions to test automation through her public education efforts, which include speaking at conferences, publishing articles, contributing to open-source projects, and organizing meetups.
Jecelyn: What was your route into web development and testing?
Ramona: My journey towards development began through my love for art: In high school, I spent a lot of time drawing and creating illustrations I wanted to publish. However, I wanted to use something other than DeviantArt and Animexx, so I created my own website. This led me to learn about web development. Later on, I developed a passion for test automation during my first job. I wanted to eliminate the mundane testing tasks so that I could focus on tasks that required human creativity and experience.
Jecelyn: There are so many test automation tools. How can one learn them all or know which to choose?
Ramona: This is a really good question. First things first: Although it's certainly good to play around with many automation frameworks, don't feel pressured to learn each and every one. Start with building small projects or write a first small test to see if you like the experience and quirks of a framework. It's fine to decide on one or two that match your requirements and are to your liking. I prefer choosing by trying out and seeing if I like the developer experience of a certain framework. I try to find out if it feels flawless to use. Remember, testing should feel like a habit, not claiming any headspace. And, of course, it depends on the project you build and its requirements.
Jecelyn: Testing is often delayed until the end of the process, like, "Oh we don't have time for that yet." What's your take on that?
Ramona: Writing tests takes time for sure, especially if you decide to use Test-Driven-Development. However, I guess it's a common misconception that testing eats up A LOT of time: I would consider it an investment that has many advantages: You get early feedback, and thus you can fix bugs earlier, leading to lower costs of bug fixing because bugs don't accumulate and won't get more expensive to fix at a later stage. Apart from that, the more you automate, the less you need to test manually but you still get a great overview of the status of your project. So, in my opinion, it's actually the opposite—tests will save you time and give you confidence without constant effort.
Jecelyn: Tell me about the culture of test automation at your company.
Ramona: In my current team, testing is considered a shared responsibility—everyone owns it together. We implemented a process called "Quality at Speed," which was originally introduced by Atlassian. This process ensures that testers only act as a safety net, deciding whether a pull request requires testing or not. Therefore, developers cannot rely on the idea that the tester will take care of everything. Instead, developers and testers work together with the help of quality engineers who act as coaches and teach developers how to test. Developers write the necessary tests for their changes, and if quality engineers think it's necessary, they will complement those tests later on. This approach increased empathy between developers and quality engineers and allowed them to work together while sharing the responsibility.
Jecelyn: You are participating in so many community activities like speaking, writing, and contributing to open source! How do you find time and balance that?
Ramona: I feel fortunate that my employer supports my public speaking engagements, which means I don't have to take days off from work when attending conferences or preparing content for talks. However, I must admit that I still use some of my free time for public learning. To manage my time effectively, I've adopted a time-boxing strategy where I dedicate, let's say,two hours each day to, for example, contributing to open source projects, writing my articles, or rehearsing my presentations. It's crucial to take a break for the day after these two hours to have enough leisure time. Although there are times when this approach doesn't work out as planned, generally, it has helped me strike a good balance between my work, my community engagement, and personal life without neglecting any important tasks.
Jecelyn: Is there any advice that you wish you had heard before you started working in test automation?
Ramona: It's important not to become too biased towards a particular solution framework and prioritize it over solving the actual problems at hand. Our ultimate goal is to provide the best quality and user experience for our users, and any framework can help us achieve that. Therefore, it's best not to engage in framework wars. At the very beginning of your testing career, I'd advise you to start by learning the fundamentals of testing and test automation, and only use frameworks as tools when necessary.
Jecelyn: How do you manage to keep up with test automation and web development?
Ramona: I enjoy keeping up with the latest trends and innovative ideas by monitoring news sources and social media. However, filtering out relevant information can be difficult, so I make sure to follow reliable sources and individuals. I also consolidate my sources by using features such as Twitter lists and bookmarks. Here is one of the list of sources I followed. Attending conferences and meetups is another way I stay informed, as I can learn from talks and engage in conversations with other attendees.