Deutsche Bank Automation Testing Interview Questions & Answers
Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About Deutsche Bank hiring for Automation Testing roles
Deutsche Bank is a German global bank with corporate banking, investment banking, private banking and asset management businesses. Its India technology and operations centres in Pune, Bengaluru, Mumbai and Jaipur support global functions. It hires for software engineers, QA engineers, data engineers, business analysts and risk analysts.
For Automation Testing roles, this Deutsche Bank practice set focuses most on Core Java for Testers (6), Page Object Model (6), Cucumber and BDD (5), Selenium WebDriver (5). It has 4 easy, 33 medium, 3 hard questions, so you can start easy and work up to the harder ones.
Company type
Banking & finance
Headquarters
Frankfurt, Germany
Main India offices
Pune, Bengaluru, Mumbai, Jaipur
Deutsche Bank Automation Testing interview process
Online assessment (aptitude + coding)
Technical round 1
Technical round 2
Managerial round
HR round
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for Deutsche BankStart 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.
Write a method that builds the locator from a parameter, for example private By rowFor(String name) { return By.xpath("//tr[td[normalize-space()='" + name + "']]"); }, and expose actions like deleteUser(name). Keep the template in the page class, not in tests. Escape quotes if names may contain them, and prefer CSS with data attributes when the application provides them.
04
What are page components or page fragments in POM?
Components are classes for UI parts that repeat across pages, such as the header, search bar, date picker or a data table. A page object then has-a component: homePage.header().search("laptop"). This follows composition over inheritance, avoids duplicate locators and matches modern component-based frontends. Components are usually scoped to a root WebElement so locators search only inside that element.
05
How do you handle a component that appears inside many different pages, like a modal dialog?
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.
06
Response time grows slowly over a six-hour soak test while load stays constant. What does it suggest?
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.
07
What is the difference between average, median and 95th percentile response time?
Average is the sum divided by count, so a few very slow requests can distort it. Median is the middle value, meaning half the requests were faster. The 95th percentile means 95 percent of requests were faster than that value, which reflects what most users experience including slow cases. SLAs are usually written on 90th, 95th or 99th percentiles because averages hide long tails that frustrate real users.
08
Write Selenium code to verify that all links on a page are not broken.
Use TestNG parallel="methods | classes | tests" with thread-count, keep WebDriver in a ThreadLocal, and use Selenium Grid or a cloud grid for multiple browsers.
Locate rows and columns with XPath such as //table//tr and //td, loop through them to read or click cells, or build the XPath dynamically from the row text.
Compare effort saved by running automated tests repeatedly against the cost of building and maintaining scripts, counting execution time, defects found earlier and release speed.
12
Write a REST Assured POST test that sends a JSON body and checks the response.
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.
14
What is the difference between a page object and a utility class in a test framework?
A page object models one screen or component: its locators and the user actions possible there, such as LoginPage.loginAs. A utility class holds generic helpers not tied to any page, such as reading config, generating test data, date formatting or taking screenshots. Mixing them makes page objects bloated and utilities dependent on the UI. Keep page objects in a pages package and helpers in a utils package.
15
How do you pass thread count and duration to a JMeter test from the command line?
// In the Thread Group fields use property functions with defaults
Number of Threads: ${__P(users,10)}
Ramp-up period: ${__P(rampup,30)}
Duration (seconds): ${__P(duration,300)}
// Then override them when running
jmeter -n -t load.jmx -l out.jtl -Jusers=200 -Jrampup=120 -Jduration=1800
16
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"));
17
Why is XPath slow in Appium and what should you use instead?
For every XPath query Appium must fetch the full page source of the app, convert it into an XML document and then evaluate the expression, which can take seconds on large screens and is even slower on iOS. Index-based XPath also breaks when layouts change. Use accessibility id first, then resource-id, Android UiAutomator selectors or iOS predicate strings and class chains, which are evaluated natively on the device and are much faster.
Another element, such as a cookie banner, loader overlay or sticky header, covers the target. In CI the window is often smaller, so the layout differs. Set a fixed window size, wait for the overlay to disappear with invisibilityOfElementLocated, close banners in setup and scroll the element into view. Use a JavaScript click only as a last resort, since it bypasses real user behaviour.
@DataProvider returns Object[][]; a @Test(dataProvider = "name") method runs once per row — the basis of data-driven tests, often reading Excel or JSON.
22
How do you use Cucumber with REST Assured for API BDD tests?
Write scenarios in business terms, such as "When a customer places an order for 2 items". In step definitions, build the request with REST Assured, store the Response in a shared scenario context, and assert in Then steps using then().statusCode() and JSON path checks. Keep base URI, auth and specs in a helper class so steps stay short and the same steps serve many features.
23
What are generics in Java and how do they help in a test framework?
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.
24
How did you handle it when your test estimates turned out to be wrong in a sprint?
Situation: I estimated three days to automate a new module, but the UI had complex dynamic tables. Task: still deliver what the sprint needed. Action: I told the lead early on day two, proposed automating the API checks first and the UI flows next sprint, and documented the extra effort. Result: the sprint goal was met, and I now spike unfamiliar screens before estimating.
25
Tell me about a time you mentored a junior tester in Java and automation.
Situation: two new joiners from manual testing struggled with framework code. Task: help them contribute within a sprint. Action: I paired with them daily for an hour, gave small tasks like adding a locator then a full test, and reviewed their code with explanations rather than rewriting it. Result: within three weeks both were writing tests independently, and our automation backlog shrank.
26
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.
27
What is the Optional class in Java and where is it useful in test code?
Optional is a container that may or may not hold a value, introduced in Java 8 to avoid returning null. In test code it suits lookups that can legitimately find nothing, such as finding a row in a table or reading an optional config key. Callers use orElse, orElseThrow or ifPresent instead of null checks. For example, findRowByName(name).orElseThrow(() -> new AssertionError(name + " not found")) gives a clear failure message.
28
Write a Dockerfile that runs a Maven and TestNG test suite.
Check that endpoints reject missing or invalid tokens with 401, block users from other users' data with 403 or 404, validate input to prevent injection, do not leak stack traces or sensitive fields, enforce HTTPS and set security headers. Automate these as negative tests in the regression suite and work with the security team for deeper penetration testing.
Fluent page objects return objects from every action so a test reads like a sentence, for example new SearchPage(driver).searchFor("phone").filterByBrand("X").sortByPrice().firstResult(). It improves readability and models navigation. The risk is long chains that hide failures, so keep chains to a single journey and use clear method names that show which page you end on.
33
A dropdown option list loads only after typing three letters. How do you automate selecting a value?
Type the text with sendKeys, wait for the suggestion list with visibilityOfAllElementsLocatedBy, then find the option whose text matches the required value and click it. Avoid selecting by index because suggestion order may change. If the list is virtualised, type more characters to narrow results. Verify the selected value in the input afterwards.
34
File upload tests pass locally but fail when they run on a remote Grid. Why?
sendKeys with a file path sends a path that exists on your test machine, but the browser runs on the remote node where that path does not exist. Set a LocalFileDetector on the RemoteWebDriver, using ((RemoteWebDriver) driver).setFileDetector(new LocalFileDetector()), so Selenium zips and transfers the file to the node first. Alternatively mount the test data folder into the node container. Always use absolute paths.
35
Tell me about a time you introduced BDD to a team. How did it go?
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.
36
What is the Cucumber runner class and what does it configure?
The runner tells the test engine where features and glue code are and how to report. With JUnit 5 it uses @Suite, @IncludeEngines("cucumber"), @SelectClasspathResource("features") and @ConfigurationParameter for glue, plugins and tags. With TestNG you extend AbstractTestNGCucumberTests and use @CucumberOptions(features, glue, tags, plugin, monochrome). The runner lets Maven or Jenkins run features like normal tests.
Tips to crack the Deutsche Bank Automation Testing interview
Revise Java, SQL and OOP, which appear commonly in Deutsche Bank technology interviews.
Learn the trade lifecycle and basics of foreign exchange and fixed income for domain questions.
Read about Deutsche Bank's focus on cloud transformation and its partnership with Google Cloud.
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; Deutsche Bank interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the Deutsche Bank Automation Testing interview?
Candidates usually go through 5 stages: Online assessment (aptitude + coding); Technical round 1; Technical round 2; 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 Deutsche Bank Automation Testing interview?
This practice set leans on Core Java for Testers (6), Page Object Model (6), Cucumber and BDD (5), Selenium WebDriver (5). Revise those first, then practise explaining one or two of your own projects end to end, because most Deutsche Bank interviewers ask you to walk through real work.
Are these the exact questions asked at Deutsche Bank?
No. These are curated practice questions that match the skills and difficulty usually tested in banking & finance interviews like Deutsche Bank's. They are not a leaked or verified list of past questions.
Where does Deutsche Bank hire Automation Testing professionals in India?
Deutsche Bank has large teams in Pune, Bengaluru, Mumbai, Jaipur. Openings and locations change often, so check the Deutsche Bank careers page and filter by city and experience.
Automation Testing questions for similar companies