ETL Testing Real-Time Project: Architecture, Scenarios and How to Explain It in Interviews

"Explain your project" is the first technical question in almost every ETL testing interview in India, and the one freshers fear most. Interviewers want to hear that you understand how data flows, what you tested and what went wrong. This page walks through a complete ETL testing real-time project (a retail sales data warehouse), with the architecture, test scenarios, SQL checks, defects and a ready-to-adapt project explanation for interviews.

Here, "real-time project" means a real-world project as used in industry, not real-time streaming. For streaming pipelines, see real-time ETL testing for streaming data.

Why Interviewers Ask You to Explain Your Project

Your project explanation tells the interviewer, in two minutes, whether you have actually tested data. They listen for:

  • The business purpose: what the data was used for
  • The flow: sources, staging, warehouse, reports
  • Your role and the testing types you performed
  • Specific defects you found. This is what separates real experience from memorised theory

Freshers: do not claim industry experience you don't have. Build this project yourself (see the last section) and present it honestly as your practice project. Interviewers respect a well-explained practice project far more than a vague "real" one that falls apart under follow-up questions.

The Project: Retail Sales Data Warehouse

ItemDetails
Client domainRetail chain with physical stores and an online shop
Business goalOne daily sales dashboard for management: revenue by store, product, region and customer segment
SourcesPOS sales (Oracle), e-commerce orders (daily CSV files), customer CRM (MySQL), product master (Excel)
TargetStar schema data warehouse: fact_sales with dim_customer, dim_product, dim_store and dim_date
ETLDaily incremental load at 2 AM through a staging layer
ReportingPower BI sales dashboard
TeamBusiness analyst, 3 ETL developers, 2 ETL testers, BI developer
MethodologyAgile, 2-week sprints; defects tracked in Jira

Project Architecture

Draw this on paper or a whiteboard in the interview. It instantly shows you understand the flow:

Architecture
Source systems              Staging (STG)           Data warehouse (DWH)        Reporting
-----------------           ---------------         ----------------------      -----------
POS sales (Oracle)   --+                            dim_customer (SCD 2)
E-commerce orders    --+--> stg_sales      -->     dim_product                 Power BI
  (CSV files, daily)   |    stg_customer           dim_store            -->   sales dashboard
Customer CRM (MySQL) --+    stg_product            dim_date
                                                    fact_sales

            ETL tool: Informatica / SSIS / ADF / Python       Load: daily incremental at 2 AM
  • Extract: data is pulled from the 4 sources into staging tables as-is.
  • Transform: cleansing (trim, upper-case codes), currency conversion to INR, lookups for product and store keys, SCD Type 2 on customer city and segment.
  • Load: dimensions first, then fact_sales with surrogate keys.

Not sure about facts, dimensions or SCD? See data warehouse testing and SCD testing.

Your Role as an ETL Tester

  • Reviewed the business requirements and the source-to-target mapping document; raised questions on unclear rules
  • Wrote test scenarios and test cases for each table, and SQL queries for validation
  • Prepared test data for edge cases (nulls, duplicates, customer address changes, unknown product codes)
  • Validated data at each layer: source to staging, staging to warehouse, warehouse to report
  • Logged defects in Jira with the failing query and sample records, and retested fixes
  • Ran regression after every sprint and supported UAT with the business team

Real-Time ETL Test Scenarios

#ScenarioWhat you check
1Metadata validationTarget columns, data types and lengths match the mapping
2Record count checkSource count (after filters) = staging count = fact count for the load date
3Missing / extra recordsSource keys EXCEPT target keys, and the reverse
4Duplicate checkNo duplicate order line IDs in fact_sales
5Null checkMandatory columns such as store_key and date_key are never null
6Transformation ruleAmount converted to INR correctly; product codes trimmed and upper-cased
7Lookup with no matchUnknown product code loads with the -1 "Unknown" key, not dropped
8SCD Type 2Customer city change closes the old row and creates a new current row
9Referential integrityEvery fact row joins to valid dimension rows
10Incremental loadOnly new and changed records processed; re-run creates no duplicates
11Report validationDashboard revenue by store matches a SQL total on the warehouse
12PerformanceLoad finishes before the 6 AM reporting window

Full list with expected results: 35 ETL testing test cases.

SQL Queries You Ran

SQL
-- Scenario 2: record count, source vs fact, for one load date
SELECT 'source' AS layer, COUNT(*) FROM src.pos_sales WHERE sale_date = '2026-10-01'
UNION ALL
SELECT 'fact', COUNT(*) FROM dw.fact_sales f
JOIN dw.dim_date d ON d.date_key = f.date_key
WHERE d.calendar_date = '2026-10-01' AND f.source_system = 'POS';

-- Scenario 6: currency conversion rule
SELECT s.sale_id, ROUND(s.amount * s.fx_rate, 2) AS expected_inr, f.amount_inr AS actual_inr
FROM stg.stg_sales s
JOIN dw.fact_sales f ON f.sale_id = s.sale_id
WHERE ROUND(s.amount * s.fx_rate, 2) <> f.amount_inr;

-- Scenario 8: exactly one current row per customer
SELECT customer_id, COUNT(*) FROM dw.dim_customer
WHERE is_current = 1
GROUP BY customer_id
HAVING COUNT(*) > 1;

-- Scenario 11: dashboard total for a store
SELECT st.store_name, SUM(f.amount_inr) AS revenue
FROM dw.fact_sales f
JOIN dw.dim_store st ON st.store_key = f.store_key
JOIN dw.dim_date d ON d.date_key = f.date_key
WHERE d.calendar_date = '2026-10-01'
GROUP BY st.store_name;

Expected results: counts equal, 0 rows for the rule and SCD checks, and totals matching the dashboard. More queries: ETL testing SQL queries.

Defects You Found (Use These Examples)

Interviewers almost always ask "what defects did you find?". Have 3 ready, each with cause and impact:

DefectHow you found itImpact
Duplicate sales rows after a job restartDuplicate check on sale_id after the 2 AM job failed and was re-runRevenue overstated on the dashboard for that day
Customer name truncated to 30 charactersMetadata check: target VARCHAR(30) vs source VARCHAR(100)Wrong names in customer reports
Unknown product codes dropped instead of mapped to -1Source count higher than fact count; missing-records querySales missing from totals
Old SCD row not closed on city changeOne-current-row-per-customer checkCustomer counted twice in regional reports
Date format swapped day and month for CSV ordersColumn profiling: max order date in the futureOrders reported in the wrong month

Sample Answer: "Explain Your Project"

Adapt this to your own project. Speak for about two minutes and stop. Let the interviewer ask follow-ups.

Sample project explanation
"My project was a sales data warehouse for a retail client. The business wanted one daily dashboard showing revenue by store, product and region. Data came from four sources: POS sales in Oracle, online orders as daily CSV files, customer data from a MySQL CRM and a product master in Excel. The ETL loaded it daily at 2 AM through a staging layer into a star schema with one fact table, fact_sales, and four dimensions, including a customer dimension with SCD Type 2.

As an ETL tester, I reviewed the mapping document, wrote test cases and SQL queries, and validated each layer: metadata, record counts, missing and duplicate records, transformation rules like currency conversion, SCD Type 2, referential integrity and incremental loads. I also checked the Power BI totals against the warehouse.

One important defect I found was duplicate sales rows when the job was restarted after a failure, which overstated revenue. I caught it with a duplicate check on sale_id; the developers fixed the restart logic, and I added that check to our regression suite."

Freshers can say "In my practice project, I built and tested…" with the same structure. It is honest and still shows real skill.

Follow-up Questions to Prepare

QuestionWhat to cover
How many tables did you test?A realistic number for your project, e.g. 1 fact and 4 dimensions plus staging
What was your data volume?Rows per day and in total; why it mattered for performance
How did you test SCD Type 2?Changed a customer city, checked old row closed, new row current, dates continuous
How did you test the incremental load?Inserted, updated and deleted source rows, ran the delta, re-ran to check no duplicates
What was your most difficult defect?Use one from the defects table with cause, detection and fix
Which tools did you use?SQL client, ETL tool, Jira, Excel; Python if you automated comparisons
Did you automate anything?For example, a Python or SQL script that runs count and duplicate checks after each load

Practise more in scenario-based ETL testing interview questions.

Build This Project Yourself (Projects for Practice)

You can build a small version in a weekend with free tools and then explain it truthfully:

  1. Set up a database: install PostgreSQL or MySQL (free).
  2. Create sources: a sales CSV with 1,000 rows, a customer table and a product table. Add deliberate problems: a duplicate, a null, an unknown product code, a customer whose city changes.
  3. Build the ETL: load the CSV into staging, then into dim and fact tables using SQL or Python (pandas). See build an ETL pipeline in Python.
  4. Test it: write the 12 scenarios above as test cases and run the SQL.
  5. Document it: a one-page architecture diagram, your test cases and the defects you found. Put it on GitHub and link it on your resume.

Then add it to your resume using our ETL testing resume guide.

Prepare for your ETL testing interview: top 50 questions · in-depth answers · for experienced (3–5 years) · for 10 years experience · SQL query questions · scenario-based questions · data warehouse questions

Frequently Asked Questions

What is an ETL testing real-time project?

It is a real-world style ETL project, such as a retail sales data warehouse, where data is extracted from several sources, transformed through a staging layer and loaded into fact and dimension tables, and the tester validates every layer with SQL.

How do I explain my ETL testing project in an interview?

In about two minutes, cover the business goal, the sources and target architecture, the ETL flow, your role and the testing types you performed, and one or two specific defects you found with their impact.

Can freshers explain a practice project in ETL testing interviews?

Yes. Build a small project yourself, such as a sales data warehouse in PostgreSQL, test it with SQL and present it honestly as a practice project. A well-explained practice project is stronger than a vague claimed one.

What are common real-time ETL test scenarios?

Metadata validation, record counts, missing and duplicate records, null checks, transformation rules, lookups with no match, SCD Type 2, referential integrity, incremental loads, report validation and load performance.

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

Practise a Real-Time ETL Testing Scenario

Our course includes a real-time ETL testing scenario, SQL validation, data warehouse concepts, Python and AI tools. 79 lectures, $19.00.

Enroll Now — $19.00