Skip to content

Practical ISTQB Interview Questions

45 questions with answers. Hands-on questions where you write code, a query, a formula or concrete steps.

How to approach these questions

Talk while you work: say your approach first, write the simplest correct version, then improve it and mention edge cases.

Solved — practicalStart 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

Match these tasks to test activities: identifying test conditions, creating test data and suites, comparing actual and expected results, archiving testware.

Save to ▾
Show answer
Identifying and prioritising test conditions is test analysis. Creating test data, arranging test procedures and assembling test suites is test implementation. Running tests and comparing actual with expected results is test execution. Archiving testware, handing it over and recording lessons learned is test completion. Exams often mix design and implementation: designing test cases is test design, while preparing them to run is implementation.
02

Derive test conditions for the requirement 'Users can transfer up to 50,000 rupees per day.'

Save to ▾
Show answer
Read the test basis and list testable aspects. Conditions: a transfer within the limit succeeds; a transfer of exactly 50,000 succeeds; a transfer above 50,000 is rejected with a clear message; several transfers in one day are added together against the limit; the limit resets the next day; zero or negative amounts are rejected. Prioritise them by risk, then design test cases with exact amounts using boundary value analysis.
03

How do you perform a simple root cause analysis on a production failure?

Save to ▾
Show answer
Collect the failure details and logs, reproduce the issue and identify the defect. Then ask 'why' repeatedly until you reach a process cause. Example: a wrong discount was shown; why? the code used an old rule; why? the requirement changed without notice; why? there was no change review step. Action: add change notifications and a review step. Fixing root causes prevents whole families of similar defects.
04

Write a BDD scenario for locking an account after three failed login attempts.

Save to ▾
Show answer
Feature: Account lockout Scenario: Lock account after three failed attempts Given a registered user with an active account When the user enters a wrong password 3 times in a row Then the account is locked And the message 'Account locked. Try again after 30 minutes' is shown Given sets the context, When is the action and Then is the expected outcome.
05

Show the TDD red-green-refactor cycle with a small example.

Save to ▾
Show answer
# Red: write a failing test first def test_discount(): assert discount(1000) == 100 # Green: simplest code that passes def discount(amount): return amount * 0.10 # Refactor: improve design, test stays green RATE = 0.10 def discount(amount): return round(amount * RATE, 2) Repeat the cycle for each new behaviour, such as no discount below 500.
06

How do you use impact analysis to decide regression scope?

Save to ▾
Show answer
Identify changed items from commits and change requests; use traceability to find affected requirements, components and interfaces; check dependency maps and defect history; rank the affected areas by risk; select automated regression for broad coverage plus targeted manual tests for high-risk flows; and document what is excluded and why. Impact analysis can also help decide whether a risky change should be made at all.
07

Give a checklist you would use to review a user story.

Save to ▾
Show answer
Is it written as 'As a [role], I want [goal], so that [benefit]'? Does it follow INVEST: independent, negotiable, valuable, estimable, small and testable? Are acceptance criteria clear, measurable and testable? Are error flows and edge cases covered? Are terms consistent with the glossary? Are dependencies and non-functional needs stated? Are vague words like 'quickly' or 'etc.' present? Log each anomaly with location, description and a suggestion.
08

Walk through the steps of running a technical review of a design document.

Save to ▾
Show answer
Plan: define scope, objective and exit criteria and choose reviewers with the right expertise. Initiate: share the document, checklist and timeline. Individual review: each reviewer logs anomalies in a shared tool. Communication and analysis: the moderator runs the meeting, the team discusses anomalies and agrees actions. Fixing and reporting: the author updates the document, defects are tracked, and results are checked against exit criteria.
09

What should a tester look for when reviewing code?

Save to ▾
Show answer
Check that inputs are validated and errors handled; comparisons at boundaries are correct, such as less than versus less than or equal; variables are initialised before use; there are no hard-coded passwords or secrets; logs avoid personal data; duplicated code is removed; complexity is reasonable; and unit tests cover new logic and edge cases. Combine manual review with static analysis tools for routine checks.
10

Show two defects a static analysis tool can find without running the code.

Save to ▾
Show answer
def get_discount(amount): if amount > 1000: rate = 0.1 return amount * rate # rate undefined when amount <= 1000 def old_helper(): return 0 print('done') # unreachable code The tool flags a possibly undefined variable, a data flow anomaly, and unreachable code. Both are found statically, before any test is executed.
11

An age field accepts 18 to 60. Apply equivalence partitioning. How many tests give 100 percent EP coverage?

Save to ▾
Show answer
There are three partitions: below 18 (invalid), 18 to 60 (valid) and above 60 (invalid). Pick one value from each, for example 10, 35 and 70. So three test cases give 100 percent EP coverage. Test invalid partitions one at a time so that one invalid value does not hide another, and confirm with the specification whether non-numeric input forms another invalid partition.
12

A quantity field accepts 1 to 100. List the 2-value BVA test values.

Save to ▾
Show answer
The valid partition is 1 to 100, with invalid partitions below and above it. For each boundary, take the boundary and its closest neighbour in the adjacent partition. Lower boundary: 0 and 1. Upper boundary: 100 and 101. So 2-value BVA needs four values: 0, 1, 100 and 101, and four test cases give 100 percent 2-value boundary coverage.
13

A field accepts integers from 5 to 15. List the 3-value BVA test values.

Save to ▾
Show answer
In 3-value BVA, each boundary gives the boundary value plus both neighbours. Lower boundary 5 gives 4, 5 and 6. Upper boundary 15 gives 14, 15 and 16. So the six values are 4, 5, 6, 14, 15 and 16. Compared with 2-value BVA (4, 5, 15, 16), the extra values 6 and 14 help detect mistakes in comparison operators inside the range.
14

Payment type has 3 partitions (card, UPI, wallet) and customer type has 2 (new, existing). What is the minimum number of tests for Each Choice coverage?

Save to ▾
Show answer
Each Choice coverage needs every partition from each input used at least once, and one test can cover one partition of each input at the same time. So the minimum equals the largest number of partitions: 3. Example tests: card with new, UPI with existing, wallet with new. Covering all combinations would need 3 x 2 = 6 tests, which is not required for Each Choice.
15

Build a decision table for a loan rule: approve if salary is at least 30,000 and credit score is at least 700; refer if only one is met; otherwise reject.

Save to ▾
Show answer
Conditions R1 R2 R3 R4 Salary >= 30000 T T F F Score >= 700 T F T F Actions Approve X - - - Refer to officer - X X - Reject - - - X Two Boolean conditions give 2 x 2 = 4 rules, so 4 test cases give 100 percent decision table coverage.
16

A decision table has three Boolean conditions. If condition A is false, the result is always 'reject'. How many columns does the minimised table have?

Save to ▾
Show answer
A full table has 2 to the power 3 = 8 columns. When A is false, the other two conditions do not matter, so those four columns merge into one column with dashes for B and C. When A is true, the four combinations of B and C remain. The minimised table has 4 + 1 = 5 columns, so 5 tests give full coverage, if all columns are feasible.
17

Model an ATM PIN entry with three attempts as states and transitions. How many tests are needed for valid transitions coverage?

Save to ▾
Show answer
States: Idle, WaitPIN, Try2, Try3, Access, Locked Idle --insert card--> WaitPIN WaitPIN --correct PIN--> Access WaitPIN --wrong PIN--> Try2 Try2 --correct PIN--> Access Try2 --wrong PIN--> Try3 Try3 --correct PIN--> Access Try3 --wrong PIN--> Locked There are 7 valid transitions. Access and Locked are final states, so each test ends there; covering all 7 needs at least 4 tests.
18

How do you use a state table to find invalid transitions?

Save to ▾
Show answer
A state table lists states as rows and events as columns, and each cell shows the resulting state or marks the transition as invalid. Example: a document workflow with states Draft, Review and Published, and events submit, approve and reject. Draft with approve is invalid. Valid cells are coverage items for valid transitions coverage; invalid cells are tested for all transitions coverage, one per test case.
19

A password must be 8 to 16 characters long. What are the 2-value BVA tests?

Save to ▾
Show answer
The partitions by length are 0 to 7 (invalid), 8 to 16 (valid) and 17 or more (invalid). 2-value BVA takes each boundary and its closest neighbour: 7 and 8 for the lower boundary, 16 and 17 for the upper boundary. So test passwords of length 7, 8, 16 and 17 characters, keeping other rules such as character types valid so only the length varies.
20

You identified 6 equivalence partitions and your tests exercise 4 of them. What is the coverage? Does adding a second test in the same partition help?

Save to ▾
Show answer
EP coverage = exercised partitions / identified partitions x 100 = 4 / 6 x 100 = 66.7 percent. Adding another test in an already covered partition does not increase coverage, because coverage counts partitions, not tests. To reach 100 percent you need tests in the two missing partitions. Exams often include such distractors to see if you count tests instead of coverage items.
21

An amount field accepts 0.01 to 999.99 with two decimal places. What are the 2-value boundary values?

Save to ▾
Show answer
The closest neighbour depends on the precision, here 0.01. Lower boundary: 0.00 (invalid) and 0.01 (valid). Upper boundary: 999.99 (valid) and 1000.00 (invalid). So the four test values are 0.00, 0.01, 999.99 and 1000.00. Always confirm the precision from the specification, because with whole numbers the neighbour would be 1, and with three decimals it would be 0.001.
22

Marks from 0 to 100 give: 0-39 fail, 40-59 pass, 60-100 distinction. How many partitions and 2-value boundary values are there?

Save to ▾
Show answer
Valid partitions: 0-39, 40-59 and 60-100, plus two invalid partitions: below 0 and above 100, so 5 partitions. Boundaries in 2-value BVA: -1, 0, 39, 40, 59, 60, 100 and 101, which is 8 values. Five tests give 100 percent EP coverage, and eight tests give 100 percent 2-value boundary coverage. Note that output partitions like fail, pass and distinction also guide the partitioning.
23

Free shipping applies for orders of 499 rupees or more, otherwise a fee of 40 applies. Design tests using EP and BVA.

Save to ▾
Show answer
Partitions: 0 or less is invalid, 1 to 498 pays 40, and 499 or more ships free. EP tests: 0 rejected, 250 pays 40, 800 free. 2-value BVA adds 0 and 1 at the lower edge and 498 and 499 at the free shipping boundary. Combined minimal set: 0, 1, 250, 498, 499 and 800, each with the expected fee clearly stated.
24

Discount depends on customer type (regular, gold, platinum) and whether the order exceeds 1,000 rupees. How many rules does the full decision table have?

Save to ▾
Show answer
When conditions are not Boolean, multiply the number of values of each condition. Customer type has 3 values and the order condition has 2, so the full table has 3 x 2 = 6 rules. Each rule becomes one test case for 100 percent decision table coverage. If, for example, platinum always gets the same discount regardless of amount, those two columns can be merged, giving 5.
25

Find the minimum tests for 100 percent statement and branch coverage of this code.

Save to ▾
Show answer
read(x) if x > 10: print('big') print('done') Statement coverage: one test with x = 15 executes every statement, so 1 test. Branch coverage: the if has a true and a false outcome, so tests with x = 15 and x = 5 are needed, 2 tests.
26

How many tests are needed for full statement and branch coverage of this nested code?

Save to ▾
Show answer
if a > 0: if b > 0: s1 else: s2 else: s3 Statement coverage needs 3 tests, because s1, s2 and s3 are on different paths. Branch coverage also needs 3: (a > 0, b > 0), (a > 0, b <= 0) and (a <= 0). With full if-else structures, both criteria need the same number of tests.
27

A test suite executes 8 of 10 executable statements and 3 of 4 branches. What are the coverage figures?

Save to ▾
Show answer
Statement coverage = 8 / 10 x 100 = 80 percent. Branch coverage = 3 / 4 x 100 = 75 percent. To raise them, look at the control flow graph to see which statements and which branch outcome were missed, then design inputs that force execution down those paths. Coverage tools in CI pipelines report these numbers automatically for each build.
28

Find the minimum tests for statement and branch coverage when there are two independent if statements in sequence.

Save to ▾
Show answer
if a > 0: s1 if b > 0: s2 Statement coverage: one test with a = 1 and b = 1 runs s1 and s2, so 1 test. Branch coverage: each if needs a true and a false outcome. Tests (a = 1, b = 1) and (a = 0, b = 0) cover all four branches, so 2 tests.
29

Write a test charter for an exploratory session on a checkout page.

Save to ▾
Show answer
Charter: Explore the checkout page with different coupon and payment combinations to discover pricing and rounding errors. Time box: 60 minutes. Focus areas: coupon stacking, expired coupons, quantity changes after applying a coupon, currency rounding, and using the browser back button. Record test ideas, defects, questions and areas covered. Debrief with the test lead after the session to agree next charters.
30

Prepare a fault attack list for a file upload feature.

Save to ▾
Show answer
List likely failures and design tests for each: empty file; file just above the size limit; very large file; wrong extension; correct extension with wrong content; file names with spaces, Unicode or very long names; duplicate names; upload interrupted by network loss; many uploads at once; malicious files such as scripts; and uploads without login or with an expired session. Prioritise by risk.
31

Calculate a three-point estimate where optimistic is 6, most likely is 9 and pessimistic is 18 person-days.

Save to ▾
Show answer
E = (a + 4m + b) / 6 = (6 + 4 x 9 + 18) / 6 = (6 + 36 + 18) / 6 = 60 / 6 = 10 person-days SD = (b - a) / 6 = (18 - 6) / 6 = 2 Report the estimate as 10 +/- 2 person-days, which gives a range of 8 to 12.
32

Historically, development and test effort are in the ratio 3:2. Development is estimated at 600 person-days. Estimate the test effort.

Save to ▾
Show answer
This is estimation based on ratios. Test effort = development effort x 2 / 3 = 600 x 2 / 3 = 400 person-days. The ratio must come from similar past projects in the same organisation, because it changes with domain, risk and process maturity. I would also cross-check with another technique, such as Wideband Delphi, before committing to the number.
33

Order these tests for execution: A (priority 1, depends on C), B (priority 2), C (priority 3), D (priority 2, depends on B). 1 is highest.

Save to ▾
Show answer
A has the highest priority but depends on C, so C must run first, followed by A. Next come the priority 2 tests: B, then D, because D depends on B. The execution order is C, A, B, D. ISTQB exams often include such questions; always satisfy dependencies first, then follow priority, and run the highest priority test as early as its dependencies allow.
34

How do you prioritise risks using a likelihood and impact matrix?

Save to ▾
Show answer
Score each risk for likelihood and impact on a scale such as 1 to 5, and multiply to get the risk level. Example: wrong interest calculation, likelihood 3 and impact 5, level 15; slow report export, likelihood 4 and impact 2, level 8; spelling errors, 4 and 1, level 4. Test the highest levels first and most deeply, using more rigorous techniques and earlier test execution.
35

Outline a test completion report for a release.

Save to ▾
Show answer
Include: summary of testing done and the scope; evaluation of product quality against the test plan and exit criteria; deviations from plan in schedule, effort or scope; impediments faced; metrics such as tests run, passed, failed, coverage and defects by severity; open defects with workarounds; unmitigated residual risks; testware handed over or archived; and lessons learned with improvement actions for the next release.
36

Write a sample defect report for a failed coupon code.

Save to ▾
Show answer
ID: DEF-1042. Title: Checkout - valid coupon SAVE10 rejected as expired. Build: 3.4.1, staging, Chrome 130 on Windows. Preconditions: logged-in user, cart value 1,500 rupees. Steps: open checkout, enter SAVE10, click Apply. Expected: 10 percent discount applied. Actual: error 'Coupon expired' although valid until 31 December. Attachments: screenshot, console log. Severity: major. Priority: high. Reference: TC-CHK-018.
37

Testing found 80 defects and users found 20 more after release. What is the defect detection percentage?

Save to ▾
Show answer
DDP = defects found in testing / (defects found in testing + defects found after release) x 100 = 80 / (80 + 20) x 100 = 80 / 100 x 100 = 80 percent So testing caught 80 percent of known defects. Tracking DDP across releases shows whether test effectiveness is improving.
38

A module of 15,000 lines of code has 45 defects. Calculate its defect density and explain how you would use it.

Save to ▾
Show answer
Defect density = defects / size = 45 / 15 KLOC = 3 defects per KLOC. If other modules average 1 defect per KLOC, this module is a defect cluster, so I would increase test depth there, ask for a code review or refactoring, and add more regression tests. Compare density only across similar code, because language and complexity affect the numbers.
39

How do you run an effective defect triage meeting?

Save to ▾
Show answer
Invite the test lead, a development lead and the product owner. Prepare a filtered list of new and re-opened defects before the meeting. For each defect, confirm it is valid and not a duplicate, agree severity and priority, assign an owner and a target release, or reject or defer it with a reason. Keep it time-boxed, record decisions in the tool, and review ageing critical defects regularly.
40

Suggest a four-week study plan for a fresher preparing for CTFL v4.0.

Save to ▾
Show answer
Week 1: chapters 1 and 2, the seven principles, test activities, test levels and test types; make notes of key terms. Week 2: chapter 3 and black-box techniques, solving at least 30 EP, BVA, decision table and state transition problems. Week 3: white-box and experience-based techniques, chapters 5 and 6, with estimation and risk exercises. Week 4: three or more timed sample exams and revision of mistakes.
41

How do you register for the CTFL exam in India?

Save to ▾
Show answer
Register through the ISTQB member board for India or an ISTQB-accredited exam provider. Create an account, choose CTFL v4.0, and pick either an online proctored exam or a test centre. For online exams, check your webcam, microphone and internet in advance, and keep a valid government photo ID ready. Results are usually shared soon after the exam, followed by the certificate.
42

How should you answer 'select TWO' questions in the CTFL exam?

Save to ▾
Show answer
Read the instruction carefully, because you must select exactly two options and usually get the point only if both are correct. Evaluate each option separately as true or false against the syllabus. Eliminate absolute statements and options that describe a different concept. If you are sure of one, compare the remaining options carefully. These questions appear in the exam, so practise them in sample papers.
43

How do you use the ISTQB glossary to prepare effectively?

Save to ▾
Show answer
Each learning objective lists keywords that you must know. Make flashcards for them with the exact glossary definition and one example from your own work, such as 'test basis: the user story for checkout'. Review them daily with spaced repetition. Pay attention to similar terms, like test condition versus test case, and confirmation versus regression testing, because exams use them as distractors.
44

Show a simple CI pipeline step that runs automated tests on every push.

Save to ▾
Show answer
name: tests on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: '3.12' - run: pip install -r requirements.txt - run: pytest --junitxml=report.xml The pipeline fails if any test fails, giving fast feedback to the developer.
45

How do you learn from sample exams instead of just counting your score?

Save to ▾
Show answer
After each timed attempt, review every question, including correct guesses. For each mistake, note the learning objective, the chapter and why the right option is correct in the syllabus text. Group mistakes by chapter to find weak areas, re-read those sections, and redo similar questions after a few days. Aim for consistent scores of 32 or more out of 40 before the real exam.

Frequently asked questions

Why are practical questions important?

Most technical rounds include at least one live task. Practising the exact typing and reasoning makes you calm and fast in the real round.

How should I answer them?

Talk while you work: say your approach first, write the simplest correct version, then improve it and mention edge cases.