
To celebrate the relentless passion and invaluable contributions of leaders in software quality, BrowserStack is proud to honour some of the icons in the testing space. These are the visionaries who not only push the industry forward with their expertise but also enrich the entire testing community by generously sharing their knowledge and thought leadership.
Gaurav Singh is a Senior Software Engineer at Microsoft, where he builds scalable engineering systems that empower developers to ship Teams apps to over 300 million customers. With over 15 years of experience across industry giants and fast-paced startups—including impactful tenures at Meta, CRED, and Gojek—Gaurav is deeply passionate about reducing developer toil and crafting robust testing infrastructure. Beyond his day-to-day work, he is a dedicated community builder, sharing his expertise through his popular Automation Hacks blog, YouTube channel, and open-source courses on Test Automation University. Whether he is optimizing CI/CD pipelines, giving back through mentorship, or exploring the pragmatic limits of AI agents, Gaurav exemplifies a modern Icon of Quality.
We spoke with Gaurav about the importance of determinism in automated tests, building scalable feedback loops, and why adopting a growth mindset is the most critical tool for new engineers.
At Microsoft Teams Engineering Systems, I get the privilege to be exposed to complex software engineering challenges and work on systems that enable Teams developers to ship mobile, web and desktop apps to a 300+ million customer base. At this scale, being able to make developers more productive in their day-to-day endeavours, reduce their toil and empower them with purpose-built tools and solutions is what really excites me.
Having spent 15+ years in the software testing space one way or another, seeing first hand how scalable automation, frameworks and infrastructure can really make or break release cycles is interesting and something that I think deeply about. Also realising that testing is not the only tool in a strong engineer's toolbox, and there are many different solutions—sometimes engineering heavy and sometimes people-focused that work together to allow developers to be more productive in their work.
Being able to learn and thrive in such an environment with extremely talented colleagues is really exciting and I'm extremely grateful to be on this journey, learning and having fun every day.
I am diving deep into how to identify the state a test is in, if it is indeed flaky and creating a scalable engineering system around it to nudge developers to care and fix tests. This is not a new trend, nor a new problem by any means. Yet, it's fascinating how this plagues nearly every engineering org on the planet and erodes trust in tests every day. I'm working on building a solution to this problem and having a lot of fun iterating extremely fast on solution approaches with AI agents.
I see immense opportunity in creating powerful feedback loops around testing for developers to allow them to ship higher quality software with more confidence. There are other such timeless problems like predictive test selection, scalable test runners, hermetically sealed test environments, performance tests, and security tests that are deep areas to dive into, and with AI, these spaces are more accessible to the curious senior engineer.
I am still not able to wrap my head around teams spending their energy on creating the perfect agent to test an application like a human and thinking that it would be successful on every CI/CD run. Even if tokens are cheaper, tests by definition need determinism. They more often than not are change detectors. Why would you want to trade determinism for non-determinism with an agent for this use case? You are unlikely to get the same results from a different run since LLMs are fundamentally non-deterministic by nature.
For exploratory testing, sure it can make sense, the value proposition sounds great and is definitely something to probe deeper in, but what about human design sense, taste, judgement and general ease of use? These things can only be realised when your customer actually uses your app or service. Even with agents showing green check marks, I would not be comfortable shipping it without a layer of human evaluation, whether by scalable dogfooding or beta phase or some dedicated QA Team feedback.
My money would still be to use AI to build smarter tests, frameworks and infra that run deterministically and whose results you can actually rely on. AI is not a silver bullet to every problem and as software craftspeople, we need to be vigilant to not overfit it where it does not add value or make sense. It may not be a hot take, but I tend to be grounded and pragmatic when it comes to technology adoption.
Ah, boy do I have some advice for you.
Firstly, be open and curious. Adopt a growth mindset and really learn how to learn well and do it consistently. Try to push yourself to work in environments that challenge you and where you are not the smartest person in the room. The moment you feel comfortable, mix and shake things up and pick something new. If you are a lifelong humble learner who loves to pursue knowledge, talk to others and also share knowledge with others, you'll do just fine.
Don't confine yourself to an identity of a tester, developer, DevOps, SRE, Data scientist, role etc. The roles and their boundaries are blurring a bit. Remember, it is only a role you are playing at the moment, but it does/should not define everything you can/should do. Keep trying to poke at the edges of your knowledge and go beyond to be a generalist engineer with specialized knowledge in a few domains you really care about.
I don't try to keep up with everything. It's not possible for me to do so if I want to have a life outside work as well. Instead, I try to identify problems in the work environment that are meaningful for the business and then search that space for solutions to the problems applying my research, critical thinking and learning skills.
That said, I do listen to copious amounts of different podcasts around tech, engineering, art, human factors, business and culture. Watch YouTube videos, read books and also do a lot of hands-on learning by reading docs of different tools and source code of libraries and playing with it. Lastly, creating content and trying to teach this to others is the best way in which I solidify my own intuitions as well.
Learning is a really fun activity for me to do so regularly, and over time, it helps me build a broad yet razor-sharp depth in many different topics. Learning how to take your own notes that you can refer to and refine later and create a second brain also helps. ;-)
I wish I had leaned into learning automation sooner and invested in how to program well early on. Understanding design patterns, refactoring principles, and system design are extremely important skills to build an intuition early on. Learning these has been a big unlock for me and I feel I can add more value once I can automate anything that is mundane, toil or repetitive in nature.
Designing scalable and elegant automation is not an easy task, yet it is how extremely large companies have been able to sustain their growth over the years. I've come to realise that the field is vast and timeless and will outlive us all. Any creation will require a testing phase.
I love to travel, try out different cuisines and beers, talk to interesting people and spend time in nature by taking long walks and hikes. Occasionally I also enjoy a good game of table tennis. I do Yoga daily and meditation occasionally and am into learning more about health and wellness be it physical, mental or financial.
(Responses may have been edited for clarity.)
Gaurav’s journey demonstrates that achieving quality at a massive scale isn't just about writing test scripts—it's about understanding systems, prioritizing developer experience, and maintaining a steadfast commitment to lifelong learning. He exemplifies a modern quality leader, seamlessly bridging the gap between automation, infrastructure, and team productivity.
🎉 Join us in celebrating Gaurav Singh and the incredible work of all testers who keep the software world running smoothly.
Stay tuned as we continue to spotlight more #IconsOfQuality in the coming days, honoring those who make a difference in the field of software testing. Check out our past honourees, and if you know someone who’s made an impact in your software testing journey, nominate them here and share your stories using #IconsOfQuality.
Meet the Icons of Quality