When he joined Symphony a little over two years ago, Amir wanted to improve the existing notion of QA engineers in favor of time and work invested. Today, Amir Gudic - a QA engineer at Symphony with over a decade of experience - is really working on it. Without even hearing a question about the conversation topic, Amir immediately said: "I want to tell you about visual testing," so we just let the conversation go.
Connection Between System Engineering & Software Development
The IT world, he says, attracted him from the moment he started learning the computer basics. Up until today, he was involved in administration; he was a system engineer, a Java developer, and an explorer who embraced new things as they naturally presented themselves.'
"Back in high school, I made my first web page just to showcase the lyrics of my favorite black metal band at the time - Cradle of Filth. Imagine my delight when I realized this actually works! After that, I was always the first to raise my hand when it came to researching and doing new things," Amir recalls. At one of his previous companies, there was a need for a QA engineer. Since there was no such person on the team, Amir raised his hand again and volunteered to take on that role and responsibility.
"And this is how my QA journey started." He continued: "The process of learning to test was fascinating and it seemed to have passed very quickly. There were times when I understood everything and there were times when nothing made sense to me, but it all came down to those moments of enlightenment when I managed to connect the dots." He added that this was his first experience setting up QA from start to finish, but not the last, thankfully.
Visual Testing Is The Future We Want To Start
The opportunity to work at Symphony has enabled him to work on different projects and given him the chance to advance and implement new methodologies and processes. Such an approach to work, along with Amir's curious and research-driven mind, enabled him to work in a way that is relatively new in QA. He gladly shared with us - "I found a way to complement traditional Automated Testing and Manual Testing with Visual Testing."
Amir continued to explain, "After researching the best ways to sell QA Automation with visible results and metrics, we decided to try the aShot open source library. Of course, there are many other solutions like Percy (now acquired by Browserstack), Applitools, and others, but that would also mean we have to justify the extra cost to clients. aShot is a Webdriver Screenshot Utility, and its purpose is to take the screenshot of a page or an element, decorate that screenshot, and make a screenshot comparison to help us provide the concrete test results. For example, when we open a web page via a web driver, we can take a screenshot while taking into consideration aspect ratio, elements (ignored), pixels/colors ignored, and many more. The library selects and compares the baseline that we found to be identical to the web page’s current state. When we find differences during triage, we exclude the factors one by one - whether it's a bug, a color that has changed, missing text, or some dynamic element that needs to be ignored for other elements to compare. For example, sometimes the difference is in just one or two pixels - aShot opens a lot of doors and, above all, saves time."
In response to the question of why QA engineers should research and try visual testing, Amir immediately said: "Ultimately, the point of all this is to be faster, more precise with broader coverage and adequate and readable test results - that, in the end, is all that client may care about." The world of QA is vast - from manual and automated testing, where automated testing can be done in the manner of frontend or backend, to integration and performance testing - all of which change fast! Keeping up with the technology will keep us afloat in the future, at both the individual and company level.
We asked Amir what differentiates the QA work he does at Symphony from his previous work experience. He explained, "You get to a point in work where you know you need to take that one step to grow professionally. For me, this applies to working at Symphony. I recognized this as an opportunity to both share and expand my knowledge. And one of the greatest advantages Symphony has to offer are the people who are willing to learn and listen to each other. As QA engineers, our opinions are highly valued by every member of the team - and I think that's why we're open to new technologies and ways of working," explains Amir.
Amir is currently working on a guideline for visual testing with his colleague Berina Tiro, also a QA engineer at Symphony. They are working on the same project, and they intend to implement these guidelines to every future project. Besides, Amir is patiently waiting for safer times in terms of COVID-19 to host a Symphony Meetup on this topic.
Last but not least, we wanted him to give a single most important piece of advice to the QA community. "The work of a QA never stops, no matter the phase your project is in. Follow the trends, be patient, and do not let the day go by without learning something new."