1) What is ETL Testing? (Definition + Example)
ETL Testing is the process of validating the Extract → Transform → Load (ETL) workflow to ensure that data is accurately extracted from source systems, correctly transformed according to business rules, and successfully loaded into a data warehouse (DW). The primary goal is to verify that the ETL process maintains data accuracy, completeness, consistency, and performance while adhering to Source-to-Target (S2T) mappings and business requirements.
ETL Testing ensures that the data available in the data warehouse is reliable enough to support reporting, analytics, and business decision-making. Testers validate every stage of the ETL pipeline to confirm that no data is lost, duplicated, or incorrectly transformed during processing.
Typical ETL Testing activities include:
- Validating data extraction from source systems.
- Verifying transformation logic.
- Comparing source and target data.
- Validating Source-to-Target (S2T) mappings.
- Checking record counts and data reconciliation.
- Detecting duplicate or missing records.
- Validating business rules.
- Ensuring referential integrity.
- Verifying ETL performance against Service Level Agreements (SLAs).
By performing these validations, ETL Testing helps organizations deliver accurate Business Intelligence (BI) reports and dashboards based on trusted data.
Example
Consider a banking data warehouse that loads daily transaction data from operational banking systems into a centralized data warehouse for reporting and analytics.
The ETL process extracts transaction records from OLTP tables, applies business transformations, and loads the processed data into a fact table.
An ETL tester validates the following:
Row Count Validation
The number of records loaded into the target should match the expected number of records extracted from the source after applying business filters.
Validation ensures:
- No missing records.
- No duplicate records.
- Correct filtering logic.
Transformation Validation
Business transformations applied during ETL should be validated carefully.
Typical transformations include:
- Currency conversion.
- Data de-duplication.
- Derived column calculations.
- Business rule implementation.
- Data standardization.
The transformed values should match the expected business calculations.
Slowly Changing Dimensions (SCD1 / SCD2)
Dimension tables often require historical data management.
ETL Testing verifies:
- SCD Type 1 updates overwrite existing records correctly.
- SCD Type 2 creates new historical records.
- Surrogate keys are generated correctly.
- Current flags and effective dates are maintained.
Audit Field Validation
Audit columns help track ETL execution and data lineage.
Common audit fields include:
- batch_id
- load_ts
ETL testers verify that these fields are populated correctly during every ETL execution.
Performance Validation
ETL jobs should complete within the agreed Service Level Agreement (SLA).
Performance validation includes:
- Load execution time.
- Throughput.
- Resource utilization.
- Batch completion time.
This ensures that reporting data is available within the required business timelines.
Data Warehouse Flow – Source → Staging → Transform → Load → Reporting
A data warehouse follows a structured ETL pipeline that moves data through multiple layers before it becomes available for business reporting. Each layer performs a specific function to ensure data quality and consistency.
Source Layer
The Source layer contains operational systems where business transactions originate.
Common source systems include:
- OLTP databases.
- Flat files.
- CSV files.
- Excel files.
- ERP systems.
This layer provides the raw business data required for ETL processing.
Staging Layer
The Staging layer is a temporary landing area where raw extracted data is stored before transformations are applied.
Responsibilities include:
- Temporary storage.
- Initial data validation.
- Record count verification.
- Data reconciliation.
- Performance optimization.
Only minimal transformations are usually performed in the staging layer to preserve the original data.
Transformation Layer
The Transformation layer applies business rules to convert raw source data into meaningful business information.
Typical transformations include:
- Business rule implementation.
- Data cleansing.
- Lookups.
- Joins.
- Aggregations.
- Derived column calculations.
- Data standardization.
- Slowly Changing Dimension (SCD) processing.
This is the most critical stage of the ETL process because it prepares the data for reporting.
Load Layer
After transformation, the processed data is loaded into the target data warehouse.
The warehouse typically contains:
- Fact tables.
- Dimension tables.
- Historical data.
- Aggregated business information.
Loading also enforces database constraints such as primary keys, foreign keys, and referential integrity.
Reporting Layer
Business Intelligence tools retrieve curated data from the data warehouse to generate reports and dashboards.
Typical reporting tools include:
- Power BI.
- Tableau.
- Cognos.
- Business Objects.
These reports help organizations monitor KPIs, analyze trends, and support strategic decision-making.
Key ETL Validations
Throughout the ETL pipeline, testers perform several important validations to ensure data quality.
Source-to-Target (S2T) Validation
Verifies that every source column is correctly mapped to its target column according to the S2T mapping document.
Referential Integrity Validation
Ensures that all foreign keys in fact tables reference valid primary or surrogate keys in dimension tables.
Aggregate Validation
Confirms that aggregate calculations such as totals, averages, and counts match expected business values.
Data Reconciliation
Compares source and target data to ensure:
- Record counts match.
- Totals match.
- No missing records.
- No duplicate records.
Restartability Validation
Verifies that ETL jobs can resume from the point of failure without duplicating previously processed records.
Ab Initio ETL Architecture (Tester’s View)
Ab Initio is a high-performance enterprise ETL platform widely used in banking, insurance, telecommunications, and other industries that process very large volumes of data. From a tester’s perspective, understanding the major architectural components helps in validating ETL workflows effectively.
GDE Graphs Orchestrate Data Flows
The Graphical Development Environment (GDE) is the primary development interface in Ab Initio.
Developers create ETL workflows, known as graphs, which define how data flows from source systems through transformations into the target data warehouse.
ETL testers validate that:
- Graph execution is successful.
- Data flows through the correct sequence.
- Business logic is correctly implemented.
- Workflow dependencies are maintained.
Transform Components
Ab Initio provides several transformation components that process data according to business rules.
Common transformations include:
Join
Combines data from multiple datasets based on matching keys.
Validation includes:
- Correct join conditions.
- Matching records.
- No duplicate or missing data.
Rollup
Performs aggregation operations such as:
- SUM
- COUNT
- AVG
- MIN
- MAX
ETL testers verify that aggregated values match business expectations.
Normalize
Converts one input record into multiple output records.
Validation ensures that:
- Records are correctly split.
- No data is lost.
- Business rules are maintained.
Denormalize
Combines multiple input records into a single output record.
Validation focuses on:
- Correct grouping.
- Accurate data merging.
- Proper aggregation.
Metadata Management
Ab Initio uses metadata extensively to define data structures.
Metadata includes:
- Record formats.
- Field definitions.
- Layouts.
- Data types.
- Column lengths.
ETL testers validate that metadata matches the Source-to-Target (S2T) mapping document and target database schema.
Control and Audit
Control and audit mechanisms help monitor ETL execution and data quality.
Typical validations include:
Row Count Validation
Compare source, staging, and target record counts to ensure complete data movement.
Checksum Validation
Checksums help verify data integrity by comparing calculated values between source and target datasets.
Reject Handling
Invalid records are redirected to reject files or reject tables instead of terminating the ETL process.
ETL testers verify:
- Reject counts.
- Error messages.
- Root causes.
- Successful processing of valid records.
Parallelism
One of Ab Initio’s major strengths is its ability to process data in parallel using partitioning.
Large datasets are divided into multiple partitions so they can be processed simultaneously.
Benefits include:
- Faster ETL execution.
- Better CPU utilization.
- Improved scalability.
- Reduced batch processing time.
ETL testers validate that:
- Partitioning logic is correct.
- Data is evenly distributed.
- No records are lost or duplicated across partitions.
- Parallel execution produces accurate and consistent results.
Understanding these architectural components enables ETL testers to validate Ab Initio workflows effectively while ensuring data accuracy, performance, and reliability across enterprise-scale data integration projects.
4) Interview Questions + Best Answers (Basic → Advanced)
Basics (1–15)
1. What is Ab Initio?
Ab Initio is a high-performance enterprise ETL (Extract, Transform, Load) tool designed to process very large volumes of data efficiently using parallel processing. It is widely used in industries such as banking, finance, insurance, telecommunications, and retail, where massive datasets must be processed within strict performance requirements.
Unlike many traditional ETL tools, Ab Initio executes ETL workflows as graphs, which are developed using the Graphical Development Environment (GDE). These graphs contain components that extract, transform, partition, aggregate, and load data into target systems.
Key Features
- Parallel data processing
- Graph-based ETL development
- High scalability
- Metadata-driven architecture
- Built-in partitioning
- High-performance file processing
- Enterprise data integration
Common Components
- Join
- Rollup
- Normalize
- Denormalize
- Sort
- Reformat
- Scan
- Partition by Key
Ab Initio is preferred for enterprise data warehouse projects because it can process millions of records quickly while maintaining data accuracy and reliability.
2. What is ETL Testing?
ETL Testing is the process of validating that data is correctly extracted from source systems, transformed according to business rules, and loaded accurately into the target data warehouse.
The goal of ETL Testing is to ensure that the ETL pipeline produces complete, accurate, and consistent data for reporting and analytics.
ETL Testing Includes
- Source data validation
- Transformation validation
- Target data validation
- Record count verification
- Data reconciliation
- Duplicate detection
- Missing record validation
- Business rule validation
- Performance verification
ETL Testing ensures that reports generated from the data warehouse are trustworthy and support accurate business decisions.
3. Difference Between ETL and ELT
Both ETL and ELT are data integration approaches, but they differ in the sequence of processing.
ETL (Extract, Transform, Load)
In ETL:
- Data is extracted from source systems.
- Business transformations are applied.
- Processed data is loaded into the target warehouse.
ETL is commonly used when transformations must occur before loading.
ELT (Extract, Load, Transform)
In ELT:
- Data is extracted.
- Raw data is loaded into the target.
- Transformations are performed inside the data warehouse.
ELT is commonly used with cloud-based analytical databases that provide high computational power.
Key Difference
- ETL: Transforms before loading.
- ELT: Loads first and transforms later.
4. What is S2T Mapping?
Source-to-Target (S2T) Mapping is a document that defines how source fields map to target fields during the ETL process.
It serves as the blueprint for ETL developers and testers.
S2T Mapping Includes
- Source tables
- Target tables
- Column mappings
- Data types
- Data lengths
- Business rules
- Transformation logic
- Default values
- Audit fields
- SCD rules
ETL testers compare the implemented ETL logic against the S2T mapping document to ensure correctness.
5. What is Staging?
A staging area is a temporary storage location where raw extracted data is stored before business transformations are applied.
The staging layer separates source extraction from transformation logic, improving ETL efficiency and simplifying troubleshooting.
Responsibilities
- Temporary storage
- Initial validation
- Record count verification
- Data reconciliation
- ETL restartability
Very few transformations are applied at this stage so that the original data remains unchanged.
6. What is a Fact Table?
A Fact Table stores measurable business metrics used for reporting and analytics.
Examples include:
- Sales Amount
- Order Quantity
- Revenue
- Profit
- Transaction Count
Characteristics
- Contains numeric values
- References dimension tables
- Large number of records
- Used for aggregations
Fact tables form the central component of a star schema.
7. What is a Dimension?
A Dimension Table stores descriptive information that provides context for facts.
Examples include:
- Customer
- Product
- Location
- Date
- Employee
Characteristics
- Descriptive attributes
- Supports filtering
- Supports grouping
- Smaller than fact tables
Dimension tables help users analyze business metrics from multiple perspectives.
8. What are Audit Fields?
Audit fields are system-generated columns that track ETL execution and data lineage.
Common Audit Fields
- batch_id
- load_date
- record_source
- checksum
Other commonly used audit fields include:
- created_date
- updated_date
- created_by
- modified_by
Benefits
- ETL traceability
- Troubleshooting
- Batch monitoring
- Compliance
- Historical tracking
9. What is Reject Handling?
Reject handling refers to capturing invalid records during ETL execution instead of terminating the entire ETL job.
Rejected records are redirected to reject files or reject tables along with the reason for rejection.
Common Reasons
- Invalid data type
- NULL mandatory field
- Duplicate key
- Business rule violation
- Foreign key failure
Benefits
- Improves ETL reliability
- Simplifies debugging
- Prevents complete job failures
- Supports data quality improvements
10. What is Data Reconciliation?
Data reconciliation is the process of comparing source and target data to ensure that the ETL process has transferred data correctly.
Common Validation Activities
- Record count comparison
- Aggregate validation
- Duplicate detection
- Missing record identification
- Business rule validation
Successful reconciliation confirms that the ETL process has accurately moved data between systems.
11. What is a Lookup?
A Lookup retrieves reference data from another table to enrich or validate incoming records during ETL processing.
Common Uses
- Fetch surrogate keys
- Validate master data
- Retrieve descriptions
- Detect duplicates
- Implement business rules
Lookups improve data quality and ensure consistency across the data warehouse.
12. What is Normalization?
Normalization is the process of splitting repeating groups of data into multiple related tables or rows to reduce redundancy and improve data integrity.
Benefits
- Eliminates duplicate data
- Reduces storage
- Improves consistency
- Simplifies updates
Normalization is commonly applied in OLTP systems where transactional efficiency is important.
13. What is Denormalization?
Denormalization combines multiple related tables into fewer tables to improve query performance.
It is commonly used in data warehouses where fast reporting is more important than minimizing redundancy.
Benefits
- Faster reporting
- Simpler queries
- Better analytical performance
- Reduced joins
Star schemas and snowflake schemas often use denormalized structures.
14. What is Partitioning?
Partitioning divides a large dataset into multiple smaller partitions that can be processed simultaneously.
Ab Initio uses partitioning extensively to achieve high performance through parallel processing.
Benefits
- Faster ETL execution
- Better CPU utilization
- Improved scalability
- Reduced batch processing time
Common partitioning methods include:
- Hash Partitioning
- Range Partitioning
- Round-Robin Partitioning
15. What is Checksum/Hashing?
Checksum or hashing is a technique used to detect data changes efficiently during ETL processing.
Instead of comparing every column individually, a hash value is generated from one or more business columns.
If the hash value changes, the record is treated as updated.
Common Algorithms
- MD5
- SHA-1
- SHA-256
Common Uses
- Change Data Capture (CDC)
- Duplicate detection
- Incremental loading
- SCD Type 2 processing
Benefits
- Faster change detection
- Reduced comparison time
- Improved ETL performance
- Efficient incremental processing
Hashing is widely used in enterprise ETL projects to identify changes quickly while minimizing processing overhead.
Intermediate (16–35) 16. Explain SCD Type 1 vs Type 2
Slowly Changing Dimensions (SCD) are techniques used in data warehousing to manage changes in dimension data over time. Customer addresses, product categories, employee departments, and other descriptive attributes often change, and SCD defines how those changes should be stored.
SCD Type 1
SCD Type 1 updates the existing record whenever a change occurs. The previous value is overwritten, and no historical information is maintained.
Characteristics
- Existing record is overwritten.
- No history is preserved.
- Simple implementation.
- Less storage required.
- Suitable for correcting inaccurate data.
Example
Before Update:
| Customer | City |
| John | Delhi |
After Update:
| Customer | City |
| John | Mumbai |
The previous city (Delhi) is permanently replaced by Mumbai.
SCD Type 2
SCD Type 2 preserves historical information by inserting a new record whenever a business attribute changes. Historical records remain available for reporting and auditing.
Each version typically contains:
- Surrogate Key
- Business Key
- Effective Date
- End Date
- Current Flag
Example
| Customer | City | Current Flag |
| John | Delhi | N |
| John | Mumbai | Y |
The previous version is retained while a new active record is created.
Key Differences
| SCD Type 1 | SCD Type 2 |
| Overwrites existing data | Preserves historical data |
| No history maintained | History maintained |
| One record per business key | Multiple versions of a record |
| Lower storage | Higher storage |
| Simpler implementation | More complex implementation |
17. How Do You Validate SCD Type 2?
SCD Type 2 validation ensures that historical data is correctly maintained whenever a business attribute changes.
ETL testers verify that a new version of the record is created while the previous version is properly expired.
Validation Steps
- Verify a new row is inserted for every business change.
- Confirm the old record is marked as inactive.
- Validate current_flag.
- Check effective_date.
- Verify end_date.
- Confirm surrogate key generation.
- Ensure business keys remain consistent.
Sample SQL
SELECT *
FROM dim_customer
WHERE current_flag = ‘Y’;
Expected Result
- Only one active record should exist for each business key.
- Historical records should have current_flag = ‘N’.
- Effective and end dates should not overlap.
18. How to Validate Joins in Ab Initio?
Join validation ensures that Ab Initio Join components correctly combine records from multiple datasets according to business rules.
Incorrect joins may result in missing, duplicate, or incorrect data.
Validation Steps
- Verify join keys.
- Validate primary and foreign key relationships.
- Check join cardinality.
- Verify NULL handling.
- Compare source and target results.
- Ensure expected number of output records.
Common Join Types
- Inner Join
- Left Outer Join
- Right Outer Join
- Full Outer Join
Expected Result
Joined records should accurately reflect the relationships defined by the business requirements and S2T mapping.
19. What is Rollup?
A Rollup component in Ab Initio aggregates rows based on one or more grouping keys.
It is commonly used to calculate summary information such as totals, counts, averages, minimums, and maximums.
Common Aggregations
- SUM
- COUNT
- AVG
- MIN
- MAX
Example
| Customer | Sales |
| A | 100 |
| A | 200 |
| B | 150 |
Rollup Output:
| Customer | Total Sales |
| A | 300 |
| B | 150 |
Rollup helps generate summarized datasets for reporting and analytics.
20. How Do You Test Aggregations?
Aggregation testing verifies that ETL calculations such as totals, averages, and counts are accurate.
ETL testers independently calculate expected values using SQL and compare them with the target data.
Sample SQL
SELECT customer_id,
SUM(order_amount)
FROM fact_orders
GROUP BY customer_id;
Validation Steps
- Recompute totals using SQL.
- Compare source and target values.
- Validate grouping logic.
- Verify rounding rules.
- Check decimal precision.
Expected Result
Aggregated values in the target should exactly match the expected business calculations.
21. What is CDC?
CDC (Change Data Capture) is a technique used to process only records that have changed since the previous ETL execution.
Instead of reprocessing the entire dataset, CDC identifies:
- New records.
- Updated records.
- Deleted records.
Benefits
- Faster ETL execution.
- Lower system load.
- Reduced processing time.
- Improved performance.
CDC is commonly implemented using timestamps, transaction logs, or hash comparisons.
22. How Do You Test CDC?
CDC testing verifies that only changed records are processed during incremental ETL execution.
Validation Steps
- Compare before and after datasets.
- Verify inserted records.
- Verify updated records.
- Verify deleted records.
- Compare counts by operation.
- Validate watermark or timestamp values.
Expected Result
Only delta records should be processed while unchanged records remain untouched.
23. What is a Surrogate Key?
A surrogate key is a system-generated unique identifier assigned to records in a dimension table.
Unlike business keys, surrogate keys have no business meaning and remain stable even if business attributes change.
Benefits
- Ensures uniqueness.
- Supports SCD Type 2.
- Simplifies joins.
- Improves query performance.
- Preserves historical data.
Example
| Customer ID | Customer_SK |
| C101 | 1001 |
| C102 | 1002 |
Surrogate keys are widely used in dimensional modeling.
24. How Do You Validate Surrogate Keys?
Surrogate key validation ensures that generated keys are unique and correctly assigned.
Validation Steps
- Verify uniqueness.
- Ensure values are not NULL.
- Check sequence integrity.
- Validate mapping logic.
- Compare with business keys.
Sample SQL
SELECT surrogate_key,
COUNT(*)
FROM dim_customer
GROUP BY surrogate_key
HAVING COUNT(*) > 1;
Expected Result
The query should return zero rows, indicating that every surrogate key is unique.
25. What is a Late-Arriving Dimension?
A late-arriving dimension occurs when a fact record reaches the data warehouse before its corresponding dimension record.
For example, a sales transaction may arrive before the customer information has been loaded into the customer dimension.
Common Handling Techniques
- Create placeholder dimension records.
- Use unknown members.
- Update placeholder records later.
- Reload affected fact records if necessary.
Validation Steps
- Verify placeholder record creation.
- Check foreign key relationships.
- Confirm later updates.
- Validate reporting accuracy.
26. How Do You Test Null Handling?
Null handling validation ensures that NULL values are processed according to business rules.
Different projects may require NULL values to be replaced, rejected, or passed through unchanged.
Validation Steps
- Verify default values.
- Check reject records.
- Validate pass-through logic.
- Compare with S2T mapping.
- Confirm mandatory fields are populated.
Common Scenarios
- Replace NULL with default values.
- Reject invalid records.
- Allow NULL values for optional fields.
27. What is Data Skew?
Data skew occurs when data is distributed unevenly across processing partitions.
Instead of equal workloads, some partitions process significantly more records than others, reducing ETL performance.
Effects
- Slow execution.
- Uneven CPU utilization.
- Longer processing time.
- Resource bottlenecks.
Monitoring data distribution helps identify skew before it impacts production performance.
28. How Do You Handle Data Skew?
Several techniques can be used to reduce data skew and improve parallel processing efficiency.
Common Techniques
- Re-partition data.
- Salting keys.
- Use skew hints.
- Redistribute partitions.
- Optimize partition strategy.
These methods help balance workloads across processing nodes and improve ETL performance.
29. What is Restartability?
Restartability is the ability of an ETL process to resume execution from the last successful checkpoint after a failure.
Instead of restarting the entire workflow, the ETL job continues from the point where it stopped.
Benefits
- Prevents duplicate processing.
- Saves execution time.
- Improves ETL reliability.
- Reduces downtime.
Restartability is especially important for large ETL jobs processing millions of records.
30. How Do You Test Restartability?
Restartability testing verifies that ETL jobs recover correctly after unexpected failures.
Validation Steps
- Start the ETL job.
- Intentionally fail the job during execution.
- Restart the ETL process.
- Verify processing resumes from the last checkpoint.
- Confirm no duplicate records are created.
- Validate idempotency.
Expected Result
The restarted ETL job should complete successfully without reprocessing previously completed records or introducing duplicate data.
31. What is Metadata Testing?
Metadata Testing is the process of validating that the metadata used in the ETL process matches the Source-to-Target (S2T) mapping document and database schema. Metadata describes the structure of the data rather than the actual data values.
In Ab Initio projects, metadata defines record layouts, field names, data types, lengths, precision, and file structures. Incorrect metadata can lead to ETL failures, data truncation, or incorrect reporting.
Metadata Validation Includes
- Record formats.
- Column names.
- Data types.
- Field lengths.
- Precision and scale.
- Nullable constraints.
- Primary keys.
- Foreign keys.
- Record layouts.
Validation Steps
- Compare metadata with the S2T mapping document.
- Verify database schema definitions.
- Check file layouts.
- Validate field lengths and data types.
- Ensure metadata changes are reflected in ETL graphs.
Benefits
- Prevents schema mismatches.
- Reduces ETL failures.
- Improves data quality.
- Ensures successful data loading.
32. How Do You Test File Formats?
File format testing verifies that input and output files conform to the required specifications before they are processed by the ETL workflow.
Incorrect file formats may cause ETL jobs to fail or load inaccurate data.
Validation Includes
- Delimiter validation.
- Header validation.
- Footer validation.
- File encoding.
- Column order.
- Column count.
- Numeric formats.
Common File Types
- CSV
- Pipe-delimited
- Fixed-width
- Tab-delimited
- JSON
- XML
Validation Steps
- Verify delimiter characters.
- Check header and footer records.
- Validate UTF-8 or required encoding.
- Confirm record count.
- Verify mandatory columns.
Expected Result
The file should match the agreed file specification exactly and be processed without errors.
33. What is Referential Integrity?
Referential Integrity (RI) ensures that every foreign key value in a fact table has a corresponding primary or surrogate key in the related dimension table.
Maintaining referential integrity prevents orphan records and ensures accurate reporting.
Example
Fact Table:
| Customer_SK | Sales |
| 1001 | 500 |
| 1002 | 750 |
Dimension Table:
| Customer_SK | Customer Name |
| 1001 | John |
| 1002 | Sarah |
Every foreign key in the fact table should exist in the dimension table.
Benefits
- Accurate joins.
- Consistent reporting.
- Improved data integrity.
- Reliable analytics.
34. How Do You Validate Referential Integrity?
Referential Integrity validation ensures that all foreign keys in fact tables reference valid dimension records.
One of the most common validation techniques is an anti-join, which identifies fact records that do not have matching dimension records.
Sample SQL
SELECT f.customer_sk
FROM fact_sales f
LEFT JOIN dim_customer d
ON f.customer_sk = d.customer_sk
WHERE d.customer_sk IS NULL;
Validation Steps
- Compare fact and dimension keys.
- Identify orphan records.
- Validate surrogate keys.
- Confirm dimension availability.
Expected Result
The query should return zero rows, indicating that all foreign keys have valid dimension references.
35. What is SLA Testing?
Service Level Agreement (SLA) Testing verifies that ETL jobs complete within the agreed execution time.
Large enterprise ETL jobs often have strict deadlines because reporting systems depend on timely data availability.
Validation Includes
- Batch completion time.
- Throughput.
- Resource utilization.
- Performance benchmarks.
- Load duration.
Example
Business Requirement:
Daily ETL must complete within 90 minutes.
ETL Testing verifies that the complete workflow consistently finishes within this time limit.
Benefits
- Meets reporting deadlines.
- Supports business operations.
- Prevents delayed reports.
- Ensures production readiness.
Advanced Ab Initio ETL Interview Questions
36. How Do You Test Performance Tuning?
Performance tuning testing verifies that ETL jobs are optimized to process large volumes of data efficiently.
Rather than focusing only on correctness, performance testing measures execution speed and resource utilization.
Areas to Validate
- Partition strategy.
- CPU utilization.
- Memory consumption.
- Disk I/O.
- Network I/O.
- Throughput.
Common Optimization Techniques
- Increase parallelism.
- Optimize partitioning.
- Improve SQL performance.
- Reduce unnecessary transformations.
- Optimize joins.
Expected Result
The ETL workflow should complete within the required SLA while efficiently utilizing available system resources.
37. What is Window Function Usage in ETL?
Window functions perform calculations across related rows while preserving individual row details.
Unlike aggregate functions, window functions do not collapse multiple rows into a single output row.
Common Uses
- Running totals.
- Ranking.
- Deduplication.
- SCD validation.
- Latest record selection.
Sample SQL
SELECT customer_id,
ROW_NUMBER() OVER
(
PARTITION BY customer_id
ORDER BY updated_ts DESC
) AS rn
FROM dim_customer;
Benefits
- Simplifies SQL.
- Improves performance.
- Supports advanced analytics.
38. How Do You Test Deduplication?
Deduplication testing verifies that duplicate business records are removed correctly during ETL processing.
Validation Steps
- Identify business keys.
- Compare source and target counts.
- Verify duplicate removal.
- Validate retained records.
- Check business rules.
Sample SQL
SELECT customer_id,
COUNT(*)
FROM dim_customer
GROUP BY customer_id
HAVING COUNT(*) > 1;
Expected Result
No duplicate business keys should remain after the ETL transformation unless history is intentionally maintained (such as in SCD Type 2).
39. What is Hashing in SCD Type 2?
Hashing in SCD Type 2 is used to efficiently detect changes in business attributes.
Instead of comparing every attribute individually, ETL generates a hash value from the tracked columns.
If the new hash differs from the existing hash, the record is considered changed and a new SCD Type 2 version is created.
Benefits
- Improved ETL performance.
- Simplified change detection.
- Supports incremental loading.
Common Algorithms
- MD5
- SHA-1
- SHA-256
40. How Do You Validate Hash Logic?
Hash validation ensures that ETL-generated hash values correctly represent the business data.
Validation Steps
- Generate expected hash values.
- Compare source and target hashes.
- Verify unchanged records.
- Validate changed records.
- Confirm SCD processing.
Example
If:
- Source hash = Target hash → No change.
- Source hash ≠ Target hash → New SCD Type 2 record should be created.
Hash validation ensures that attribute changes are detected accurately.
41. What is Data Lineage?
Data Lineage is the ability to trace data from its original source through every ETL transformation until it reaches reports and dashboards.
A typical lineage includes:
Source System
↓
Landing Files
↓
Staging
↓
Ab Initio Graph
↓
Transformations
↓
Fact & Dimension Tables
↓
Data Warehouse
↓
BI Reports
Benefits
- Complete traceability.
- Easier troubleshooting.
- Regulatory compliance.
- Impact analysis.
42. How Do You Test Data Lineage?
Data lineage testing verifies that data follows the expected path from the source system to the final report.
Validation Steps
- Review the S2T mapping.
- Validate ETL transformations.
- Compare intermediate datasets.
- Verify report calculations.
- Trace audit fields.
Expected Result
Every reported value should be traceable back to its original source record.
43. What is a Bad Record Threshold?
A bad record threshold defines the maximum number of invalid or rejected records that an ETL job can tolerate before failing.
This prevents poor-quality source data from silently entering the data warehouse.
Example
Threshold:
- Maximum rejected records = 100
If:
- Reject count = 50 → Continue.
- Reject count = 120 → Fail ETL job.
Benefits
- Maintains data quality.
- Prevents excessive invalid data.
- Improves operational monitoring.
44. How Do You Test Bad Record Thresholds?
Threshold testing verifies that ETL jobs behave correctly when the reject count reaches the configured limit.
Validation Steps
- Inject invalid records.
- Monitor reject counts.
- Verify warning messages.
- Confirm job termination when threshold is exceeded.
- Review reject files.
Expected Result
The ETL job should follow the configured threshold policy exactly.
45. What is Incremental vs Full Load?
Incremental Load and Full Load are two common ETL loading strategies.
Full Load
Loads the complete dataset into the target.
Characteristics
- Loads every record.
- Suitable for initial loads.
- Longer execution time.
Incremental Load
Loads only new or modified records.
Characteristics
- Faster execution.
- Lower resource usage.
- Common in production systems.
Key Difference
| Full Load | Incremental Load |
| Loads all records | Loads only changed records |
| Slower | Faster |
| Higher resource usage | Lower resource usage |
46. How Do You Test Incremental Loads?
Incremental load testing verifies that only new or modified records are processed.
Validation Steps
- Verify watermark columns.
- Compare execution dates.
- Check inserted records.
- Check updated records.
- Validate skipped records.
Example SQL
SELECT COUNT(*)
FROM source_table
WHERE modified_date > :last_load_time;
Expected Result
Only records modified after the previous successful ETL execution should be loaded.
47. How Do You Validate Timestamps and Time Zones?
Timestamp validation ensures that date and time values are accurately converted between systems.
Validation Includes
- UTC conversion.
- Local time conversion.
- Daylight Saving Time (DST).
- Time zone offsets.
- Timestamp precision.
Common Checks
- Compare source and target timestamps.
- Validate daylight-saving transitions.
- Verify timezone conversions.
- Check formatting.
Incorrect timestamp handling can cause reporting inaccuracies, especially in global applications.
48. What is Multi-File Dependency?
A multi-file dependency occurs when an ETL job requires multiple input files before processing can begin.
For example, a sales ETL workflow may require:
- Customer file.
- Product file.
- Sales transaction file.
The ETL process should begin only after all required files are available.
49. How Do You Test Multi-File Dependencies?
Dependency testing verifies that ETL jobs wait for all required input files before execution.
Validation Steps
- Verify control tables.
- Check file arrival status.
- Test delayed files.
- Validate job scheduling.
- Confirm dependency logic.
Expected Result
The ETL workflow should execute only after every required file has arrived successfully.
50. What is Reconciliation at Report Level?
Report-level reconciliation ensures that Business Intelligence reports accurately reflect the data stored in the data warehouse.
Instead of validating only database tables, ETL testers compare report totals against warehouse aggregates.
Validation Includes
- Record counts.
- Sales totals.
- Revenue.
- Customer counts.
- KPI values.
- Dashboard metrics.
Expected Result
Business Intelligence reports should exactly match the corresponding aggregates stored in the data warehouse, ensuring consistent and reliable business reporting.
Real SQL Query Examples for ETL Validation
SQL is the primary validation tool in ETL Testing. ETL testers use SQL queries to compare source and target data, validate transformation logic, identify data quality issues, and ensure that business rules have been correctly implemented. The following examples demonstrate some of the most common SQL validations performed in real-time Ab Initio ETL projects.
Sample Data
Consider the following source and target tables used in a sales data warehouse.
Source Table – src_orders
This table stores raw customer order information extracted from the source system.
| Column | Description |
| order_id | Unique order identifier |
| cust_id | Customer identifier |
| amount | Order amount |
| order_dt | Order date |
Target Table – fact_sales
This fact table stores transformed sales data after ETL processing.
| Column | Description |
| order_sk | Surrogate key for the order |
| cust_sk | Customer surrogate key |
| sales_amt | Transformed sales amount |
| order_dt | Order date |
| batch_id | ETL batch identifier |
ETL testers compare data between these tables to ensure that extraction, transformation, and loading have been completed successfully.
JOIN Validation
JOIN validation ensures that every source record has been successfully loaded into the target table. A LEFT JOIN is commonly used to identify missing records.
SQL Query
SELECT COUNT(*)
FROM src_orders s
LEFT JOIN fact_sales f
ON s.order_id = f.order_sk
WHERE f.order_sk IS NULL;
Explanation
This query compares the source and target tables by joining them on the order identifier.
- LEFT JOIN returns all records from the source table.
- Records with no matching target row will contain NULL values in the target columns.
- The WHERE clause filters only those unmatched records.
- COUNT(*) returns the total number of missing records.
Validation Steps
- Verify that all expected source records exist in the target.
- Investigate missing records.
- Check ETL filters.
- Validate join conditions.
- Review reject tables.
Expected Result
The query should return 0, indicating that every source order has been successfully loaded into the target fact table.
GROUP BY Aggregation Validation
Aggregation validation verifies that summary values calculated during ETL match the expected business totals.
Source Validation
SELECT order_dt,
SUM(amount) AS src_sum
FROM src_orders
GROUP BY order_dt;
Target Validation
SELECT order_dt,
SUM(sales_amt) AS tgt_sum
FROM fact_sales
GROUP BY order_dt;
Explanation
The first query calculates the daily sales total from the source system.
The second query calculates the daily sales total from the target warehouse.
ETL testers compare both results to ensure that:
- Transformation logic is correct.
- Currency conversions are accurate.
- No records are missing.
- No duplicate records exist.
Validation Steps
- Compare totals by date.
- Verify aggregation logic.
- Check rounding rules.
- Validate transformed amounts.
- Investigate differences.
Expected Result
Daily totals in the target warehouse should match the expected totals from the source after applying business transformations.
Window Function Validation (Deduplication)
Window functions are commonly used to remove duplicate records while retaining the most recent version of each record.
SQL Query
SELECT *
FROM
(
SELECT *,
ROW_NUMBER() OVER
(
PARTITION BY order_id
ORDER BY load_ts DESC
) AS rn
FROM stage_orders
) t
WHERE rn = 1;
Explanation
This query assigns a row number to every record belonging to the same order_id.
- PARTITION BY order_id groups duplicate records.
- ORDER BY load_ts DESC sorts records by the latest load timestamp.
- ROW_NUMBER() assigns ranking values.
- Only the latest record (rn = 1) is selected.
Validation Steps
- Verify duplicate groups.
- Confirm latest records are retained.
- Check business keys.
- Validate load timestamps.
- Ensure duplicate records are removed.
Expected Result
Only one record should remain for every business key after deduplication.
Performance Tuning Validation
Performance validation ensures that SQL queries used during ETL execution are optimized for large datasets.
SQL Query
EXPLAIN ANALYZE
SELECT cust_sk,
SUM(sales_amt)
FROM fact_sales
GROUP BY cust_sk;
Explanation
EXPLAIN ANALYZE displays the execution plan used by the database.
It helps identify:
- Table scans.
- Index usage.
- Join strategies.
- Query execution time.
- Resource utilization.
Validation Steps
- Review execution plan.
- Verify index usage.
- Identify full table scans.
- Evaluate query cost.
- Compare execution times.
Expected Result
The query should execute efficiently while utilizing indexes and minimizing unnecessary resource consumption.
Scenario-Based ETL Testing Questions
Scenario-based questions are frequently asked during Ab Initio ETL interviews because they evaluate a candidate’s ability to troubleshoot real-world production issues.
Scenario 1: Record Count Mismatch
Problem
The source table contains 100,000 records, but only 99,850 records are loaded into the target warehouse.
Validation Steps
- Compare source and target record counts.
- Validate ETL filter conditions.
- Verify JOIN logic.
- Review reject tables.
- Check control tables.
- Analyze ETL logs.
Possible Root Causes
- Incorrect filter condition.
- Missing JOIN records.
- Rejected records.
- ETL job failure.
- Duplicate removal.
Scenario 2: NULL Values in Mandatory Fields
Problem
Mandatory columns contain NULL values after ETL processing.
Validation Steps
- Verify Source-to-Target (S2T) mapping.
- Check default value logic.
- Review reject rules.
- Validate source data.
- Compare transformation logic.
Possible Solutions
- Populate default values.
- Reject invalid records.
- Correct transformation logic.
Scenario 3: Duplicate Records
Problem
Duplicate customer records appear in the target dimension table.
Validation Steps
- Validate business keys.
- Execute duplicate detection queries.
- Review window functions.
- Check partition logic.
- Verify hash comparisons.
Common Root Causes
- Incorrect JOIN logic.
- Missing hash comparison.
- Incorrect partitioning.
- ETL restart issues.
Scenario 4: Late Arriving Data
Problem
Fact records arrive before corresponding dimension records.
Validation Steps
- Verify placeholder dimension records.
- Check surrogate keys.
- Validate backdated updates.
- Confirm foreign key relationships.
Expected Result
Historical reporting should remain accurate after the dimension records are updated.
Scenario 5: Slow ETL Job
Problem
An ETL workflow that normally completes in one hour now takes three hours.
Validation Steps
- Review partitioning strategy.
- Verify index usage.
- Check parallel execution.
- Analyze SQL execution plans.
- Monitor CPU and I/O utilization.
Possible Solutions
- Increase parallelism.
- Optimize SQL queries.
- Improve partitioning.
- Create missing indexes.
- Reduce blocking transformations.
Tools Commonly Used by ETL QA
ETL testers often work with different ETL platforms depending on organizational requirements. Although the development tools may vary, the validation techniques remain largely the same.
Common ETL Tools
Informatica
A widely used enterprise ETL tool that supports complex data integration and transformation workflows.
Microsoft SSIS
Microsoft’s ETL platform used for SQL Server-based data integration, migration, and warehousing projects.
Ab Initio
A high-performance ETL platform designed for processing very large datasets through parallel execution.
Pentaho
An open-source ETL solution that provides data integration, transformation, and reporting capabilities.
Talend
A modern ETL platform that supports on-premises and cloud-based data integration with extensive transformation features.
Common Testing Activities Across All Tools
- Source-to-Target validation.
- Record count comparison.
- Data reconciliation.
- Business rule validation.
- Reject record analysis.
- Audit field verification.
- SQL-based data validation.
ETL Defect Example and Sample Test Case
Defect Example
Defect
SCD Type 2 is not expiring the previous version of a dimension record.
Expected Result
- Existing record should have current_flag = ‘N’.
- end_date should be populated.
- A new active record should be inserted with current_flag = ‘Y’.
Actual Result
The old record remains active and does not receive an end date, causing multiple active records for the same business key.
Severity
High, because historical reporting becomes inaccurate and business users may retrieve incorrect dimension data.
Root Cause
The ETL logic failed to update the existing record before inserting the new version.
Sample Test Case
| Field | Value |
| Scenario | SCD Type 2 validation |
| Input | Change in a tracked dimension attribute |
| Validation | Verify new row insertion and old row expiration |
| Expected Result | Two records exist with correct current_flag, effective_date, and end_date values |
Validation Steps
- Update a dimension attribute in the source.
- Execute the ETL process.
- Verify that a new record is inserted.
- Confirm the previous record is marked inactive.
- Validate effective and end dates.
- Ensure only one record has current_flag = ‘Y’.
Quick Revision Sheet (Cheat Notes)
Before attending an Ab Initio ETL Testing interview, review the following high-priority topics:
Core ETL Concepts
- Source-to-Target (S2T) Mapping
- SCD Type 1 and SCD Type 2
- Change Data Capture (CDC)
- Incremental and Full Loads
- Surrogate Keys
- Data Lineage
SQL Validation
- Record count validation
- Aggregate validation
- Duplicate detection
- Missing record identification
- Referential Integrity (RI)
- Window functions (ROW_NUMBER(), RANK(), DENSE_RANK())
- JOIN validation
- Performance query analysis
Data Quality
- NULL handling
- Reject records
- Audit fields
- Metadata validation
- File format validation
- Data reconciliation
Performance Concepts
- Partitioning
- Parallel processing
- Hashing for change detection
- Query optimization
- Execution plans
- SLA validation
- Restartability
A strong understanding of these concepts, combined with solid SQL skills and knowledge of Ab Initio architecture, will help you confidently answer both technical and scenario-based ETL Testing interview questions.
10) FAQs (Snippet-Ready)
Q1. Is SQL Mandatory for Ab Initio ETL Testing?
Yes. SQL is one of the most important skills for Ab Initio ETL Testing. Although Ab Initio is used to develop and execute ETL graphs, SQL is the primary language used by ETL testers to validate data, verify business rules, and reconcile source and target systems.
In most enterprise ETL projects, testers spend a significant portion of their time writing SQL queries to ensure that data has been extracted, transformed, and loaded correctly. Interviewers also place a strong emphasis on SQL proficiency because almost every ETL validation activity depends on SQL.
SQL is commonly used for:
- Record count validation.
- Source-to-target data comparison.
- Data reconciliation.
- JOIN validation.
- Aggregate validation using SUM(), COUNT(), and AVG().
- Duplicate record detection.
- Missing record identification.
- NULL value validation.
- Slowly Changing Dimension (SCD) validation.
- Referential integrity checks.
- Window function validation.
- Performance analysis using execution plans.
Candidates should be comfortable with:
- JOINs.
- GROUP BY and HAVING.
- Aggregate functions.
- Subqueries.
- Window functions such as ROW_NUMBER().
- Common Table Expressions (CTEs).
- Performance tuning concepts.
Strong SQL skills, combined with a solid understanding of ETL concepts and Ab Initio graphs, significantly improve performance in Ab Initio ETL Testing interviews.
Q2. How Many Interview Rounds Focus on ETL QA?
For most Ab Initio ETL Testing positions, candidates typically face one to two dedicated technical interview rounds focused on ETL Quality Assurance. The exact number of rounds may vary depending on the organization, project complexity, and the candidate’s level of experience.
These technical rounds are designed to assess both conceptual knowledge and practical problem-solving abilities in ETL testing.
Common topics covered include:
- ETL fundamentals.
- Data warehouse concepts.
- Source-to-Target (S2T) mapping.
- SQL query writing.
- Data reconciliation.
- Record count validation.
- JOIN and aggregation validation.
- Slowly Changing Dimensions (SCD Type 1 and Type 2).
- Change Data Capture (CDC).
- Referential integrity.
- Incremental and full load strategies.
- Performance tuning.
- Scenario-based ETL defect analysis.
- Production support and troubleshooting.
Interviewers often ask candidates to explain how they handled production issues, validated complex transformations, or investigated data discrepancies in previous projects. For experienced professionals, real-world scenarios and debugging approaches are frequently discussed in depth.
Q3. Can Informatica Experience Help in Ab Initio ETL Testing?
Absolutely. Experience with Informatica is highly valuable when transitioning to Ab Initio ETL Testing because the core ETL concepts remain the same across enterprise ETL tools. While the development environment and components differ, the testing methodology and validation techniques are largely transferable.
Both Informatica and Ab Initio projects require testers to validate the movement of data from source systems to data warehouses while ensuring that business rules are implemented correctly.
Common concepts shared across both tools include:
- ETL workflow validation.
- Source-to-Target (S2T) mapping.
- Data extraction, transformation, and loading.
- Record count validation.
- Data reconciliation.
- JOIN and aggregation validation.
- Slowly Changing Dimensions (SCD).
- Change Data Capture (CDC).
- Surrogate key validation.
- Referential integrity.
- Audit field validation.
- Incremental loading.
- Performance testing.
- SQL-based data validation.
The primary differences lie in the implementation:
- Informatica uses mappings, sessions, and workflows.
- Ab Initio uses graphs, components, metadata, and parallel processing.
However, from an ETL tester’s perspective, the validation activities remain very similar. A professional with strong SQL skills, data warehouse knowledge, and Informatica ETL testing experience can generally adapt to Ab Initio projects with relatively little additional learning. Understanding Ab Initio-specific architecture, graph execution, partitioning, and component behavior is usually sufficient to make a successful transition.

