ETL Testing Defects Examples: 15 Real Bugs and How to Catch Them

"Tell me about a defect you found" is one of the most common ETL testing interview questions. These 15 ETL testing defects examples are typical of real projects. Each one has an example, the SQL that catches it and why it matters.

Completeness Defects

#DefectExampleHow to catch
1Missing records12 of 50,000 orders absent from fact tableEXCEPT/MINUS on keys
2Extra recordsTest accounts loaded that should be filteredEXCEPT in the other direction; check filter rule
3Duplicate recordsJob re-run inserted the same day twiceGROUP BY key HAVING COUNT(*) > 1
4Rejected rows not reportedInvalid dates silently droppedSource = target + rejects reconciliation
SQL
-- Defect 3: duplicates after a re-run
SELECT order_id, COUNT(*) FROM dw.fact_orders
WHERE order_date = '2026-10-01'
GROUP BY order_id HAVING COUNT(*) > 1;

Transformation Defects

#DefectExampleHow to catch
5Wrong ruleDiscount applied at ₹4,999 instead of ≥ ₹5,000Recompute rule in SQL; compare
6Untrimmed / wrong case"pune " and "Pune" become two citiesGROUP BY UPPER(TRIM(col)) vs GROUP BY col
7Wrong lookupProduct mapped to wrong category after code changeJoin source code to target category; compare
8Wrong date format03/04/2026 loaded as 4 March instead of 3 AprilCompare parsed dates with source text
9Wrong currency/unitsPaise loaded as rupeesAggregate totals reconciliation
SQL
-- Defect 5: discount rule check (expect 0 rows)
SELECT order_id, amount, discount_flag
FROM dw.fact_orders
WHERE discount_flag <> CASE WHEN amount >= 5000 THEN 'Y' ELSE 'N' END;

Data Quality and Structure Defects

#DefectExampleHow to catch
10TruncationAddresses cut at 50 charactersCompare MAX(LENGTH(col)) source vs target; metadata testing
11NULL defaults wrongMissing phone loaded as "0000000000"Profile distinct values; data profiling
12Orphan foreign keysSales rows with no matching customerLEFT JOIN dimension WHERE key IS NULL

Load and History Defects

#DefectExampleHow to catch
13Incremental load misses updatesChanged addresses not picked up because only inserts are capturedUpdate source rows, run load, compare
14SCD Type 2 brokenTwo current rows for one customer, or date gapsSCD testing checks
15Late-arriving data lostOrders for a new customer rejected because dimension row arrives laterCheck unknown-member handling and reprocessing
SQL
-- Defect 14: more than one current row per customer
SELECT customer_id, COUNT(*) FROM dw.dim_customer
WHERE is_current = 'Y'
GROUP BY customer_id HAVING COUNT(*) > 1;

ETL Defect Report Template

FieldExample
Summaryfact_orders: 12 orders missing for 2026-10-01 load
Environment / loadSIT, batch ID 4471, job wf_load_orders
Mapping ruleRule 3.2: all PAID and SHIPPED orders load to fact_orders
Query to reproduceEXCEPT query on order_id with the same filters
Expected vs actualExpected 50,000 rows; actual 49,988
Sample dataorder_id 90012, 90377, 90561 …
Severity / priorityHigh / P1 (financial totals affected)
Suspected causeOrders with NULL region filtered by an inner join

Severity Guide

  • Critical: money or regulatory numbers wrong, or load fails.
  • High: missing or duplicate records, broken history.
  • Medium: formatting or non-critical attribute errors.
  • Low: cosmetic issues in descriptive fields.

To explain a defect in an interview: the rule, how you found it (the query), the root cause and the fix. See explaining an ETL project and ETL test cases.

Data testing skills: SQL for testers · data migration testing · Power BI testing · big data testing · data quality checks · ETL tools list · ADF & Databricks testing · database testing interview questions · Python for testers · data reconciliation · SQL joins · test data management · Snowflake ETL testing · AWS Glue testing · data lake testing

More guides for Indian students: ETL full form · ETL testing with example · ETL testing jobs in India · ETL testing course in India · ETL training in Hyderabad, Bangalore & Pune · best ETL testing course on Udemy · ETL testing roadmap · ETL tester vs ETL developer · interview questions for freshers · free ETL testing mock test · SQL for testers · QA to data engineer · ETL testing kya hai (Hindi) · ETL testing projects for practice · ETL testing notes · work from home ETL jobs

Frequently Asked Questions

What are common defects in ETL testing?

Missing, extra and duplicate records, wrong transformation rules, untrimmed or wrong-case values, wrong lookups, truncation, wrong date formats, orphan keys, incremental load gaps and broken SCD history.

How do you report an ETL defect?

Include the table, load ID, mapping rule, the SQL to reproduce, expected vs actual results, sample keys, severity and suspected cause.

How do I answer "explain a defect you found" in an interview?

Describe the rule, how your query found the issue, the impact, the root cause and the fix, in about a minute.

What is the most common ETL defect?

Duplicates and missing records from wrong joins, filters or re-runs are among the most common.

How do you prevent ETL defects?

Clear mapping documents, data profiling before development, automated reconciliation checks after every load and regression testing for changes.

Asim Noaman Lodhi
Written by

Asim Noaman Lodhi

Certified Google Partner · QA Consultant · 12+ Years IT

QA consultant specializing in ETL testing and data quality. Trained 913+ students to transition into data testing roles through hands-on, real-world instruction.

4.5 Rating 913+ Students Google Partner 79 Lectures

Learn to Find Defects Like These Hands-On

Real ETL testing scenarios, data warehouse basics, Python and AI-assisted checks. 79 lectures, $19.00.

Preview Free Lectures on Udemy