As the digital transformation initiatives are driving the IT ecosystem across the globe, the concept of Quality Assurance has redefined all the tech-based interactions. Especially, the introduction of Artificial Intelligence and Automation technology has enabled rapid development with an even faster launch time.
Since it is vital to take all the Quality Assurance interactions to a global stage in order to innovate and serve best to the users, BugRaptors stays connected with QA enthusiasts from across the globe to share and grab software testing best practices.
This time, our in-house expert and Vice President, Quality Assurance, Sandeep Vashisht interacted with Katya Aronov, Automation Engineer at Trax. Katya has strong expertise and understanding of Automated Testing Development. With experience of more than twenty years in software development, application engineering, automated engineering, and implementation.
She has managed and led so many QA teams while working on comprehensive yet advanced automated solutions. Katya even provides consultation to internal and external departments on the futuristic QA initiatives as she has proven her analytic and strategic abilities to handle the most complex and unexpected issues.
From appropriate prioritization to creative testing, she has all the organizational abilities to have a visionary approach to demanding roles where there is a need for extensive leadership and excellence. Katya has maintained a high mind of service and communication during all her career, establishing benchmarks for managers, colleagues, and subordinates.
Without taking much of your time, let us quickly jump on the conversation to understand Katya's perspective on QA evolution and the much-talked Web Test Automation approach.
Sandeep Vashisth: How do you become involved in the QA QE space?
Katya Aronov: After completing my Software Engineering studies in 2000, I start as a software developer.
Several years later I realize that I am missing a wider picture of the product that we develop. To expand my understanding of customers' needs I transition to the Application Engineer position in the Implementation and Support team and work closely with customers, getting to know their requirements.
A few months later, promoted to lead this team, I start connecting the dots between the end-users and the R&D by communicating the needs on one hand and better understanding business strategies on the other. During this period, being a fan of coding useful scripts, I use my programming experience to simplify the team’s routine tasks.
Three years later the company announces an Automation Lead open position. The combination of coding and project autonomy seems to me like a perfect fit and I decided to give it a try. Back then I couldn’t imagine that eleven years later I would still be so passionate about the Automated Testing domain. :)
Sandeep Vashisth: What has fundamentally changed about your work from when you started until now?
Katya Aronov: When I started my Automation career, the Agile approach was not widely adopted yet. Automation as an irreplaceable asset in delivering quality software was not a common mindset.
As a result, there were no robust solutions to establish efficient automated testing. Luckily, as time goes by, technologies keep growing, AI capabilities facilitate faster tests creation and decrease the required maintenance, SaaS solutions provide solid infrastructure allowing companies to purely concentrate on their business flows. Having such tools, we gain higher value by allowing more coverage for the new features of our fast-evolving applications.
Sandeep Vashisth: What changed the most in the field of quality?
Katya Aronov: Actually, the whole perception has changed. Frequent development releases introduced the necessity of continuous testing. There is no way for manual testing to sustain this fast-growing scale.
Nowadays, the prevailing approach is to run unit tests as part of the development life cycle to deploy better code and execute repetitive, time-consuming, human error-prone scenarios by automated processes. This way manual testing efforts can focus on human intelligence-related flows where people do better than machines. The wide adoption of modern methodologies makes the whole quality aspect much more productive.
Sandeep Vashisth: How to deliver quality?
Katya Aronov: First, responsibility for quality should not be put into the single hands of the QA team. There are (and always will be) less automation engineers than product developers. As a result, application features are delivered much faster than the associated testing coverage, and this gap grows exponentially. Involving product developers in an automation effort proves itself as productive practice.
Second, it is highly important to always focus on the most important areas. Obtain insights on how customers use your applications and start with commonly used scenarios, work with the Product Owner to determine release blockers and automate these areas first, concentrate on functional behaviour rather than on visual appearance, and so on.
Third, do not be the bottleneck. Instead of creating tests, executing them, analyzing reports and looking for the root cause all by yourself, you can rather use CI tools to trigger executions and send notifications to the person who deployed the code for further investigation. Use your time efficiently to always be available to produce more coverage.
Delivering quality, among the rest, is creating automation that is reliable, easy to get insights from, stable over time, and, most importantly, one that helps to fail fast and recover at low cost. Such a safety net ensures confidence while shipping fast.
Sandeep Vashisth: Which are the biggest challenges in web test automation nowadays?
Katya Aronov: First, implementation time. Creating and maintaining a solid infrastructure along with a fast-growing testing coverage is much more than just ‘record and play’.
Second, among the variety of automation tools available today, selecting the one which would suit your specific project needs might be quite challenging.
Another pain point is unclear reports produced by automation. If reports are not easy to analyze, it creates a bottleneck upon tests’ failures and decreases overall automation value.
Underqualified staff is yet another reason for automation to not produce desired results.
Last but not least, quite often everything seems to work well at the beginning but issues start to occur at scale. This is usually caused by two reasons. First, automation is not just creating tests – each time these tests run, their results should be analyzed (and it can get to many times a day). Second, applications evolve, their functionality changes – as a result, existing tests require adjustments. Both analysis and maintenance can easily lead to a dead-end: the more tests we have, the less time we have for adding new coverage.
Sandeep Vashisth: How can we optimize the costs associated with software testing automation?
Katya Aronov: This one can easily be a subject for a full separate interview! :) But in a nutshell: to produce higher value, investment in automation should not be underestimated. Automation projects should be managed like any other software project.
Make sure your automation staff is equipped with the appropriate skills set, choose appropriate tools, design your automation ecosystem, keep tests easily maintainable by reusing components and avoiding dependencies, conduct test reviews, avoid technical debts. This is the only way to keep automation projects scalable over time.
Some companies try to save costs by implementing free tools. While open source is invaluable to our software development community, it is important to remember that the time required for maintaining such tools should also be considered, which makes them not really free as they might seem.
The investment will pay off in the long run. If the long run is not the goal, there is no need to waste resources on automation at all, manual testing will do just fine at a lower cost.
Sandeep Vashisth: What do you wish your younger self knew about your current profession?
Katya Aronov: I wish I knew that “done is better than perfect” ... :) Chasing high quality, we sometimes tend to focus on making sure that everything is perfect to the very small details. While accuracy is crucial, we should also keep in mind the ratio of probability vs. potential impact. For example, in terms of catching critical regressions, having two features covered by 50% each would most probably be more efficient than having F1 fully covered and F2 not covered at all. Automation developers’ plate is always full and one of the essential skills is choosing the area of focus wisely.
Sandeep Vashisth: What’s the one takeaway you want readers to get from this interview?
Katya Aronov: Although QA engineers are sometimes perceived as testers whose only responsibility is to make sure that existing functionality does not get broken, I tend to think that quality is more than that. In addition to spotting regressions as early as possible, we should also question the existing functionality and reveal the wrong implementation in place.
Curiosity should drive us to work with Product Owners for a better understanding of customers’ perspectives, get involved in the R&D work plan and prioritize the reported issues, focusing manual testing efficiently according to automation coverage in place, making sure that the reported issues transform into action items, and so much more. Quality assurance is only possible when all relevant parties are involved, and we can take an active part in increasing awareness of making quality everyone’s asset.
We hope the session has helped you explore the quality assurance concept in detail with much more interesting insights on the challenges and pain points that make automation testing a troubled time.
In case you still have any queries related to advanced software testing or automation techniques, you can reach Katya Aronov at https://www.linkedin.com/in/katya-aronov/ , or our in-house experts at BugRaptors through email@example.com
For more interesting updates or any assistance on software testing and quality assurance, stay connected!