AMA on Do’s and Don’ts of Testing: Naveen Khunteta [Testμ 2022]

LambdaTest Team - Sep 26 '22 - - Dev Community

Naveen Khunteta is the Founder and Managing Director of the Ed-tech platform, Naveen Automation Labs Academy. He is an automation architect who loves to automate everything. He is passionate about creating custom tools for teams’ productivity and performance. He is also a huge fan of JVM technologies like JMeter, Selenium WebDriver, and UFT.

In this AMA session of the Testμ conference, he joined Anmol Gupta, Sr.Product Manager, LambdaTest, to answer public questions on testing.

Do you want to watch the entire session? Here is the full video link:

Check out his answers to the most-wanted questions on the Do’s and Don’ts of Testing:

It’s time for Q&A

Could you please share about your YouTube journey?

After initial hiccups in gaining followers and traction, I started gaining momentum in attracting the right audience to my page. People began asking more questions to crack the interview. This motivated me to create more content in the upcoming days. I enjoy it thoroughly!

What is the career path for automation engineers?

With a competitive market, especially in the world of agile development, where you have to release the product as soon as possible in the market, you would face competitors every day with a release in production. Hence you need to automate to save time from manual tasks and keep your team motivated. When we talk about UI testing automation, app automation, or mobile automation, it has been a tremendous job by the team. Hence the future is great.

With multiple technologies and testing frameworks, you can easily automate things. There are also many companies still using Selenium and Java. When Selenium was released in 2008, people were quite fascinated. It’s been around for 14–15 years, and now we can see how people have already developed the framework with custom tools. Many other communities also came into the picture on top of Selenium, Appium, or other tools with many resources. But, due to enormous community support, the Selenium and Java combination is here to stay. It’s very unlikely that a particular tool will kill Selenium.

What’s the future of Selenium?

If we wonder what the future of Selenium automation will look like, I believe it’s strong since, after Selenium 4, we have moved to W3C WebDriver, which is a fantastic tool since it supports many languages and browsers.

Keeping all these in mind, I suggest you keep learning as much as possible. You need to understand the new challenges when working on a direct Angular application or a native app with a complex UI. You can start with programming basics and move up on the ladder.

What will be in more demand in the future? Mobile testing or web testing?

Most companies are moving their business and applications towards mobile, native, or mobile browser apps. But the web is also a well-known option since many food delivery apps like Zomato and Swiggy still allow their users to use the web version. We must ensure that the mobile app is compatible with a specific device or version.

Even though people are getting attracted to mobile testing, we have to find the right tool and solutions to make it simpler. We cannot move everything to the mobile part. There are certain applications compatible with the web application, be it cross browser testing or anything else. Hence the demand is exceptionally high, and the future is promising.

What is the future of AI and ML in automation testing?

There are a lot of tools and talks happening around AI and ML. We have heard about testRigor and testIMO. They have a specialized AI/ML to identify the locators automatically or to identify what exactly you need to perform on your mobile app in terms of user actions.

In machine learning, machines tend to learn based on data. They are brilliant at identifying what we expect from the end user’s point of view. We have a certain AI concept where we just need to click on that link to write the plain script or English sentence. Today, XPath in Selenium might be working, and tomorrow if it’s not working, there are chances that the attribute got changed or the DOM structure got changed. My AI tool can recognize that particular portion.

What are the three main KPIs the project team needs to track regarding test automation?

Product management has to realize the importance of automation. In most organizations, we don’t accept automation as a thing. This scenario will not change in a day. When you are hiring the automation guy, we might say that we have only two weeks of the sprint. On the 10th day, we are ready for the actual build. After that, only two or three days are left for the test. We fully involve ourselves in the manual testing domain and run those acceptance criteria test cases. When we don’t get enough time, automation comes in handy. We can automate whatever testing is left and make it stable. Hence we can save time.

I also emphasize that maintenance plays a vital role from an automation point of view. We need to provide more attention to the maintenance of the framework. I’m pretty happy with 30–40% of things automated and if they work well. When you have done 70–80% of automation, it’s not a good sign when 60–70% of them aren’t working fine and showing red, meaning failed test cases. These are the major KPIs you need to remember.

What should be the ideal environment (Dev/Stage/Prod) to run your automation tests?

Dev environment is designed for the developers, for their testing and for whatever unit level test cases they are writing and for any integration they are into. In the case of unit-level test cases or any integration, I think we should have either QA or the stage environment back to back through the CI/CD or CD server. In production, we don’t prefer much automation. If you are creating back-to-back dummy data, a lot of test data creation isn’t required. You need to improve the concept of your test data management for protection. We need to ensure data privacy as well.

Selenium vs Playwright for UI automation? Please do share your perspective on both of them.

Playwright testing is no doubt good. I have personally used it with Java and JavaScript. It’s a great tool backed up by Microsoft. They have the best development happening every 15–20 days. They are releasing new releases in the market. Hence, Selenium is a great tool, but replacing it will take some time. Selenium is a raw library. It allows you to customize as per your choice. Playwright, on the other hand, supports multiple languages.

What is the advice you have for someone starting their career?

It’s a huge responsibility. You need to learn about everything, like what different things need to be automated. You might struggle if you don’t understand the product or the domain. Please try to improve your test automation coverage. Make sure that you are running your test cases and learning through them. Learn about the test infrastructure as well. Focus more on the common automation framework part. Improve the COE part, use the infrastructure properly, and write better code for automation.

How to prepare yourself for testing roles?

If you are afraid of coding or not sure about the basics of design, try to improve that part. Learning a tool isn’t a big deal since the fundamentals are the same everywhere. You need to be good at the programming language, and OOPS you are using. Learn about the automation testing tool and automating complex, out-of-the-box scenarios. A lot of training and certification course materials are available for the same.

How do you convince people curious about testing that it’s worth it?

Every day, I listen to questions from people about testing getting outdated. But I would like to say that there are plenty of opportunities awaiting testers. If you love coding and design, you can be a contributor for open-source or even work as a consultant. Learning is the key to excel as a tester. It’s a great career path if you are ready for that.

How do you context switch among different frameworks in your video? What’s your secret sauce?

I think it’s the experience. I see myself as a content creator. I take it as a responsibility to learn about different test automation frameworks. With so many years of experience, you will learn about the tool. The motivation lies behind people wanting to learn. A year back, I didn’t know much about Playwright. After a couple of PoCs, I realized it helps people learn. This is how we learn, and people motivate us.

What is your view on low code/ no code automation?

There is a lot of heat going on with low code/ no code automation. I think it’s a good concept rather than a marketing gimmick. When working on a tool, you need to consider many factors such as budget and skillset. Low code or no code tools can help manual testers immensely. I tested the PoC. It was really good when we could write commands in plain English and get the automation part done.

What are your thoughts on in-sprint automation?

Yes, it’s doable. But it should be a part of your definition of “done.” You have to provide leverage to the automation task and story point, considering that automation is a part of the task. If I ask you to automate, you need to perform a few activities in your project to reach a high level. It will become difficult if I ask you why your automation isn’t stable. Initially, you will have to prepare the skeleton and the foundation. You need to spend at least two-three sprints of time to smoothen that process.

When do you feel that automation of an application is sufficient enough?

There are no such special criteria. In every iterative model, you must keep adding more features in every sprint. In every sprint, there is a way for automation. Automation is an ongoing activity. There are so many activities that you have to do. In this case, you must monitor your test cases and fix those changes. You get new features as well.

What are your thoughts on non-functional testing (Load test, Performance, etc.) in the early phase of Software development?

Non-functional testing will come into the picture when you have proper functional test cases and your application is relatively stable. When you have big-scale projects, such as working with Walmart or other big companies, you need to perform non-functional testing. Security testing is also very important. It requires a lot of performance engineering work.

Talking about the depth of your knowledge, I’m very surprised. How do you have mastery in almost all the topics you cover? What’s your approach when you learn about new tools? How do you approach it?

I always prefer to do PoC on the tool. Then you try to learn from the documentation and find some resources. I also make a comparison of different functionalities of tools. You can also go to the GitHub page and look for bugs and commit history.

What are the major challenges you faced as an automation tester?

Automation might look good from an interview point of view, but when we join a company, we don’t get enough opportunities and time. It takes time to familiarize yourself with a framework. We have to make it stable. Try to understand the philosophy that we need to write things. You need to look at the market scope. It’s also not easy to handle a team full of automation engineers. We need to develop a mindset that automation is about improving product quality.

There are multiple certifications coming up for DevOps and other things. What certification should one aspire for, from an experienced professional point of view, for self-learning and upgrading?

Certification isn’t a foolproof way to prove that you are an expert in a certain thing. Instead of certification, showcase your work. We can depend on blogs, commits, videos, and GitHub repositories. This can give more weightage in comparison to certifications. I am not against certification. Try to have quality ones if you wish to take up testing certifications.

Have you ever walked up in the middle of the night and started debugging a failed test?

So many times! When you are so much into work, you might suddenly wake up in the morning and start doing your job.
In DevOps and CI/CD pipeline, do you have any advice for learners to flourish?
It requires a lot of DevOps and infrastructure knowledge in general. It’s very much needed these days. Set up the test environment. Every automation and SDET engineer should know about DevOps functioning and CI/CD pipelines.

What are your thoughts on security testing in automation?

Security testing requires a different mindset. You must look at other security scenarios and see how to prevent them. It’s a very specialized domain. Learning the right tools available in the market is vital when you involve payment and other stuff.

How do we introduce any new testing strategy in any legacy projects?

When I worked with Walmart, they had an old-school legacy system. They wanted to migrate it to microservices architecture. Data migration was also important. We need to understand if automation is happening correctly or not and Bi-directional things too. You shouldn’t compromise the functionality.

Is there a way to get code coverage from UI regression tests? Or, can we get the code coverage details using UI automation?

It’s not possible to do that using UI automation. Code coverage and test coverage are two different things. To get code coverage on tests, you can easily integrate it with SonarQube. It can be easily integrated with your main CI/CD pipeline. If you’re working with Java, you can also define your own rules through SonarQube. I was personally able to find that it gave 70–80% of the coverage. Test coverage is all about using your utilities to understand how many test cases are covered.

Conclusion

We loved how Naveen highlighted the importance of continuous learning for every tester. This session is a gem for anybody entering the testing arena or interested in joining the near future. We are extremely glad to have such a highly commendable list of speakers like Naveen Khunteta. Hope you found the insights he shared useful as well.

Happy testing!

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .