Deutsche Bank Software 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 Software 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 Software Testing roles, this Deutsche Bank practice set focuses most on Bug Life Cycle and Jira (7), Agile, SQL and API Testing (6), STLC and Test Planning (5), Manual Testing Basics (4). It has 10 easy, 26 medium, 4 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 Software 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.
Use analytics to pick browsers and versions that most real users have, plus the ones listed in the requirement, usually the latest two versions of major desktop and mobile browsers. Run the main flows on each and check layout, fonts, forms, date pickers, file upload and JavaScript errors in the console. Use responsive mode for screen sizes, and real devices or a cloud device lab for mobile browsers.
03
A developer asks you to test a feature that has no acceptance criteria. How do you proceed?
First ask the product owner or business analyst for the expected behaviour and write down the answers as draft acceptance criteria. Meanwhile, explore the feature, compare it with similar existing features and list assumptions. Share the assumptions in the story so everyone agrees before you sign off. Raise the missing criteria in the next refinement so future stories are not picked up without them.
04
How do you test API error handling for invalid input?
Send requests with missing required fields, wrong data types, values beyond limits, invalid formats such as a bad email, unknown fields and an empty or malformed JSON body. The API should return a 4xx code such as 400 or 422, a clear error message that names the field, and no stack trace or database details. Also check that nothing was partly saved in the database after the failed request.
05
The UI shows the correct order total, but the database has a different value. What do you check?
Note the order ID and compare the UI value, the API response and the database value to find where they differ. Check if the UI calculates the total on the screen instead of using the saved value, whether taxes, discounts or rounding are applied at different layers and whether a later update job changed the record. Log the bug with all three values, because invoices and reports will use the database figure.
06
How do you calculate test execution progress and pass rate?
Execution progress = test cases executed divided by total planned test cases, multiplied by 100. Pass rate = test cases passed divided by test cases executed, multiplied by 100. For example, if 200 cases are planned, 150 are executed and 120 passed, progress is 75 percent and pass rate is 80 percent. Report blocked cases separately because they are neither passed nor failed.
07
Tell me about a time you found a bug by checking the database directly.
Situation: a wallet refund screen showed success for every test. Task: I wanted to confirm the balance logic. Action: I queried the wallet_transactions table and saw two refund rows when I double-clicked the submit button, though the UI showed one. I logged it with both query outputs and the steps. Result: developers added an idempotency key, and the team added a database check to our regression checklist.
08
Which basic Git commands should a manual tester learn before working on automation?
Start with: git clone to copy the test repository; git pull to get the latest changes; git checkout -b feature/login-tests to create a branch; git status and git diff to see changes; git add and git commit -m to save work with a message; and git push to send the branch so you can raise a pull request for review. Also learn to resolve simple merge conflicts and never commit passwords.
Data-driven testing runs the same test steps many times with different input and expected values taken from a table, CSV, JSON or spreadsheet. For example, one login test can run with valid users, locked users, wrong passwords and blank fields. It reuses the logic, makes adding cases easy and maps well to equivalence partitioning and boundary values from manual design. Tools support it through parameterised tests, such as pytest.mark.parametrize.
Status code, response body and schema, headers, response time, error messages for invalid input, authentication (401/403) and that data is saved in the database.
12
A manager says the app has 50,000 daily users, so the load test must run 50,000 virtual users at once. How do you respond?
Explain that daily users are not concurrent users. Of 50,000 users a day, only a fraction are active at the same moment, and even they pause between actions because of think time. Use analytics to find the real peak concurrency and request rate, for example 1,500 concurrent users at peak hour, and model that with a safety margin. Running 50,000 users clicking at once tests a load that never happens and wastes effort.
13
An automated test keeps failing because an element's ID is generated differently on every build. What do you do?
Stop using the dynamic ID. Look for a stable alternative: the element's role and visible name, its label, a stable attribute, or a relative locator based on a nearby fixed element. The best long-term fix is asking developers to add a data-testid attribute. Avoid partial matches on random strings, which can break again. Then update the locator in the page object so every test using it is fixed at once.
Model answer: To me quality means the product does what users need, reliably, and is easy to use, not just that test cases pass. In my final-year project I tested a library app; all features worked, but students struggled to find the search option. I reported it as a usability issue and the team moved search to the home screen. That taught me to test from the user's point of view as well.
Backward compatibility testing checks that a new version still works with older versions of things it depends on or that depend on it. Examples: a new app version opens files and data created by the old one, a new API version still serves older mobile app versions that users have not updated, and an upgraded database keeps old records readable. It prevents breaking existing users when only some parts of the system are upgraded.
Won't Fix means the bug is acknowledged as real, but the team decides not to fix it, usually because the impact is very low, the feature is being retired or the cost of fixing is higher than the benefit. The decision is made by the product owner, often in triage with dev and QA leads. The tester should make sure the reason is recorded and, if user-facing, documented as a known issue.
17
Your automated tests pass one by one but fail randomly when run in parallel. How do you fix the test data so tests are independent?
Each test should create the data it needs, usually through an API or database helper, use unique values such as an email with a timestamp, and clean up afterwards. Avoid tests that depend on data made by another test or on a shared account other tests change. For fixed reference data, seed it before the suite runs. Independent data allows tests to run in parallel and in any order without random failures.
XSS is a vulnerability where an attacker's script is injected into a page and runs in other users' browsers, which can steal session data or change the page. It occurs when user input is shown without proper encoding. Testers enter a harmless script tag or an image tag with an onerror alert in comments, profile names and search boxes, then check if it executes when the page is displayed. Output encoding prevents it.
19
How do you test a mobile app's offline mode and data sync?
Turn off the network and perform supported actions, such as creating, editing and deleting records, and check they are saved locally with a pending status. Reconnect and verify everything syncs once, in order, with no duplicates. Test conflicts, where the same record is changed on two devices, and confirm the agreed rule applies. Test sync after app restart, on a slow network and when the server rejects a change.
20
How do you capture logs from an Android device for a bug report?
Enable developer options and USB debugging, connect the phone and confirm it is visible with adb devices. Clear old logs with adb logcat -c, reproduce the bug, then save logs with adb logcat -d > crash_log.txt, filtering by the app package or error level if needed. For a crash, search for FATAL EXCEPTION. Attach the log, device model, OS version, app version and a screen recording to the bug.
Save filters for common views such as my open bugs, bugs ready for retest, blockers in the current sprint and bugs by fix version. Add them to a dashboard with gadgets like pie charts by priority, created versus resolved trend and a sprint bug list. Share the dashboard with the team so status is visible without manual reports. Testers start their day from the ready-for-retest filter.
Keep a tiered regression suite: a smoke set for every build, a core set of critical flows for every release and a full set run on a rotation or before major releases. Each month, add impact-based tests from the release changes and cases for recent production bugs. Automate stable, repeated cases and keep manual effort for new or changing areas. Schedule regression early enough to fix and retest found issues.
24
You notice full card numbers printed in the application logs. What do you do?
Treat it as a high-severity security defect, because storing full card numbers in logs breaks payment card security rules and creates a data leak risk. Do not copy the card numbers into the bug; use masked examples and the log location instead. Log the bug with restricted visibility and inform your lead and the security contact right away. After the fix, verify new logs are masked and confirm old logs are cleaned.
A manual tester understands requirements, writes test scenarios and test cases, prepares test data, executes tests on each build, logs clear bug reports and retests fixes. They also do exploratory testing, join stand-ups and reviews, and give a quality status before release. Beyond finding bugs, a good manual tester represents the end user and raises usability or requirement gaps early, when they are cheap to fix.
Scrum works in fixed sprints with planned scope, roles and ceremonies, so the tester plans testing for the sprint and aims to finish all stories by the sprint end. Kanban is a continuous flow with work-in-progress limits and no fixed sprints, so testing happens as each item reaches the test column. In Kanban, a tester watches that the testing column does not become a bottleneck and raises it when limits are hit.
Severity is impact on the system; priority is urgency of the fix. A crash in a rare report is high severity, low priority; a spelling mistake in the logo is low severity, high priority.
A test harness is the setup of drivers, stubs, test data, scripts and tools needed to run tests on a component and collect results, especially when the full system is not available. For example, to test a pricing module, a harness can feed it input files, stub the tax service and compare outputs with expected values. In automation, the framework, runner and reporting together are often called the harness.
SDLC is the full software development life cycle; STLC is the testing life cycle: requirement analysis, test planning, test design, environment setup, execution and closure.
Functional testing checks what the system does (login, checkout). Non-functional testing checks how well it does it (performance, security, usability, compatibility).
Defect removal efficiency shows how many defects the team found before release. DRE = defects found before release divided by (defects found before release plus defects found after release), multiplied by 100. If QA found 90 bugs and users reported 10, DRE is 90 percent. A falling DRE means testing is missing more defects, and the escaped bugs should be analysed to improve test coverage.
38
A CAPTCHA on the signup page blocks screen reader users. What do you recommend?
Log it as a high-severity accessibility bug because it fully blocks a group of users from signing up. An image-only CAPTCHA fails WCAG unless an alternative is offered. Recommend options such as invisible or risk-based bot checks, an email or OTP verification step, an audio alternative plus another modality, and rate limiting on the server. Retest the full signup with NVDA and TalkBack after the change.
39
The build arrived three days late but the release date has not moved. How do you prioritise execution?
Rank test cases by business risk and usage: critical flows like login, payment and data saving first, then new features, then high-risk regression from past defects, and cosmetic checks last. Run smoke testing immediately to avoid wasting time on a broken build. Share the reduced plan with the lead and product owner so they know what will not be covered, and get agreement on the remaining risk.
40
Tell me about a time you pushed for an accessibility fix the team wanted to postpone.
Situation: before a release, I found the payment form errors were not announced by screen readers and not reachable by keyboard. Task: the team wanted to defer it. Action: I recorded a short NVDA video showing a user could not finish payment, linked it to WCAG and our customer commitments, and proposed a small fix. Result: the fix took half a day, shipped in the release and we added keyboard checks to our definition of done.
Tips to crack the Deutsche Bank Software 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 Software 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 Software Testing interview?
This practice set leans on Bug Life Cycle and Jira (7), Agile, SQL and API Testing (6), STLC and Test Planning (5), Manual Testing Basics (4). 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 Software 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.