Skip to content

Tredence Automation Testing Interview Questions & Answers

Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.

About Tredence hiring for Automation Testing roles

Tredence is a data science and analytics services company that helps retail, consumer goods, manufacturing, telecom and healthcare clients use data for decisions. It builds data engineering pipelines, machine learning models, supply chain analytics and AI solutions on modern cloud platforms. In India it hires data analysts, data engineers, data scientists and analytics consultants who work closely with global client teams.

For Automation Testing roles, this Tredence practice set focuses most on Selenium WebDriver (8), API Testing and CI/CD (6), Core Java for Testers (5), TestNG Framework (4). It has 6 easy, 27 medium, 7 hard questions, so you can start easy and work up to the harder ones.

Company type
Analytics
Headquarters
San Jose, California, USA
Main India offices
Bengaluru, Chennai, Gurugram

Tredence Automation Testing interview process

  1. Online assessment (aptitude + SQL + Python)
  2. Technical interview (SQL, statistics, ML)
  3. Case or managerial round
  4. HR round

Typical pattern based on public candidate experiences. Rounds vary by role, team and year.

Solved for TredenceStart practicing
3 QUESTIONS FREESign up to unlock the full question bank and track your progress.Unlock every question and answer, then continue practising company-wise and package-wise.
3 questions free Unlock the rest in seconds
01

What is OAuth 2.0 in API testing?

Save to ▾
Show answer
An authorisation framework where a client obtains an access token from an auth server and sends it as a Bearer token; tests fetch and reuse the token in setup.
02

You configured 50 parallel threads but only 8 tests run at a time on the Grid. Why?

Save to ▾
Show answer
The Grid only has 8 free slots, so the other requests wait in the New Session Queue. Total parallelism equals nodes multiplied by max sessions per node, not the TestNG thread count. Check the Grid UI for slot count. To run more, scale the node containers, raise max sessions if hardware allows, or use a larger grid. Otherwise reduce threads to match slots so waiting requests do not time out.
03

An element is visible in Appium Inspector but your test throws NoSuchElementException on the device. What do you check?

Save to ▾
Show answer
First check timing: the screen may still be loading, so add an explicit wait for presence. Then check context: in a hybrid app the element may be in a webview while you are in NATIVE_APP. Confirm the locator matches exactly, including package prefix in resource-id. The element may be off screen in a list, so scroll first. Also check that the Inspector session used the same app build, language and device size as the test.
04

You must read test data from a 50,000-row CSV for a data-driven test. How do you handle it efficiently in Java?

Save to ▾
Show answer
Do not load everything as one giant DataProvider; that creates thousands of UI tests. First question whether all rows need UI runs; most can be validated at API level. Read the file with BufferedReader or Files.lines() as a stream, filter to the rows you need, and use a lazy Iterator<Object[]> DataProvider so rows load as tests run, keeping memory low.
05

How do you run Cucumber scenarios in parallel?

Save to ▾
Show answer
With TestNG, extend AbstractTestNGCucumberTests and override scenarios() with @DataProvider(parallel = true), then set data-provider-thread-count. With JUnit 5, set cucumber.execution.parallel.enabled=true in junit-platform.properties. Each scenario must own its WebDriver, usually through a ThreadLocal or a per-scenario DI context, and test data must not clash. Parallelism is per scenario, not per step.
06

How have you handled disagreement with a developer about whether something is a bug?

Save to ▾
Show answer
Situation: a developer said a rounding difference in invoice totals was expected. Task: resolve it without friction. Action: I checked the requirement, found it specified rounding per line, and brought the document and a test case with expected values to a quick call with the BA. Result: the BA confirmed it was a bug, it was fixed, and we added the rule to the acceptance criteria.
07

What is an API and what are common HTTP methods?

Save to ▾
Show answer
An interface for systems to talk to each other. GET reads, POST creates, PUT replaces, PATCH updates partially and DELETE removes.
08

Your retry analyzer makes the suite green but bugs are slipping into production. What is wrong?

Save to ▾
Show answer
Retries are hiding real intermittent defects, such as race conditions, by treating them as flaky tests. Limit retries to one, report retried tests separately as flaky in the dashboard, and require a ticket for each one. Review retried tests weekly to find whether the cause is the test or the product. Retries should buy time to fix, not replace fixing.
09

During a load test response times rise sharply. Which server-side metrics do you check?

Save to ▾
Show answer
Check CPU and memory usage of application servers, garbage collection pauses and heap usage for Java services, thread pool and connection pool saturation, database slow queries, locks and connection counts, disk I/O and network bandwidth. Also look at load balancer and cache hit rates and error logs. Correlate the timestamp of the slowdown with these graphs in an APM or monitoring tool to find which resource saturated first.
10

How do you verify response time and headers in REST Assured?

Save to ▾
Show answer
Use then().time(lessThan(2000L)) and then().header("Content-Type", containsString("json")) along with body assertions.
11

How do you publish Allure or Extent reports from Jenkins?

Save to ▾
Show answer
For Allure, install the Allure Jenkins plugin, configure the commandline tool, and add allure results: [[path: 'target/allure-results']] in the post always block. For Extent, archive the HTML file and use the HTML Publisher plugin to show it as a build link. Keep report history per build and share the link in failure notifications.
12

How does Appium automate iOS apps and what setup is required?

Save to ▾
Show answer
Appium uses the XCUITest driver, which builds and installs WebDriverAgent on the simulator or device. WebDriverAgent is a small XCTest-based server that receives commands and drives the UI. You need a Mac with Xcode, the iOS SDK and command line tools. For real devices you also need a valid Apple developer team, provisioning profile and signed WebDriverAgent. Most iOS setup failures come from signing problems or Xcode and iOS version mismatches.
13

Tell me about a time you introduced BDD to a team. How did it go?

Save to ▾
Show answer
Situation: requirements were often misread, causing rework late in sprints. Task: I proposed BDD for one module. Action: I ran short three-amigos sessions, wrote example scenarios with the BA, automated them with Cucumber and showed them in sprint review. Result: rework on that module dropped noticeably over two sprints, and the team adopted the practice for other complex stories.
14

Write Selenium code to verify that all links on a page are not broken.

Save to ▾
Show answer
List<WebElement> links = driver.findElements(By.tagName("a")); for (WebElement link : links) { String url = link.getAttribute("href"); if (url == null || !url.startsWith("http")) continue; HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection(); con.setRequestMethod("HEAD"); int code = con.getResponseCode(); if (code >= 400) System.out.println("Broken: " + url + " " + code); }
15

How do you make WebDriver thread-safe for parallel runs?

Save to ▾
Show answer
Store each driver in a ThreadLocal so every thread gets its own instance and tests do not interfere.
16

Tests pass on QA but fail in the staging pipeline. How do you investigate?

Save to ▾
Show answer
Compare what differs: configuration URLs, test data, feature flags, user permissions, network or proxy, browser versions and timing due to slower servers. Check logs and screenshots from staging and rerun one failing test with verbose logging. Often the issue is missing data or a flag. Fix by making environment settings explicit and creating required data in test setup.
17

Which tests should run at each stage of a CI/CD pipeline?

Save to ▾
Show answer
On every commit or pull request: unit tests, static checks and a fast API and UI smoke suite. After deploying to a test environment: broader API and integration tests. Nightly: full UI regression across browsers. Before or after production release: a short production-safe smoke and monitoring checks. Faster feedback first, heavier tests later.
18

How do you validate a JSON response in REST Assured?

Save to ▾
Show answer
Use then().statusCode(200).body("data.id", equalTo(5)), or extract() the response and assert fields with JsonPath.
19

What is the difference between hard and soft assertions?

Save to ▾
Show answer
Hard assert stops the test at the first failure; SoftAssert collects failures and reports them together when assertAll() is called.
20

What is Docker and how does it help tests?

Save to ▾
Show answer
Docker packages tools in containers so tests run identically everywhere; Selenium Grid and browsers can be started quickly in containers.
21

An assertion on element text fails even though the text looks identical on screen. What could be the reason?

Save to ▾
Show answer
The text may contain extra whitespace, a line break or a non-breaking space that looks normal visually. getText() also returns only visible text and applies CSS text-transform, so uppercase styling changes the value. Print the string with its length or character codes to spot hidden characters. Fix it by trimming and normalising whitespace before comparing, or compare with the expected case-insensitively when the UI uses text-transform.
22

What are the different types of waits in Selenium?

Save to ▾
Show answer
Implicit, explicit (WebDriverWait with ExpectedConditions) and fluent waits; avoid mixing implicit and explicit waits and never rely on Thread.sleep.
23

Tests run fine on Chrome but fail on Firefox at the same step. How do you investigate?

Save to ▾
Show answer
Rerun on Firefox with screenshots and logs. Common causes are timing differences, different default window sizes, unsupported CSS or JavaScript behaviour, alerts handled differently, or a driver version mismatch. Compare the DOM in both browsers at that step. Fix by using explicit waits, setting window size, and reporting genuine browser bugs to developers.
24

How does HashMap work internally?

Save to ▾
Show answer
It uses the key's hashCode to find a bucket and equals to resolve collisions, giving O(1) average lookups; Java 8 converts long buckets into trees.
25

Write Java code to create a RemoteWebDriver for a Selenium Grid using ChromeOptions.

Save to ▾
Show answer
String gridUrl = System.getProperty("grid.url", "http://localhost:4444"); ChromeOptions options = new ChromeOptions(); options.addArguments("--window-size=1920,1080"); options.setCapability("se:name", "Login smoke test"); WebDriver driver = new RemoteWebDriver(new URL(gridUrl), options); try { driver.get("https://app.test/login"); } finally { driver.quit(); }
26

Write a GET test in REST Assured.

Save to ▾
Show answer
given().baseUri(url) .when().get("/users/1") .then().statusCode(200).body("id", equalTo(1));
27

An API test passes alone but fails when the suite runs in parallel. What could be wrong?

Save to ▾
Show answer
Likely shared state. Common causes are static RestAssured settings changed by one test, shared test data like the same user being updated by two tests, token reuse after another test logged out, or rate limits. Fix by using per-test RequestSpecification instead of global statics, creating unique data per test, isolating tokens, and checking server rate-limit responses such as 429.
28

How do you handle an element inside a shadow DOM in Selenium 4?

Save to ▾
Show answer
Find the shadow host element, then call getShadowRoot() to get a SearchContext, and search inside it with CSS selectors: driver.findElement(By.cssSelector("my-app")).getShadowRoot().findElement(By.cssSelector("#submit")). XPath does not work inside shadow roots. For nested shadow roots, repeat the step for each host. Closed shadow roots cannot be accessed this way.
29

Response time grows slowly over a six-hour soak test while load stays constant. What does it suggest?

Save to ▾
Show answer
A steady rise under constant load usually indicates a resource leak, such as memory not being freed, growing caches, unclosed database connections or threads, or log and temp files filling disk. Check heap usage and garbage collection trends, connection pool counts and open file handles over time. A heap dump comparison can show which objects grow. Share the evidence with developers, since such issues rarely appear in short tests.
30

What is the difference between parallel="methods", "classes" and "tests" in testng.xml?

Save to ▾
Show answer
methods runs each @Test method in its own thread, giving the most parallelism but requiring fully independent tests and thread-safe drivers. classes runs all methods of one class in the same thread, with different classes in parallel. tests runs each <test> tag in parallel, often used to run different browsers. instances is also available for factory instances. thread-count sets the pool size.
31

How do you pass parameters like browser and environment from Maven to your tests?

Save to ▾
Show answer
Pass system properties on the command line, for example mvn test -Dbrowser=firefox -Denv=qa. Read them in Java with System.getProperty("browser", "chrome"), giving a default. Surefire forwards -D properties to the forked test JVM, or you can declare them under systemPropertyVariables. Jenkins can expose these as build parameters so testers choose browser and environment per run.
32

What are listeners in TestNG?

Save to ▾
Show answer
Classes like ITestListener that react to events such as test start, success or failure, commonly used for screenshots and reporting.
33

What is Selenium Grid and why use it?

Save to ▾
Show answer
It runs tests in parallel across multiple machines and browsers using a hub and nodes, cutting execution time and increasing browser coverage.
34

What is a webhook and how do you test it?

Save to ▾
Show answer
A callback where one system sends an HTTP request to another when an event occurs. Test with a mock receiver or tools such as webhook.site and verify the payload.
35

How does running Selenium Grid on Kubernetes with autoscaling differ from Docker Compose?

Save to ▾
Show answer
Docker Compose runs a fixed number of nodes on one machine, which is simple but limited to that host's CPU and memory. On Kubernetes, typically installed with the Selenium Helm chart, nodes are pods spread across a cluster, and KEDA can scale node pods up based on the queue length and back to zero when idle. It suits large teams with bursty CI demand but needs cluster knowledge and monitoring.
36

How do you handle dropdowns in Selenium?

Save to ▾
Show answer
Use the Select class with selectByVisibleText, selectByValue or selectByIndex; for custom dropdowns click and choose from the list of elements.
37

How do you test a responsive page in a mobile viewport using Selenium?

Save to ▾
Show answer
For layout checks you can set the window size, like driver.manage().window().setSize(new Dimension(390, 844)). For closer emulation in Chrome use mobile emulation in ChromeOptions: options.setExperimentalOption("mobileEmulation", Map.of("deviceName", "Pixel 7")), which also sets the user agent, pixel ratio and touch events. This catches responsive layout bugs quickly, but it is not a replacement for testing on real mobile browsers.
38

You see ConcurrentModificationException in your test utility. What causes it and how do you fix it?

Save to ▾
Show answer
It occurs when a collection is modified while being iterated with a for-each loop, for example removing items from an ArrayList inside the loop. Fix by using Iterator.remove(), removeIf(), collecting items to remove separately, or using CopyOnWriteArrayList or ConcurrentHashMap when threads share the collection. In parallel tests, shared lists are a common source.
39

How do you handle a component that appears inside many different pages, like a modal dialog?

Save to ▾
Show answer
Create a ModalComponent class scoped to the modal root element, with methods like title(), confirm() and cancel(). Pages that open modals return the component, such as cartPage.removeItem() returning ConfirmModal. The component waits for itself to appear and disappear. This keeps modal logic in one place and avoids copying locators into every page.
40

Write Java code to find duplicate elements in a list.

Save to ▾
Show answer
List<String> names = List.of("Asha", "Ravi", "Asha", "Neha", "Ravi"); Set<String> seen = new HashSet<>(); Set<String> dupes = new LinkedHashSet<>(); for (String n : names) { if (!seen.add(n)) { dupes.add(n); } } System.out.println(dupes); // [Asha, Ravi]

Tips to crack the Tredence Automation Testing interview

  • Practise SQL queries with joins, window functions and aggregations, since SQL is a core part of most Tredence analytics interviews.
  • Revise statistics, hypothesis testing and common machine learning models, and be ready to explain them with business examples.
  • Prepare for a business case discussion where you structure a retail or supply chain problem and suggest data-driven solutions.
  • Keep a one-minute story ready for every project on your CV: problem, your part, tools, result.
  • Practise the hard questions on this page aloud; Tredence interviewers usually ask follow-ups on your first answer.

Frequently asked questions

How many rounds are there in the Tredence Automation Testing interview?

Candidates usually go through 4 stages: Online assessment (aptitude + SQL + Python); Technical interview (SQL, statistics, ML); Case or managerial round; HR round. The exact rounds change with the role, team, location and your experience, so confirm the process with the recruiter.

Which topics should I prepare for the Tredence Automation Testing interview?

This practice set leans on Selenium WebDriver (8), API Testing and CI/CD (6), Core Java for Testers (5), TestNG Framework (4). Revise those first, then practise explaining one or two of your own projects end to end, because most Tredence interviewers ask you to walk through real work.

Are these the exact questions asked at Tredence?

No. These are curated practice questions that match the skills and difficulty usually tested in analytics interviews like Tredence's. They are not a leaked or verified list of past questions.

Where does Tredence hire Automation Testing professionals in India?

Tredence has large teams in Bengaluru, Chennai, Gurugram. Openings and locations change often, so check the Tredence careers page and filter by city and experience.

Automation Testing questions for similar companies