A lot goes into making a perfect product for the end-user – from creating a flawless design to testing the actual system. And this is where Quality Assurance (QA) Engineers come in with their laser attention to detail and passion for putting things in order. In this blog post, we’re talking with one of the QA Engineers here at Tesonet, Laura Kasiulytė, about the skills you need to do her job and why developers aren’t the only ones that deal with bugs on a daily basis.
First, could you tell more about what you do here at Tesonet?
I’m a QA Engineer, and my main goal is to ensure that zero bugs go to production. We create products that are trusted by millions of people worldwide, and that trust has to be earned. Therefore, I have to find defects and holes in the system and fix them so that the end-user won’t find any. Now that may seem tedious, yet it’s actually immensely satisfying. What I do in a nutshell is break stuff that developers create 🙂 And then make it unbreakable. If you ever played with blocks as a child and would feel joy after making your creations fall to the floor – maybe you have a bit of QA Engineer in you!?
Many people imagine that QA’s are incredibly detailed people with a touch of perfectionism. Is it true? What other skills are helpful in this job?
Do you mean the so-called “Eagle-eye”? Definitely! As a QA Engineer, you have to notice every little detail and think about all possible edge cases that may happen. Sometimes you have to dig deep to find bugs. In other instances, perspective is everything, and wandering from the big picture may bring you a failure. As for perfectionism – you can be an extremely detailed person without going to extremes, but with quality assurance, of course, making everything perfect is the end goal. However, you can be successful at it, being a perfectionist or not. The other personal quality that’s necessary for this job is curiosity. Every possible question must be raised to reach a great result.
When working with new technologies or tech products overall, do you need to have a lot of technical knowledge, e.g., coding?
The hard truth is that the deeper you go into testing, the more technical skills are needed. A good QA engineer has strong analytical skills, is detail-oriented, and cares about quality. If one day you want to become a top-notch QA engineer, you must be relentless at deepening your technical knowledge. I know that this is hard to swallow for some people, but it’s just the way it is. And partly, this is where curiosity plays in – technical stuff isn’t dull. As it changes day by day, you get to learn new things constantly. And it makes it exciting. Another important thing is to be aware of product design and communication. Both are vital if you want to do an excellent job.
What would you say are the biggest challenges you face in your work and how you deal with them?
One of the most difficult, but at the same time most exciting challenges, is to test difficult and complex parts of the system. You have to be well prepared for it and make sure you understand how that specific feature works. If you have done your homework (learned everything you can about that particular part of the system), then testing should be a piece of cake – all bugs found in no time. However, you can’t just say that it’s the same challenge over and over again – every system differs and requires a specific level of preparation. So if you do it once, it doesn’t mean that you’ll do it again without a hitch. In this role, the rule of the result depending on your work and preparation applies. There’s little luck in this.
Let’s say you’re about to test a brand new tech solution. How do you go about it?
Well, it all starts with requirements analysis. I like to create diagrams, schemes and write out a plan of how this new feature should look and work (from the point of the end-user). Then, I create test cases for that feature. After that comes the best part – drumroll, please – the actual testing. Once it’s done and all bugs are fixed, a new solution is ready to see the light of day. It sounds like a smooth process, and in some cases, it is, but there’s much preparation for this involved, and you have to be extremely vigilant not to miss anything when testing.
Is there ever a moment when you say, “This is it, this product is perfect, and we’re done with it”?
Depending on the project – it can be a never-ending cycle as new features are implemented, or changes are made. But, of course, there are cases when you can say loud and clear that this is done and ready to go full-speed. What is fascinating about the IT world – it’s always changing, and there’s continuous development. There’s no room for mistakes – even little defects can make an impact on the user. These days they can choose what they think suits them best, and tomorrow it may all change. So we have to do our best to always stay on point and make sure that no errors slip through.
How does your workday look, and what do you like most about your job?
My day doesn’t have this one pattern or schedule – it always differs. As a QA, I do all kinds of stuff: creating test cases, requirement analysis, writing automation tests. Also, I have lots of meetings. The best part about my job is that I can learn from many great people who are experts in their field. I’m really proud that I have a chance to work with them!
What would you advise people who’d like to be or apply for a QA Engineer position?
Just do it! Developers don’t bite:) But seriously – if you notice that you like when everything is in order and details are your thing, then QA is the right job for you.