Breakpoint 2021 is a 2-day virtual summit on software quality. We're bringing speakers—dev, QA and open source experts—to talk about how the best engineering teams ship quality software at scale.
Ragavan Ambighananthan is a highly motivated and passionate Software Engineer. He comes with over 17 years of experience in test management, automation, automation framework, and testing of Websites/Web Services, Network Management Systems, Mobile Applications in Agile environments and on the cloud like AWS.
Can you tell us about your role at Expedia?
I currently work as the Principal Software Engineer in Test at Expedia, Inc. and I’ve been with the company for over 9 years now.
Can you give us a sneak-peek into your session for Breakpoint 2021?
Companies are losing a lot of money by mainly focussing on testing on the right side of the pipeline. My session is all about why we should focus on the left side of the pipeline i.e. when you merge your change, the code has to be production-ready. I’m going to be talking about the Shift-Left approach and about ways to achieve this in a fully automated way.
Can you tell us about Autoscaled Distributed Automation?
We built this highly scalable Selenium Grid using Kubernetes and Traefik which eliminates any restriction on how many tests we can run and how fast can we run our test automation, across teams and organisations.
As a contributor to open source tools, what is the peskiest bug that you’ve had to fix? How did you do it?
I was working on Distributed Automation (using SeleniumGridScaler open source) and everything was working fine. One day, after I upgraded the Selenium version, every automation test running against the scalable Selenium Grid started failing. After lots of debugging, I found that certain HTML characters were being stripped. Since we relied on them in our framework to find certain elements, all our automation was failing.
Then I looked at the Selenium Change Log and found out that we had switched from JSON to Gson library. Further investigation in StackOverflow showed my two lines of code that needed to be modified. I modified the Selenium code base, recompiled it, used it in my Grid and everything worked! I conveyed the exact line that needed to be changed and one of the committers applied my change.
What are you reading/learning right now? What made you interested in this?
I am reading about Consumer-driven Contract Testing to decouple micro-services and micro-frontends from depending on each other for test automation purposes, so we can release them independently and faster. I’m also looking at various innovative ideas that we can apply to Test Automation.
What advice would you give to people who are new to testing?
- Don't think test and dev are two different worlds, it is easy to get into this mindset when you start your career in the Test domain, but it won't be fruitful. Always think of it as one team with everyone working towards one goal.
- Keep learning new technologies and see how you can apply them to your quality engineering problems; come out of your comfort zone.
- Always look ahead, predict and find solutions instead of reacting when you have a problem.