In my recent interview, I was asked this scenario-based question,

Published on November 22, 2024

In my recent interview, I was asked this scenario-based question,

“If the PM in your team asked you as the QA to automate the application under test (UAT) end-to-end, what would you do or say to the PM?”

I remembered an article by Bisma Latif on Medium.com, and I crafted my response as follows.

“In the software testing world, automation is often hailed as a silver bullet, a one-stop solution to all testing woes. But here’s the truth: not everything should or can be automated.

As much as automation adds speed, reliability, and efficiency, it also has limits, especially in certain scenarios that demand human intuition and adaptability”.

The truth is that automation doesn’t cover everything, and it will be best to test manually at some point. Automating the entire application under test (AUT) end-to-end can lead to inefficiency and increased maintenance overhead. Here are some of the responses I gave.

1. Acknowledge the Request:

“I understand the value and intention behind automating end-to-end tests to ensure comprehensive coverage. It’s essential to guarantee the application works as expected from a user’s perspective.”

2. Explain Why Full End-to-End Automation Isn’t Ideal:

· Complexity and Maintenance: End-to-end tests are inherently complex and fragile. They often require significant effort to build and maintain because small changes in the application can lead to failures that aren’t related to actual defects.

· Execution Time: These tests are slow to execute due to their dependence on various integrated components (e.g., databases, APIs, and third-party services), making them unsuitable for rapid feedback.

· Flakiness: They are more prone to intermittent failures caused by network issues, environment instability, or timing problems, which can erode trust in the tests.

3. Suggest a Layered Testing Approach:

“Instead of automating everything at the end-to-end level, we can adopt a test pyramid approach, which focuses on achieving a balance between unit, integration, and end-to-end tests.”

· Unit Tests: Automate tests for individual components to ensure correctness at the code level.

· Integration Tests: Automate the interaction between modules to verify their behavior when working together.

· End-to-end Tests: Reserve automation at this level for critical user journeys and high-risk areas of the application.

4. Emphasize the ROI of Smarter Testing:

“By focusing end-to-end automation on critical paths and using other types of testing for detailed coverage, we can minimize maintenance costs, reduce execution times, and ensure faster feedback to developers.”

5. Offer to Collaborate on a Strategy:

“I’d be happy to work with you to identify the most critical workflows and areas of the application that require end-to-end testing and outline a robust, scalable automation strategy.”

This response educates the PM, aligns with the project’s goals, and sets realistic expectations while highlighting my expertise as a QA professional.