Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About Mastek hiring for Automation Testing roles
Mastek is an Indian IT services and digital engineering company with a strong presence in the United Kingdom public sector, healthcare, retail and financial services markets. It delivers application development, cloud migration, Oracle and Salesforce implementations, data and testing services. In India it hires developers, quality engineers, data analysts and cloud engineers who work with global delivery teams on long-running client programmes.
For Automation Testing roles, this Mastek practice set focuses most on REST Assured (7), TestNG Framework (6), Selenium WebDriver (5), Appium Mobile Automation (4). It has 23 easy, 17 medium questions, so you can start easy and work up to the harder ones.
Company type
IT services
Headquarters
Mumbai, India
Main India offices
Mumbai, Pune
Mastek Automation Testing interview process
Online assessment (aptitude + technical MCQs)
Technical interview
Managerial round
HR round
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for MastekStart 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.
Send invalid or missing fields, wrong data types, values beyond limits, invalid IDs, expired or missing tokens, wrong HTTP methods and malformed JSON. Assert the correct status (400, 401, 403, 404, 405, 422) and a clear error body without stack traces. Negative tests often find more defects than happy paths because validation and security checks are frequently incomplete.
Appium Inspector is a desktop or web tool that connects to an Appium server with your capabilities and shows a live screenshot of the app with its element tree. Clicking an element shows its attributes such as accessibility id, resource-id, text and bounds, and suggests locators. You can also try taps and swipes interactively. Testers use it to find stable locators and to check whether an element is really present before writing code.
03
How do you validate a JSON response in REST Assured?
Use then().header("Content-Type", containsString("application/json")) and then().cookie("sessionId", notNullValue()). To read values, use response.getHeader("X-Request-Id") or response.getCookie("sessionId"). Header checks matter for caching, security headers like Strict-Transport-Security, and correlation IDs used when debugging failures across services. Also assert that sensitive headers such as server version details are not exposed.
06
What is the difference between driver.close() and driver.quit()?
dryRun=true makes Cucumber parse all feature files and check every step has a matching definition without actually executing anything. It is fast and is useful after writing new features, during refactoring, or as a quick CI gate to catch undefined or ambiguous steps. It also prints snippets for missing step definitions that you can paste and implement.
08
How do you handle dynamic elements whose ids change?
Write a utility that reads the sheet with Apache POI and returns Object[][] with one row per test case. Create a @DataProvider method that calls the utility, and set dataProvider = "loginData" on the test. Each row runs as a separate test with its own result. Keep the file in src/test/resources and consider CSV or JSON, which are easier to review in Git.
Rule, added in Gherkin 6, groups scenarios that illustrate one business rule inside a feature. For example, a Feature: Discounts can have Rule: Orders above 1000 get free delivery, followed by scenarios showing the rule holding and not holding. Each Rule can have its own Background. It makes feature files read like a specification of rules with examples, which helps business stakeholders see exactly what each scenario proves.
12
What is the difference between git merge and git rebase?
Merge combines branches by creating a merge commit, keeping the full history exactly as it happened. Rebase replays your commits on top of another branch, producing a straight, linear history without a merge commit. Rebase is good for tidying a local feature branch before a pull request; never rebase commits that others have already pulled, because it rewrites history.
13
Write Java code to find duplicate elements in a list.
Situation: in my internship I repeated the same regression checks every release. Task: I wanted to free time for exploratory testing. Action: I learnt Selenium and Java and automated our login and search regression in my spare time. Result: the checks went from two hours to ten minutes, and I realised I enjoy building tools that improve quality, which is why I want this role.
15
What is the difference between noReset and fullReset in Appium?
By default Appium clears app data between sessions but keeps the app installed. noReset set to true keeps app data and login state, which speeds up tests but can leak state between them. fullReset set to true uninstalls and reinstalls the app, giving the cleanest state but adding time. A common approach is noReset for fast suites with explicit cleanup in the test, and fullReset only for first-launch or onboarding scenarios.
16
What is a smoke test versus a sanity test in a pipeline?
A smoke test is a broad, shallow check that the build is stable enough for further testing, such as the app launches, login works and main pages load. A sanity test is a narrow check after a specific fix or change to confirm it works. In pipelines, smoke runs on every deploy as a gate; sanity checks are targeted runs for a particular change.
17
Write a REST Assured test for a DELETE request followed by a check that the resource is gone.
An image is a read-only template that contains an operating system layer, software and configuration, for example selenium/standalone-chrome with Chrome and ChromeDriver installed. A container is a running instance of an image with its own process, network and writable layer. You can start many containers from one image and destroy them after a test run. This is why every run starts from the same clean browser environment.
19
Your framework throws NullPointerException in a page object on the first action. What are the likely causes?
The driver was never initialised or was passed as null, for example a page created before setup ran or a static driver not yet assigned. With PageFactory, initElements may not have been called, so @FindBy fields are null. A config value read from a properties file may also be missing. Check the stack trace line, then fix the setup order and add null checks with clear messages.
20
How do you structure packages in a Selenium POM framework?
A common layout: src/main/java with pages, components, base, utils, config and drivers packages; src/test/java with tests grouped by feature, plus listeners; src/test/resources with testng.xml, config properties per environment, test data and log configuration. Keep framework code separate from tests so it can be reused, and keep each package focused on one responsibility.
21
What is the difference between git fetch and git pull?
git fetch downloads new commits and branches from the remote but does not change your working files; you can inspect them with git log origin/main. git pull is fetch followed by merge (or rebase if configured) into your current branch. Fetch is safer when you want to review changes before integrating them.
Shift-left means testing earlier in the development cycle: reviewing requirements, writing acceptance criteria and test cases before coding, running unit and API tests on every commit, and giving developers fast feedback. Defects found early are cheaper to fix. In practice SDETs pair with developers, add tests to pull request pipelines and test APIs before the UI is built.
appPackage is the unique application id of an Android app, such as com.example.shop, and appActivity is the activity screen that Appium launches first, such as .MainActivity. Together they let Appium start an app that is already installed without passing the apk path. You can find them with adb shell dumpsys window or by reading the manifest. A wrong activity name is a common reason a session fails to start.
25
Write a REST Assured PUT test that updates a resource using a POJO.
Surefire runs unit tests in the test phase and stops the build as soon as tests fail. Failsafe runs integration tests in the integration-test phase and checks results later in the verify phase, so post-integration-test steps, like stopping a server or Docker containers, still run after failures. By default Failsafe picks classes named *IT. Many teams run UI and API suites through Failsafe with mvn verify for that reason.
28
What are timers in JMeter and why is think time important?
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.
29
What are TestNG and JUnit 5 differences that matter in automation?
TestNG has built-in groups, dependencies, suite XML, DataProvider and flexible parallel options, which suit large Selenium suites. JUnit 5 has a modular platform, tags, parameterized tests, extensions and strong IDE and tool support, and is the default for Spring and Cucumber's JUnit Platform engine. Both are capable; the choice usually follows team standards and existing frameworks.
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.
33
How do you assert on an array in a JSON response using Hamcrest?
Use collection matchers inside body(). For example body("data.id", hasItems(1, 2)), body("data", hasSize(6)), body("data.email", everyItem(containsString("@"))) and body("data.find { it.id == 3 }.name", equalTo("Neha")). These check the whole collection in one line. For complex rules, extract a List with jsonPath().getList() and assert with Java or AssertJ.
34
What is the difference between the normal, eager and none page load strategies in Selenium?
Page load strategy decides when navigation commands like get() return. Normal, the default, waits for the full load event including images and stylesheets. Eager returns when the DOM is ready (DOMContentLoaded), which speeds up heavy pages. None returns immediately after the initial response. With eager or none you must rely on explicit waits for the elements you need. Set it through options.setPageLoadStrategy(PageLoadStrategy.EAGER).
35
Why should JMeter load tests be run in non-GUI mode?
The GUI is meant for building and debugging scripts. During a run it consumes significant memory and CPU to render the tree and listeners, which limits how many threads one machine can generate and can distort response times. Non-GUI mode, started with jmeter -n, uses far fewer resources, is scriptable in CI and writes results to a file. The JMeter GUI itself shows a warning recommending this.
36
A test reading a properties file works in the IDE but fails in Jenkins with FileNotFoundException. Why?
The file path is probably hard-coded or relative to the IDE working directory, or uses Windows backslashes while Jenkins runs on Linux. Load the file from the classpath with getClass().getClassLoader().getResourceAsStream("config.properties") and keep it in src/test/resources, or build paths with Paths.get. Also check the file is committed to Git and not ignored.
37
What do number of threads, ramp-up period and loop count mean in a JMeter Thread Group?
Number of threads is how many virtual users run in parallel. Ramp-up period is the time JMeter takes to start all of them, so 100 threads with a 50-second ramp-up starts two users per second. Loop count is how many times each user repeats the samplers, or you can set a duration instead. A gradual ramp-up avoids an unrealistic burst at the start and shows where response times begin to degrade.
38
What is Appium and how does its architecture work?
Appium is an open-source tool for automating native, hybrid and mobile web apps on Android and iOS using the W3C WebDriver protocol. Your Java test sends HTTP commands to the Appium server, which forwards them to a platform driver such as UiAutomator2 for Android or XCUITest for iOS. That driver talks to the device and returns results. Because it follows WebDriver, Selenium testers can reuse locators, waits and framework design.
It occurs when one Gherkin step matches two or more step definitions, usually because of broad regular expressions or duplicate methods in different classes within the glue. Fix it by making expressions more specific, anchoring regexes with ^ and $, or removing the duplicate. Keeping step definitions organised by domain and reviewing new steps in pull requests prevents it.
40
How do you extract a value from one response and use it in the next request?
Tips to crack the Mastek Automation Testing interview
Revise programming basics, SQL joins and software testing concepts, as these are commonly checked in Mastek technical discussions.
Show comfort working with overseas clients by preparing examples of clear written communication and teamwork from college or internships.
Read about Mastek's UK government and healthcare work and its Evosys Oracle cloud business before the interview.
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; Mastek interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the Mastek Automation Testing interview?
Candidates usually go through 4 stages: Online assessment (aptitude + technical MCQs); Technical interview; 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 Mastek Automation Testing interview?
This practice set leans on REST Assured (7), TestNG Framework (6), Selenium WebDriver (5), Appium Mobile Automation (4). Revise those first, then practise explaining one or two of your own projects end to end, because most Mastek interviewers ask you to walk through real work.
Are these the exact questions asked at Mastek?
No. These are curated practice questions that match the skills and difficulty usually tested in it services interviews like Mastek's. They are not a leaked or verified list of past questions.
Where does Mastek hire Automation Testing professionals in India?
Mastek has large teams in Mumbai, Pune. Openings and locations change often, so check the Mastek careers page and filter by city and experience.
Automation Testing questions for similar companies