Mu Sigma Automation Testing Interview Questions & Answers
Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About Mu Sigma hiring for Automation Testing roles
Mu Sigma is a decision science and analytics company with its main delivery centre in Bengaluru. It works with large enterprises on analytics problems in areas like marketing, supply chain and risk. It typically hires freshers as trainee decision scientists, with a selection process known for aptitude, puzzles and group discussions.
For Automation Testing roles, this Mu Sigma practice set focuses most on Core Java for Testers (7), Appium Mobile Automation (5), TestNG Framework (5), Selenium WebDriver (4). It has 6 easy, 28 medium, 6 hard questions, so you can start easy and work up to the harder ones.
Company type
Analytics
Headquarters
Northbrook, Illinois, USA
Main India offices
Bengaluru
Mu Sigma Automation Testing interview process
Online assessment (aptitude + reasoning)
Video or written communication test
Group discussion
Technical and HR interview
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for Mu SigmaStart 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.
By default JMeter fires requests back to back, which is far more aggressive than real users who read pages and fill forms. Timers add delays: Constant Timer, Uniform Random Timer and Gaussian Random Timer add think time, while Constant Throughput Timer and Precise Throughput Timer control request rate. Realistic think time makes the user count meaningful; without it, 100 threads may generate the load of thousands of real users.
04
How do you read data from Excel or properties files in Java?
Use both, for different purposes. Emulators and simulators are cheap, fast to reset and easy to run in CI, so they suit smoke and regression runs on every commit. Real devices reveal issues emulators hide: performance on low-end hardware, camera, biometrics, push notifications, network changes and vendor-specific Android skins. A common plan is emulators in the pull request pipeline and a nightly run on a small matrix of real devices covering the most-used models.
06
Write a docker-compose.yml that runs a Selenium hub with Chrome and Firefox nodes.
Hooks are Java methods annotated with @Before, @After, @BeforeStep and @AfterStep that run around scenarios or steps. Background is visible in the feature file and describes business preconditions; hooks are hidden technical setup such as starting the browser, cleaning data or attaching screenshots. Hooks can be ordered with the order attribute and filtered by tag expressions, for example @Before("@ui").
08
A utility method that parses dates from the UI breaks in parallel runs. What might be wrong?
It probably uses a shared static SimpleDateFormat, which is not thread-safe, so parallel threads corrupt each other's parsing. Replace it with java.time DateTimeFormatter, which is immutable and thread-safe, and LocalDate or LocalDateTime for values. Generally, avoid shared mutable static objects in test utilities that run in parallel.
09
A test fails with TimeoutException waiting for an element that is clearly visible on screen. What do you check?
Check whether the element is inside an iframe or shadow DOM, the locator matches a different hidden element first, the page opened in a new tab not yet switched to, or the wait condition is wrong, such as presence versus visibility versus clickable. Use findElements to see how many matches the locator has and verify it in browser DevTools.
10
Tests running inside Docker cannot reach the application running on the host's localhost. Why, and how do you fix it?
Inside a container, localhost means the container itself, not the host machine. On Docker Desktop use host.docker.internal as the host name. On Linux add extra_hosts with host.docker.internal:host-gateway, or use the host's IP. A cleaner option is running the application in the same Compose network and calling it by its service name, such as http://web:8080. Make sure the app listens on 0.0.0.0, not only 127.0.0.1.
11
What is polymorphism and how does it show up in Selenium?
Read the documented limit, then send requests quickly until you exceed it and assert a 429 Too Many Requests response with headers like Retry-After or remaining quota. Wait for the window to reset and confirm requests succeed again. Also check limits are per user or key as designed. Run these tests in isolation so they do not throttle the rest of the suite.
14
Write Java code to find the second largest number in an integer array.
public static int secondLargest(int[] nums) {
int first = Integer.MIN_VALUE, second = Integer.MIN_VALUE;
for (int n : nums) {
if (n > first) {
second = first;
first = n;
} else if (n > second && n != first) {
second = n;
}
}
if (second == Integer.MIN_VALUE) throw new IllegalArgumentException("No second largest");
return second;
}
15
Describe a time you convinced developers to fix a problem found by automation.
Situation: an API test kept failing intermittently and developers called it a test issue. Task: prove or disprove it. Action: I collected logs from ten failures, showed the same race condition in the order service with request IDs, and reproduced it with a small parallel script. Result: developers fixed a real concurrency bug before it reached customers, and trust in the suite improved.
16
Your team has 600 Cucumber scenarios and step definitions have become a mess of duplicates. What do you do?
First run a report of step usage to find duplicate and unused steps. Agree a step vocabulary per domain, merge near-identical steps using parameters, and delete unused ones. Move logic out of steps into page objects and service helpers. Add a review checklist and a dryRun gate in CI. Do this incrementally by feature area so the suite keeps running while you clean up.
17
What is the difference between @BeforeTest and @BeforeMethod?
Add the selenium/video image as a sidecar container next to each node, sharing the node's display through DISPLAY_CONTAINER_NAME, and mount a folder for the mp4 files. Newer Grid versions also support recording per session by setting the se:recordVideo capability with Dynamic Grid. Name videos with se:name so they match test names. Keep videos only for failed tests or for a few days, because they use a lot of disk space.
19
Write Appium Java code to perform a vertical swipe using W3C Actions.
Add the json-schema-validator dependency, place the schema file in src/test/resources, and assert with then().body(matchesJsonSchemaInClasspath("user-schema.json")). Schema validation checks field types, required fields and structure, so it catches contract changes that value checks might miss. It complements, not replaces, assertions on business values like status or totals.
21
What is the New Session Queue in Selenium Grid 4 and what happens when all slots are busy?
When a test requests a session and no node slot matches, the request waits in the New Session Queue instead of failing immediately. The distributor picks it up when a matching slot frees. If it waits longer than the session request timeout, which is 300 seconds by default, the client gets a SessionNotCreatedException. Tuning this timeout and matching thread count to slot count prevents long waits and timeouts in CI.
22
How do you validate an XML response in REST Assured?
// REST Assured uses GPath for XML as well as JSON
given()
.accept(ContentType.XML)
.when()
.get("/orders/42")
.then()
.statusCode(200)
.contentType(ContentType.XML)
.body("order.@id", equalTo("42"))
.body("order.items.item.size()", equalTo(3))
.body("order.status", equalTo("SHIPPED"));
23
What is the difference between native, hybrid and mobile web apps from a testing point of view?
A native app is built with platform SDKs and is tested through native locators like accessibility id or resource-id. A mobile web app runs in the device browser, so you automate it much like desktop Selenium with mobile Chrome or Safari. A hybrid app wraps web content inside a native shell, so tests switch between the NATIVE_APP context and a WEBVIEW context. Knowing the type decides your driver, locators and setup.
Runtime events that disrupt flow. Use try-catch-finally, throw, throws, and custom exceptions; checked exceptions must be handled while unchecked ones need not be.
25
Nightly Jenkins regression runs take 4 hours. How would you bring it down?
Measure first: find the slowest tests and setup steps. Then run tests in parallel across Grid nodes or containers, replace UI setup with API calls, remove duplicate coverage, move checks down to API level, split the suite into shards across agents, and cache Maven dependencies. Aim for a smoke stage under 15 minutes on every commit and a parallel regression under an hour.
26
Half of your TestNG tests are skipped in CI with no failure shown. What could cause it?
Usually a configuration method failed, such as @BeforeClass or @BeforeSuite throwing an exception, which makes TestNG skip dependent tests. Other causes are dependsOnMethods on a failed test, a group filter excluding setup methods without alwaysRun, or a DataProvider that threw an exception. Check the configuration failures section of the report and the log for the first exception.
27
What are Maven profiles and how do you use them in automation?
Profiles are sets of configuration activated by name, such as -Pqa or -Pstaging, or by conditions. In automation they switch environment URLs, suite files, browsers or parallel settings without changing code. For example a regression profile sets suiteXml to regression.xml and threadCount to 4. Combined with properties files, profiles keep one codebase for every environment.
A Transaction Controller groups several samplers into one logical business transaction, such as Login, which may include loading the page, posting credentials and fetching the dashboard. JMeter reports an extra sample with the total time of the group, so reports show user-level timings instead of only individual requests. With generate parent sample enabled the children appear nested. It makes SLA reporting easier for business stakeholders.
git cherry-pick <commit> applies the changes of one specific commit onto your current branch, creating a new commit. It is useful when a fix on one branch, such as a locator fix on develop, is urgently needed on a release branch without merging everything else. Overuse creates duplicate commits and confusing history, so prefer normal merges when possible.
32
What is performance testing and what are its main types?
Performance testing checks how fast, stable and scalable a system is under a given workload. Load testing measures behaviour at expected traffic. Stress testing pushes beyond capacity to find the breaking point and how the system recovers. Spike testing applies sudden jumps in users. Soak or endurance testing runs normal load for hours to find leaks. Scalability testing checks whether adding resources increases capacity as expected.
33
How do you switch between native and webview contexts in a hybrid app?
// Requires the webview to be debuggable in the app build
Set<String> contexts = driver.getContextHandles();
for (String ctx : contexts) {
if (ctx.startsWith("WEBVIEW")) {
driver.context(ctx);
break;
}
}
driver.findElement(By.cssSelector("#email")).sendKeys("qa@test.com");
// back to native controls
driver.context("NATIVE_APP");
Generics let classes and methods work with a type parameter while keeping compile-time type safety, such as List<String> or a method <T> T readJson(String path, Class<T> type). In a framework they let you write one reusable helper for many types, for example a generic API client that deserializes responses into any POJO, or a BasePage method that returns the correct page type for chaining. They remove casts and catch type errors at compile time.
Headless mode or screen resolution, timing issues, environment data, missing dependencies, browser–driver version mismatch or parallel conflicts. Check logs and failure screenshots and make waits robust.
38
How do you avoid page object classes becoming too large?
Split pages into components for repeated or complex areas, keep only user actions as public methods, move generic helpers to BasePage or utilities, and avoid one method per element. If a page has distinct modes like view and edit, use separate classes. Review page classes during code review and refactor when they cross a few hundred lines.
39
What is the difference between @Test(priority) and dependsOnMethods in TestNG?
priority only orders tests; a lower number runs first, and a failed test does not stop the others. dependsOnMethods creates a real dependency: if the parent test fails, dependent tests are skipped. Both make tests order-dependent, which hurts parallel runs and isolation, so use them sparingly. Prefer independent tests with their own setup.
40
Tell me about a time you moved from web automation to mobile automation.
Situation: my team needed Android regression tests and I only knew Selenium. Task: deliver a smoke suite in one month. Action: I learned Appium 2 setup, used Appium Inspector to find locators, asked developers to add accessibility ids, and reused our TestNG, POM and reporting structure with a new driver factory. Result: twenty smoke tests ran nightly on emulators within four weeks, and release smoke testing dropped from half a day to forty minutes.
Tips to crack the Mu Sigma Automation Testing interview
Practise puzzles, logical reasoning and quantitative aptitude, which feature prominently in Mu Sigma assessments.
Prepare for group discussions by practising structured arguments on business and analytics topics.
Learn basic analytics concepts and show curiosity about solving ambiguous problems, which Mu Sigma emphasises.
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; Mu Sigma interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the Mu Sigma Automation Testing interview?
Candidates usually go through 4 stages: Online assessment (aptitude + reasoning); Video or written communication test; Group discussion; Technical and HR interview. 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 Mu Sigma Automation Testing interview?
This practice set leans on Core Java for Testers (7), Appium Mobile Automation (5), TestNG Framework (5), Selenium WebDriver (4). Revise those first, then practise explaining one or two of your own projects end to end, because most Mu Sigma interviewers ask you to walk through real work.
Are these the exact questions asked at Mu Sigma?
No. These are curated practice questions that match the skills and difficulty usually tested in analytics interviews like Mu Sigma's. They are not a leaked or verified list of past questions.
Where does Mu Sigma hire Automation Testing professionals in India?
Mu Sigma has large teams in Bengaluru. Openings and locations change often, so check the Mu Sigma careers page and filter by city and experience.
Automation Testing questions for similar companies