Datagaps is the only company to be listed in Gartner® DataOps Tools & Data Observability market guides

Menu Close
  • Can ETL Validator help compare data from multiple sources?
  • Does ETL Validator support Continuous Integration?
  • Is there any way to schedule tests and receive email notification?
  • Is there reporting available for Test Runs?
  • What is File Watcher?
  • What if my data source is not supported by ETL Validator?
  • Is there a free trial available for ETL Validator?
  • What is a repository and workschema? what databases are supported as repository?
  • What are the Architectural components of ETL Validator?
  • What are the System Requirements for doing a pilot?
  • Can ETL Validator help compare data from multiple sources?
  • Does ETL Validator support Continuous Integration?
  • Is there any way to schedule tests and receive email notification?
  • Is there reporting available for Test Runs?
  • What is File Watcher?
  • What if my data source is not supported by ETL Validator?
  • Is there a free trial available for ETL Validator?
  • What is a repository and workschema? what databases are supported as repository?
  • What are the Architectural components of ETL Validator?
  • What are the System Requirements for doing a pilot?

ETL Testing: The Complete Guide to Automated Data Pipeline Validation

ETL testing is the discipline of validating that data pipelines move data correctly from source to target preserving accuracy, completeness, and transformation integrity at every layer of the pipeline. It covers validation across the full Medallion Architecture (Raw → Bronze → Silver → Gold → BI layer), from row counts and field-by-field reconciliation to schema drift detection, SCD validation, and regression baselining. Datagaps is the AI-Native Data Reliability Platform that automates ETL testing at scale connecting to both source and target simultaneously, generating test cases from mapping documents using AI, and executing validations natively on your cloud compute without moving sensitive data. 

Key Takeaways

dot

ETL testing validates every layer of the data pipeline from Raw ingestion through Bronze, Silver, Gold, and all the way to the BI dashboard confirming that transformations, aggregations, and business rules applied correctly at every stage.

dot

Datagaps DataOps Suite matches records using business keys, not row position ensuring validation stays reliable even in large-scale distributed environments where reordering and repartitioning are expected.

dot

AI-powered test generation analyses mapping documents, transformation specifications, and SQL/Python code to automatically suggest validation rules reducing test authoring from days to hours.

dot

Datagaps is recognised in Gartner's Market Guide for DataOps Tools and is a certified Snowflake Select Technology Partner and Databricks Technology Partner.

dot

Datagaps is the AI-Native Data Reliability Platform: AI makes decisions within the platform generating rules, analysing failures, and driving remediation delivering Quality + Catalogue + Lineage + Remediation as one integrated solution.

What Is ETL Testing?

ETL testing validates the entire data movement journey. Modern data pipelines follow a Medallion Architecture Raw, Bronze, Silver, Gold, and BI layer and DataOpsSuite performs structured validations at each layer, not just a simple count comparison at the end. Validation is not limited to a final source-to-target check; it is a layered, continuous verification as data progresses through the pipeline. 

When an issue occurs at any layer, DataOpsSuite immediately identifies: the specific Medallion layer where the failure occurred, the validation rule that failed, the affected records or attributes, and detailed comparison results to support root cause analysis. 

This discipline covers ETL and ELT testingdata migration testing, and data quality monitoring — together forming the full data reliability stack. For the cross-system integration layer, see app integration data testing. For the BI output layer, see the BI Testing Guide. 

Why Does ETL Testing Matter?

Data pipelines fail in ways that are not immediately visible. A transformation that truncates a decimal field produces values that load without error but every financial calculation downstream is wrong. A schema change that renames a column breaks every join that references it silently, until a business user notices that a metric has stopped updating. A duplicate introduced during a union operation doubles revenue totals in every executive dashboard. 

The Medallion Architecture compounds this:

an error introduced at Bronze propagates through every subsequent layer.

By the time it surfaces in a Gold aggregation or a BI dashboard, the root cause is buried in a pipeline stage nobody checked.

Continuous, layered ETL testing catches each failure at its layer of origin before it becomes a cascading problem across the downstream estate.

For the full business case, see the ROI Calculator. For why ETL validation is foundational to regulatory compliance, see the compliance solutions overview.

What Are the Common ETL Testing Challenges?

Volume and complexity

Enterprise pipelines move billions of records across dozens of systems. Manual testing covers a fraction of the data and a fraction of the transformation logic leaving the majority of pipeline behaviour unvalidated.

Medallion layer coverage gap

Teams often test source-to-target (Raw to Gold) and miss the intermediate layers. Transformation errors introduced at Bronze are invisible until they surface at Gold. Layer-by-layer validation across the full Medallion Architecture is the only way to catch failures at their origin.

Schema drift

Schema changes added columns, dropped columns, renamed fields, type changes occur without notice during upgrades and refactoring. Without automated schema drift detection, these changes silently break downstream validation rules before anyone knows the pipeline has changed.

Complex transformations

Every BI platform upgrade, data source change, or filter modification can break existing repaBusiness rules embedded in transformations (calculations, lookups, aggregations, SCD logic) are difficult to test manually. Proving that a SCD Type 2 dimension captured historical records correctly requires comparing effective dates, surrogate keys, and current-record flags across both source and target at scale. orts without any visible warning.

No baseline for regression

Most teams know their pipelines fail when a rule is violated. Fewer have a mechanism for detecting that a pipeline's output has drifted from its own historical baseline where today's result is statistically different from last week's correct result, even if no explicit rule breaks. Regression baselining closes this gap.

See the full context of six critical components of data testing and how data trust across mesh, lakes, and fabric extends ETL testing to modern architectures.

What Are the Core ETL Validation Checks?

DataOpsSuite performs structured validations across every layer of the Medallion Architecture (Raw, Bronze, Silver, Gold, and BI Dashboard). Validation is not limited to a simple record count at the end it is a comprehensive, layered verification as data moves through the pipeline. Records are matched using business keys, not row position, ensuring validation remains reliable even in distributed environments where reordering and repartitioning are expected. See the full ETL Validator product overview for the complete capability set. 

1. Row Count Validation — Completeness Across Every Layer

What it validates: That every record arrives correctly at every Medallion layer with no unexpected loss, duplication, or filtering at any stage of the pipeline.

DataOpsSuite automatically reconciles record counts between Raw, Bronze, Silver, Gold, and BI layers. For incremental, partitioned, or batch-based processing, row counts are validated at the batch and partition level ensuring that issues within a specific load are not masked by an otherwise correct overall total. Expected record changes due to business rules and transformations are accounted for.

What users see when validation fails:

Expected vs. actual row counts | Count variance and variance % | The specific Medallion layer where the mismatch occurred | Source and target datasets | Execution timestamp and run details  Example: Raw layer: 14,823,117 | Bronze layer: 14,810,043 | Delta: −13,074 (−0.088%) | Layer: Raw → Bronze | Status: FAIL Root cause: filter condition incorrectly excluded records with legacy account codes prefixed “E-“ 

2. Data Content Validation — Field-by-Field Reconciliation Using Business Keys

What it validates: That actual field values match between pipeline layers for every record using business keys (not row position) to ensure reliability in distributed environments where reordering or repartitioning may occur.

DataOpsSuite executes field-by-field comparison of business-critical data across Medallion layers: data consistency after transformations and enrichment, numeric values with configurable tolerance for rounding and precision differences, and date, string, and categorical value accuracy. For example, if a customer record moves from Bronze to Silver and a transformation incorrectly modifies the customer's credit score or status, DataOpsSuite immediately highlights the affected record, the specific column, and the before-and-after values without requiring manual queries against either system.

What users see when validation fails:

Business key identifying the affected record | Column name where the discrepancy occurred | Source value and target value displayed side by side | The Medallion layers involved | Execution details and run timestamp | Filterable exception reports for faster root-cause analysis  Example: Business key: CUSTOMER_ID = 8821943 | Column: CREDIT_SCORE | Bronze value: 742 | Silver value: 724 | Layer: Bronze → Silver | Status: FAIL Root cause: rounding logic in Silver transformation applied FLOOR() instead of ROUND() 

Key takeaway:

Business-key matching ensures validation is reliable even after Spark repartitioning, distributed shuffles, and reordering — the failure modes that make row-position comparison unreliable at scale. 

3. Data Type and Format Validation — Lossless Type Conversion at Every Stage

What it validates: Type conversions across the pipeline are lossless and correct detecting precision loss, string truncation, date/time format shifts, and silent reformatting that load without error but corrupt downstream analytics.

DataOpsSuite checks: numeric precision and scale consistency (Decimal, Float), string truncation and length validation, date and timestamp format conversions, timezone normalisation across systems, character encoding changes (e.g., Latin-1 to UTF-8), null versus empty string handling (a common silent bug in ETL), and unexpected reformatting or silent data modification. The output shows the expected type/format specification next to the observed value the mismatch is self-explanatory without further investigation.

What users see when validation fails:

Column name and affected record/business key | Expected data type or format specification | Actual observed value and format | Source and target Medallion layers involved | Details of truncation, conversion, or formatting issues  Example: Column: EFFECTIVE_DATE | Expected: DATE (YYYY-MM-DD) | Actual: “00000000” (SAP sentinel) | Layer: Raw → Bronze | Type issue: DATE conversion failure | Status: FAIL.

4. Transformation Validation — AI-Powered Business Rule Verification

What it validates: Business rules applied correctly at every transformation stage — calculations, lookups, mappings, aggregations, and conditional rules evaluated independently against the pipeline output.

Instead of simply validating the final output, DataOpsSuite independently evaluates the expected transformation result based on defined business logic and compares it against the values produced by the pipeline. Critically, AI-powered test generation can analyse mapping documents, transformation specifications, SQL or Python code, and business requirements to automatically suggest validation rules. Users review and approve these recommendations significantly reducing the effort required to create transformation test cases.

Transformation validation covers: business rule implementations across all Medallion layers, lookup and reference data transformations, conditional and derived column logic, aggregations and calculations, data standardisation and cleansing rules, and AI-generated test cases derived from mapping documents, SQL, or Python code.

Example:

Transformation: AMOUNT_USD = AMOUNT_LOCAL × EXCHANGE_RATE Business key: ORDER_ID = 44892 | Silver expected: $14,250.00 | Silver actual: $1,425.00 Layer: Bronze → Silver | Status: FAIL | Root cause: Exchange rate decimal shift — 0.0912 treated as 0.00912 | Affects: 1,847 records 

5. Referential Integrity Validation — Relationships Preserved Across Stages

What it validates: Primary key and foreign key relationships remain intact throughout the pipeline identifying orphan records, key mismatches, and cardinality violations after transformation and loading.

DataOpsSuite validates referential integrity across all pipeline stages/layers verifying that FK relationships are preserved, identifying orphaned records, and checking that related tables maintain expected cardinality. This catches scenarios where data loads successfully but downstream tables reference keys that were never loaded or were incorrectly transformed.

What is reported:

Missing parent records | Orphaned child records | Primary key and foreign key mismatches | Affected tables and records | Detailed exception reports  Example: FK violation: ORDER_FACT.CUSTOMER_KEY → CUSTOMER_DIM.CUSTOMER_KEY | Orphaned: 3,847 rows | Layer: Silver | Root cause: CUSTOMER_DIM filtered inactive accounts; ORDER_FACT retained all orders.

Key takeaway:

Referential integrity failures produce silent wrong answers in every downstream join — a broken FK causes double-counting or NULL results in every BI report and AI model that joins the affected tables. 

6. Completeness and Null Handling — No Records Lost, No Silent Substitutions

What it validates: Records are not dropped during processing; unexpected null values don't appear in critical fields; and missing data is not silently replaced by default values.

DataOpsSuite validates data completeness across all pipeline stages by identifying records dropped during processing, detecting unexpected null values in required fields, and flagging incorrect default-value substitutions. Threshold-based monitoring allows teams to distinguish between expected levels of missing data and abnormal spikes separating legitimate nulls (a field that's genuinely optional) from failure-induced nulls (a transformation that lost data).

What is reported:

Missing records between layers | Unexpected null values in required fields | Default-value substitution issues | Count and percentage of affected records | Detailed exception reports  Example: Table: PRODUCT_INVENTORY | Raw: 892,341 | Bronze: 889,102 | Missing: 3,239 (0.36%) | Root cause: filter treated “OBSOLETE” and “DISCONTINUED” as equivalent status codes 

7. Aggregation Validation — From Detail Layer to BI Dashboard

What it validates: Aggregations and rollups are accurate from the detail layer all the way up to the BI reporting layer independently recalculating summary values from underlying data and comparing them against pipeline output.

DataOpsSuite validates aggregations and rollups across all layers including the BI dashboard layer, ensuring that totals, counts, averages, and other business metrics remain accurate and are not assumed to be correct simply because the underlying records match. The platform provides drill-down capability from summary values to the underlying detail records enabling immediate investigation when a metric fails without having to manually trace through layers.

What is reported:

Expected aggregate value vs. actual value | Difference and variance % | Affected metrics and datasets | Drill-down from summary to underlying detail records  Example: Metric: SUM(REVENUE) by [REGION=APAC, Q2-2025] | Gold layer: $2,847,920,315 | BI Dashboard: $2,839,441,220 | Delta: −$8.5M (−0.30%) Root cause: rounding error in Oracle NUMBER → Snowflake DECIMAL conversion compounded across 36.9M rows.

Additional Validation Checks - Schema Drift, Duplicates, SCD, Regression

Schema Drift Detection

Schema drift detection flags added, dropped, renamed, or retyped columns between pipeline runs — before they silently break downstream validation. Unlike reactive schema checks that catch failures after the fact, DataOpsSuite detects schema changes proactively at the start of each run, preventing cascade failures across downstream layers that depend on the changed schema.

Schema drift alert: Table:

CUSTOMER_MASTER | Change: PHONE_NUMBER VARCHAR(20) → VARCHAR(10) | Detected at: Raw → Bronze stage | Impact: 12,847 existing records exceed new limit | Status: SCHEMA DRIFT ALERT — pipeline halted before Bronze load.

Duplicate Detection

Duplicate detection identifies unexpected duplicate records introduced during joins, unions, or re-runs — the most common source of artificial metric inflation in Gold and BI layers. DataOpsSuite runs GROUP BY with HAVING COUNT(*) > 1 on configured business-key columns after every pipeline run where duplicate risk exists.

SCD Validation — Type 1, Type 2, and Type 3

Slowly changing dimension (SCD) validation confirms that Type 1 (overwrite), Type 2 (insert new row with effective dates), and Type 3 (add attribute columns) history is captured correctly — including effective-dated records, surrogate key generation, current-record flags, and end-date handling. This is the most complex dimension management pattern and the one most prone to silent data corruption during pipeline refactoring.

Regression Baselining — Catch Drift Over Time, Not Just Rule Violations

Regression baselining compares a new pipeline run against a known-good historical run — catching drift over time, not just against a static rule set. This catches the failure mode that explicit rules miss: a pipeline whose output is slowly drifting from its established baseline without violating any individual threshold. The previous run's output becomes the comparison target, enabling before/after validation across any two pipeline executions.

Key takeaway:

Regression baselining is what separates a mature ETL testing programme from a basic one. Rules catch known failure modes. Baseline comparison catches everything that changes — including the changes nobody wrote a rule for. 

Start validating across all layers. Start a 14-day free trial → Run your first Medallion-layer validation in under two hours. 

What Are BI Testing Best Practices?

Step 1

Validate at every Medallion layer not just source to final target. Errors introduced at Bronze compound through Silver, Gold, and the BI layer. Layer-by-layer validation catches failures at their origin before they become cascading problems.

Step 2

Use business-key matching, not row-position matching. In distributed environments, rows reorder. Business-key-based comparison ensures validation results are correct regardless of partitioning or shuffling.

Step 3

Automate test generation from mapping documents and code. Manual test authoring doesn't scale to hundreds of pipelines. AI that reads your mapping specs, SQL, or Python code and generates validation rules closes the coverage gap without additional engineering effort.

Step 4

Add regression baselining alongside static rules. Rules catch known failures. Baseline comparison catches drift the gradual shift from a known-good state that no single rule fires on.

Step 5

Shift ETL testing left into CI/CD. Validation triggered via REST API after every pipeline run not as a post-deployment audit catches failures before data reaches business users or AI model training pipelines.

Step 6

Validate aggregations all the way to the BI layer. An aggregation that matches at Gold can still be wrong in the BI dashboard if the semantic layer applies different logic. Test the dashboard layer, not just the warehouse.

For the complete methodology, see the ETL testing best practices guide and the ETL Testing Playbook. See also data profiling types and best practices for the profiling foundation that makes anomaly detection reliable. 

How Do You Test ETL Pipelines on Snowflake?

Datagaps is a certified Snowflake Select Technology Partner the integration is production-verified through the Snowflake partner programme. 

DataOpsSuite runs validations natively on Snowflake compute executing checks directly within the warehouse rather than pulling data out. This keeps DQ checks fast and avoids exposing sensitive data outside the platform. For migrations, it validates schema conversion and mapping accuracy, then confirms data integrity and completeness by reconciling counts, data profiles, and records between source and Snowflake. For ongoing ETL/ELT, it automates transformation testing as data moves from Raw to Staging to Analytics layers.

A distinctive capability: mappings can be auto-generated directly from Snowflake Stored Procedures or spreadsheets rather than built by hand. This eliminates the manual mapping documentation step that delays most ETL testing programme launches. 

BI platforms & data sources

Connect

BI platforms & data sources

Test plans, no-code

Configure

Test plans, no-code

Validate reports vs source

Execute

Validate reports vs source

Exception reports & drilldown

Report

Exception reports & drilldown

Connect BI Platforms and Data Sources

Connect BI Platforms and Data Sources

BI Validator connects to two layers simultaneously: the BI platform (via its native API) and the data source (via JDBC or file connector). No agents or plugins are required on the BI server.

BI PlatformConnection MethodEnvironments SupportedSetup Time
TableauREST API, Personal Access Token (PAT), or credentialsTableau Server (all versions), Tableau Cloud15–20 min
Power BI ServiceApp Registration / Service Principal (recommended), Interactive Login (OAuth), Terraform automationPower BI Service, Microsoft Fabric (OAuth connector)20–30 min + App Registration
Power BI Report ServerService account credentialsOn-premises PBIRS10–15 min
Oracle AnalyticsOracle Analytics REST APIOAC, Oracle Analytics Server, OBIEE, Analytics Publisher15–20 min
Cognos AnalyticsNative Cognos connectorIBM Cognos Report Studio and Dashboards15–20 min
AWS QuickSightNative QuickSight connectorAmazon QuickSight15–20 min
Data source connections: 30+ JDBC sources including Snowflake, Azure Databricks, Microsoft SQL Server, Oracle, PostgreSQL, SAP HANA, Salesforce, Google BigQuery, Amazon Redshift, and more.
Credential security: Azure Key Vault, AWS Secret Manager, and HashiCorp Vault — credentials never stored in plain text.
Configure Test Plans

Configure Test Plans

A Test Plan defines everything about a validation run — configured visually, no scripting required:

dot

Which reports and dashboards to validate

dot

Which checks to run: data accuracy, filters, calculations, performance, regression

dot

Source SQL for each metric being tested (the "expected" value BI Validator compares against)

dot

Comparison mode: exact match, numeric threshold (e.g. ±0.5% for currency rounding), or threshold-based

dot

Performance thresholds per dashboard (e.g. fail if load time > 10 seconds)

dot

Filter combinations and parameter states to test

dot

Scheduling: nightly, weekly, or triggered by CI/CD deployment

Generate BI Dataflows creates multiple validation dataflows in bulk across Tableau, Power BI, and Oracle Analytics — instead of configuring them one by one.
Supported validation types: BI Source extraction, Regression (benchmark vs. current), Upgrade (pre vs. post), Data Compare (dataset-to-dataset), and Benchmark Compare (source vs. benchmark data).
Execute: Simultaneous BI + Source Validation

Execute: Simultaneous BI + Source Validation

During execution, BI Validator runs two processes simultaneously:

dot

Authenticates to the BI platform API and requests each report/visual metric value

dot

Executes the corresponding source SQL query against the data source

dot

Compares BI output against source result under identical filter conditions

With agentic AI for analytical data validation, test generation and execution can be automated end-to-end. CI/CD integration via BI DevOps triggers automatic validation after every BI report deployment — Azure DevOps Pipelines (native) or GitHub Actions via the DataOps CLI.

Report: Exception Output and GenAI Differencing

Report: Exception Output and GenAI Differencing

Every execution produces a structured, actionable exception report:

dot

Test Plan summary: total tests run, passed, failed, warnings, execution time

dot

Per-report detail: specific visual, field, source value, report value, delta (absolute and %), filter state at time of failure

dot

App Health / Query Insights: query-level breakdown for performance failures — identifies the specific slow visual and why (missing partition filter, full table scan, etc.)

dot

GenAI Report Differences: compares BI report PDFs and explains what changed — text differences, color changes, layout shifts, visual type changes, alignment issues, font differences, missing data, and custom prompt-based criteria. Explains what changed, not just that something changed

dot

Notifications: Email, Microsoft Teams, Slack — summary counts plus link to full exception report

BI Validator is available standalone or as part of the Datagaps DataOps Suite. with ETL Validator for pipeline testing and Data Quality Monitor for continuous source-level scoring.

What Are BI Testing Best Practices?

six practices that separate reliable BI testing programs from fragile ones.
Regression Testing

Regression Testing

Automate regression testing after every BI platform upgrade or data source change. Manual re-testing after each update is how report errors reach business users.

Source Validation

Source Validation

Validate report data against the source, not just against the last known good output. Comparing report-to-report hides drift; comparing report-to-source catches it.

Interactive Element Testing

Interactive Element Testing

Test filters, slicers, and interactive elements, not just static views. Most report errors surface only when a user interacts with the dashboard.

Performance Testing

Performance Testing

Include performance testing in every validation cycle. A slow dashboard is an unused dashboard.

Centralized Framework

Centralized Framework

Centralize BI testing across all platforms rather than testing each in isolation. Tableau, Power BI, and Oracle Analytics should be validated through a single framework.

Data Observability

Data Observability

Implement report-level data observability to catch drift between scheduled validation runs. Validation runs are snapshots; observability fills the gaps between them.

Adopt an AnalyticsOps approach to operationalize these practices as continuous processes, and follow best practices for Power BI development to reduce the testing burden at the source. Download the Definitive Guide to Automated BI Testing for a deeper walkthrough.

How Do You Test BI Reports in Tableau?

Tableau introduces testing challenges specific to its architecture: live connections vs. extract-based data sources behave differently under load, calculated fields and LOD expressions can produce unexpected results when underlying data changes, dashboard filters and parameters interact in ways that affect which data is displayed, and Tableau Server or Cloud deployments add publishing and refresh cycles that can introduce staleness. Testing Tableau reports means validating not just the data, but how Tableau processes, caches, and renders that data for the end user.

BI Validator integrates with Tableau Server and Tableau Cloud via the Tableau REST API — no agent, no plugin, and no software required on the Tableau Server. Authentication uses a Tableau Personal Access Token (PAT) or username/password credentials. After connection, BI Validator automatically discovers the full report inventory: Sites, Projects, Workbooks, Views, and Published Data Sources — no manual list required.

What BI Validator Validates in Tableau

Data accuracy across workbooks and views

Every worksheet in every workbook can be tested for data accuracy against the source — a 200-workbook Tableau environment covered in a single Test Plan. BI Validator queries the view via the Tableau REST API and simultaneously queries the connected source data (Snowflake, SQL Server, Oracle, etc.) under the same filter conditions.

Calculated fields and LOD expressions

BI Validator derives the expected output from the source SQL equivalent and compares it against the calculated field value in the report. FIXED, INCLUDE, and EXCLUDE LOD expressions are all testable. LOD errors are especially common after Tableau Server version upgrades — a change in FIXED LOD evaluation order when nested inside IF() conditions silently alters calculated field outputs without any visible error.

Parameters and filter interactions

URL parameters, dropdown parameters, date parameters, and multi-value parameter selections are tested by applying specific values programmatically and comparing filtered report output against filtered source queries. Dashboard action filters (click-to-filter between worksheets) are also testable. See how to automate Tableau reports validation for the full approach.

Extracts vs. live connections

For workbooks using Tableau extracts (.hyper files), BI Validator validates the extract data against the live source system — catching extract refresh failures or incremental load errors where the extract has diverged from source. This finds “the Tableau extract was last refreshed 3 days ago and is showing stale revenue figures” before business users notice.

Snapshot-based regression

BI Validator captures baseline snapshots — data values, filter state, visual rendering — at a known-good state. After any Tableau Server upgrade, workbook republish, or data source change, regression comparison runs automatically, producing a field-level report: “cell [Q3][APAC] changed from $4,827,300 to $4,782,100.” 247 reports covered in under 2 hours unattended.

Performance and Visual Latency monitoring

App Health identifies which specific Tableau views are slow and analyzes the underlying Server query log to pinpoint whether the bottleneck is a slow LOD expression, a large extract scan, or custom SQL missing a partition filter. See Tableau performance testing for the full approach.

Report-level data observability

Between scheduled validation runs, BI Validator monitors Tableau report data for drift — alerting when values change outside expected ranges without a corresponding data source refresh. For a deeper look, see the Data Observability in Tableau Reports whitepaper and the data observability in Tableau reports blog.

How Do You Test BI Reports in Power BI?

Power BI has its own set of testing considerations driven by its architecture: DAX measures and calculated columns can return different results depending on filter context, slicers and cross-filtering create interactive states that each need validation, dataflows and incremental refresh introduce timing dependencies, and the deployment pipeline (dev, test, production workspaces) means the same report can behave differently across environments. Testing Power BI reports means validating data accuracy across every interactive state, not just the default view.

BI Validator connects to Power BI Service and Power BI Report Server for automated report testing across the Microsoft analytics stack.

Power BI Connection Methods

App Registration / Service Principal

Recommended for enterprise

The standard for machine-to-machine Power BI access. Five-step setup:

Connect BI Platforms and Data Sources

Register a new application in Azure Active Directory (Azure Portal → App Registrations → New Registration).

Configure Test Plans

Generate a Client Secret for the registered application.

Execute: Simultaneous BI + Source Validation

In Power BI Admin Portal: enable ‘Allow service principals to use Power BI APIs’ and add the app to a security group.

Report: Exception Output and GenAI Differencing

Grant the app Workspace Viewer access (or higher) on the Power BI workspaces to be tested.

BI Validator: configure Application

In BI Validator: configure Application (Client) ID, Directory (Tenant) ID, and Client Secret.

This approach uses no user credentials — the service principal authenticates independently with access scoped to explicitly granted workspaces only.

Additional connection options

dot

Terraform automation: provisions the App Registration and workspace access through infrastructure-as-code for large-scale deployments

dot

Interactive Login (OAuth): for development and sandbox environments — not recommended for production automated testing

dot

Power BI Report Server: separate connector for on-premises PBIRS — service account credentials authentication

dot

Microsoft Fabric: dedicated OAuth connector for Fabric semantic models — same Test Plan approach as Power BI Service

DAX Measure and Calculation Validation

BI Validator executes DAX via the Analysis Services XMLA endpoint and compares results against equivalent source SQL — expression-level validation, not just output comparison. DAX errors BI Validator catches:

Wrong base column in measures (uses [Total Revenue] when it should use [Net Revenue])

CALCULATE filter context errors — wrong filter arguments producing incorrect aggregation subsets

Time intelligence errors — DATESYTD or PARALLELPERIOD referencing the wrong calendar table

Relationship direction errors — traversing a relationship in the wrong direction, aggregating against the wrong table grain

ALL()/ALLEXCEPT() modifiers stripping filters they should preserve, or preserving columns they should remove

The AI Assistant for DAX co-pilots the comparison SQL query — translating the intended measure logic into equivalent source SQL, reducing manual effort for complex time intelligence and context-modifying DAX patterns.

Power BI-Specific Features Tested

Slicers & filter interactions

List slicers, date range slicers, relative date slicers ("Last 30 days"), and cascading/dependent slicers are all tested with specific values and combinations.

See Power BI filter testing and Power BI slicer testing for detailed approaches.

Bookmarks

BI Validator validates specific saved report states (bookmark states) — important for regulated reports where a specific bookmark view is referenced in compliance documentation.

Conditional formatting

Verifies that color rules, data bars, and icon sets apply to the correct cells under the correct threshold conditions.

Drill-down and drill-through

Expands hierarchies and navigates to detail pages, validating each level shows the correct data subset with the correct filter context applied.

Deployment pipeline integration (BI DevOps)

After each Power BI report promotion (Development → Test → Production), BI Validator automatically runs the Test Plan as a deployment gate. Power BI Report Metadata validation confirms dataset connections at each stage.

For teams automating Power BI CI/CD deployments, this means every report change gets tested before it reaches business users.

How Do You Test BI Reports in Oracle Analytics?

Oracle Analytics (formerly OBIEE) presents testing requirements shaped by its metadata-driven architecture: the RPD (repository) layer defines business logic, subject areas, and dimensional hierarchies that sit between the database and the report, meaning errors can originate in the semantic layer before data ever reaches a dashboard. Subject area changes, RPD migrations, and Oracle Analytics upgrades all require validation to confirm that business logic still produces correct results. Testing Oracle Analytics means validating not just the visible report, but the semantic layer underneath it.

BI Validator supports Oracle Analytics testing, connecting to Oracle Analytics Cloud (OAC), Oracle Analytics Server (OAS), and on-premises OBIEE via the Oracle Analytics REST API. A separate Oracle Analytics Publisher connector is available for BIP/OAP formatted report testing.

BI Validator validates Oracle Analytics subject area data — the logical data model layer where presentation columns map to physical source columns — against the underlying data source. Subject area misconfiguration (mapping the wrong physical column to a presentation column) produces systematically wrong reports that no visual inspection would catch.

For Oracle BI customers navigating platform upgrades (OBIEE to Oracle Analytics Cloud), BI Validator automates regression testing to confirm every report and dashboard that worked on the legacy platform still works after migration. Dedicated OA Regression and OA Upgrade workflows establish baseline before migration and validate post-migration output automatically.

How Do You Handle BI Upgrades and Platform Migrations?

BI platform upgrades and cross-platform migrations are among the highest-risk events in an analytics environment. A Tableau version upgrade can silently break calculated fields, a Power BI deployment pipeline change can shift how slicers render, and a full migration from Tableau to Power BI introduces data mapping, visual fidelity, and performance differences that manual comparison cannot reliably catch.

BI Validator automates the validation layer for all three scenarios

Major BI upgrades

For major BI upgrades major BI upgrades, it runs regression testing across every report before and after the upgrade, flagging discrepancies at the data, visual, or performance level.

In-place upgrades

For in-place upgrades where the platform version changes but the environment stays the same, BI Validator benchmarks the pre-upgrade state and validates the post-upgrade output automatically.

Cross-platform migrations

For teams navigating a full Tableau to Power BI migration, BI Validator provides cross-platform validation: comparing the same report's output in Tableau against its Power BI equivalent to confirm data parity across the transition.

The Generative AI report comparison feature summarizes not just data differences but visual, formatting, and contextual differences between the two platform outputs — explaining what changed, not just that something changed.

What Tools Do You Need for BI Testing?

BI testing operates across two layers: the BI layer (Tableau, Power BI, Oracle Analytics, Cognos, AWS QuickSight, Looker, SSRS) and the data layer (Snowflake, Databricks, SQL Server, Oracle, and other sources the reports draw from). Dedicated BI testing tools validate that what shows up on the BI layer matches what lives in the data layer. An AnalyticsOps approach operationalizes this validation as a continuous process.

BI platform connectivity

Native API integration with every major BI platform — not browser automation that breaks on every platform update.

Data source connectivity

Simultaneous direct queries to 30+ source systems under identical filter conditions to produce the expected value.

No-code test configuration

Visual Test Plan builder that does not require scripting, so analysts rather than engineers can build and maintain tests.

Structured exception reporting

Drill-down reports showing the exact field, source value, report value, delta, and filter state at time of failure — not just pass/fail.

Datagaps covers the full data testing lifecycle: BI Validator for report and dashboard testing, ETL Validator for pipeline validation, and Data Quality Monitor for continuous data quality scoring — all available standalone or as part of the DataOps Suite.

How Does BI Validator Compare to Other BI Testing Tools?

When evaluating BI testing platforms, three criteria matter most: how many BI platforms the tool covers, how deeply it tests each report, and whether it validates report data against the actual source system rather than just against previous report output.

CriteriaDatagaps BI ValidatorWiisdomManual / Script-Based
Platform coverage Tableau, Power BI, Oracle Analytics, Cognos, SSRS, AWS QuickSight, Microsoft Fabric Tableau, Power BI, SAP BusinessObjects Platform-specific scripts
Testing depth Data + visual + performance + regression + cross-platform Governance + content certification Data comparison only
Source-to-report validation Validates report output against source data simultaneously Report-level governance, no source validation Custom SQL queries required
No-code configuration Full no-code UI + AI-generated test plans Partial no-code Requires scripting
ETL-to-BI pipeline coverage ETL + BI in one platform (with ETL Validator) BI layer only BI layer only
Stress / performance testing Built-in load simulation (Benchmark module) Not available Custom load scripts
GenAI report differencing AI explains what changed (text, color, layout, fonts, missing data) Not available Not applicable
Validation architecture US-patented Extract-Load-Validate Proprietary, not patented Not applicable

Why BI Validator Is the Stronger Choice for End-to-End Analytics Testing?

Wiiisdom has built a strong reputation in analytics governance — content certification, usage analytics, and change management for Tableau and Power BI. However, its approach is governance-first, not testing-first. It does not validate report data against underlying source systems or provide ETL-layer testing. For teams that need end-to-end analytics testing across both ETL and BI layers, BI Validator covers the full testing lifecycle across a broader set of BI platforms. For a detailed breakdown, see Top BI Analytics Testing Tools in 2026.

Why Not Build Your Own BI Testing with Python, Selenium, or an LLM?

Key Takeaway

The fundamental engineering challenge of BI testing is simultaneous authenticated access to the BI platform API and the data source, with matching filter context applied to both. Custom scripts and LLM-generated code both fail here at enterprise scale.

Selenium / browser automation

dot

Loads BI dashboards in a browser and captures screen output — but cannot query the data source for comparison

dot

Breaks on every platform update — HTML structure changes with each Tableau or Power BI release

dot

Cannot test DAX at the expression level. No concurrent user simulation. No structured exception reporting

Python + BI REST API scripts

dot

More resilient than browser automation, but: different API per platform (Power BI REST API ≠ Tableau REST API ≠ Oracle Analytics API)

dot

DAX validation requires XMLA endpoint (separate dependency), no test plan management, no scheduling, no exception reporting

dot

Maintenance scales linearly with pipeline count

LLM-generated test code

dot

Generates plausible-looking API calls that may use deprecated endpoints or incorrect authentication parameters

dot

No persistent awareness of your BI platform's connection state. Cannot handle visual comparison (filters, slicers, conditional formatting). No audit trail

dot

Every platform update means re-prompting and re-debugging

BI Validator handles all of this out of the box: platform-native connections to 7 BI platforms, automated regression, audit-ready reporting, visual and data comparison, and GenAI-powered report differencing. Try BI Validator free for 14 days and compare it against any DIY approach.

Datagaps BI Validator: Solution Brief

Datagaps BI Validator is the automated BI report testing platform for teams that need every dashboard and report validated before business users see it. It validates report data against source systems, tests filters, slicers, calculations, and visual rendering, and runs performance and stress tests — all through a no-code interface across Tableau, Power BI, Oracle Analytics, Cognos, AWS QuickSight, and Microsoft Fabric.

Setup is fast: connect your BI platform and data sources using pre-built integrations, configure Test Plans visually, and run. BI Validator integrates with the broader DataOps Suite, meaning teams already using ETL Validator get end-to-end pipeline-to-dashboard coverage in a single platform.

Datagaps is extending BI validation with AI-native capabilities that go beyond individual test automation. The AI Workflow recommends which reports and dashboards to test based on usage patterns, business criticality, and data lineage, rather than requiring manual test setup for each report. Validation completeness across the analytics stack is what makes BI testing trustworthy for decision-makers: if a pipeline delivered only 90% of source records, the dashboard may show accurate numbers for the data it has, but the business is making decisions on incomplete data without realizing it. Datagaps validates the full chain from source through pipeline to BI report, ensuring not just accuracy but completeness.

70%

Reduction in manual validation effort

14-day

Free trial, no credit card

30+

Data source connectors

BI Validation in Practice: Industry Use Cases

Enterprise teams across industries use BI Validator to validate their most critical reports and dashboards.

Pharmaceutical — Tableau

Pharmaceutical — Tableau

A pharmaceutical company validated Tableau reports used for regulated analytics and business-critical decision-making.

25% reduction in functional testing effort · 20–30% lower QA costs · 20% reduction in total cost of ownership

Pharmaceutical — Tableau

Pharmaceutical — Power BI

A pharma organization running Power BI automated testing across the analytics pipeline.

70% reduction in manual validation effort · 80% faster testing turnaround · 30–60 minutes saved per report validation cycle

A hospitality company validating Power BI reports against Dremio

Hospitality

A hospitality company validating Power BI reports against Dremio.

96 automated validation pipelines deployed · 70% reduction in QA effort · 100% report-to-source consistency

A retail organization consolidating analytics across multiple sources

Retail Analytics

A retail organization consolidating analytics across multiple sources.

50% increase in development productivity · 50%+ reduction in analytics costs · Eliminated duplicate and hidden data errors

Resources

Further Reading

Frequently Asked Questions

What is BI testing?

BI testing is the process of validating that reports, dashboards, and analytics outputs display the correct data. It confirms that the numbers business users see in Tableau, Power BI, Oracle Analytics, and other BI platforms match the data in the underlying source systems — covering data accuracy, filter and slicer validation, calculation checks, visual rendering, and performance.

What is the difference between BI testing and BI validation?

BI testing refers to the broader discipline of verifying BI reports and dashboards. BI validation is the specific technical act of comparing report output against source data to confirm accuracy. In practice, the terms are used interchangeably. Datagaps BI Validator bridges both: it performs BI validation as part of your BI testing process.

How is BI Validator different from Wiiisdom?

Wiiisdom is an analytics governance platform focused on content certification, usage analytics, and change management for Tableau and Power BI. BI Validator is a testing-first platform that validates report data against source systems, tests filters, slicers, calculations, and visual rendering, and runs performance and stress tests. Wiiisdom governs reports; BI Validator tests them.

Can BI Validator test reports across multiple BI platforms at the same time?

Yes. BI Validator supports Tableau, Power BI, Oracle Analytics, Cognos, AWS QuickSight, and Microsoft Fabric from a single platform. Teams running multiple BI tools do not need separate testing solutions for each. This is especially valuable during migrations from one BI platform to another.

How does BI Validator use AI for report validation?

BI Validator uses AI in two ways. The Generate BI Dataflows feature automatically creates multiple validation dataflows in bulk across Tableau, Power BI, and Oracle Analytics — reducing manual setup. The AI Report Differences feature compares BI report PDFs and summarizes discrepancies: text, color, layout, visual type, alignment, fonts, missing data, and custom criteria. It explains what changed, not just that something changed.

How does BI Validator handle BI platform upgrades?

BI Validator benchmarks the pre-upgrade state of every report and dashboard, then runs regression validation after the upgrade to flag any discrepancy at the data, visual, or performance level. This applies to Tableau version upgrades, Oracle BI to Oracle Analytics Cloud migrations, and Power BI deployment pipeline changes.

Can I use ChatGPT or an LLM to perform BI testing instead?

For a one-off comparison script, yes. For enterprise-scale BI validation, no. LLM-generated scripts cannot connect to BI platform APIs natively, cannot handle visual comparison (filters, slicers, conditional formatting), and produce no audit trail. Every platform update means re-prompting and re-debugging. BI Validator handles all of this as a maintained platform with native connections to every major BI tool.

What is the difference between BI testing and data quality monitoring?

BI testing validates that specific reports and dashboards display the correct data at a point in time. Data quality monitoring continuously scores data against rules (completeness, accuracy, freshness) regardless of how it is consumed. BI testing is report-specific; data quality monitoring is source-level. Datagaps offers both: BI Validator for report testing and Data Quality Monitor for continuous scoring.

Does BI Validator support regression testing after data source changes?

Yes. Whenever the underlying data source changes — new ETL logic, source system migration, schema updates — BI Validator runs regression validation across all affected reports to confirm they still display correct results. This is automated and can be triggered through CI/CD pipelines.

How long does it take to set up BI Validator?

Tableau Server connection: 15–20 minutes. Power BI Service (including App Registration setup in Azure): 20–30 minutes. First Test Plan for 10 reports: 30–45 minutes. The Generate BI Dataflows feature creates validation workflows in bulk, so you are not building them one by one. [Product team: confirm these times against current product version.]

×