Back to top

ETL Testing – A Key to Connecting the dots

  • Software testing
  • Mythily G
  • January 2, 2023

Introduction

Extract, Transform, and Load, or ETL, as it is more popularly known, is a unique process in which data is migrated from a source system to a target system (data warehousing and data integration). ETL testing is essential as it validates data to achieve an addressable market. As observed, several organizations are implementing ETL, and it is critical to validate data at the production level.

ETL Testing Process

Under testing, we have multiple activities to be planned and acted upon. The activities are divided into the following steps:

Benefits of ETL Testing

The ETL testing process is crucial to building a data warehouse and tracking current and historical data changes. Then, the data is validated at each stage.

The ETL process benefits the entire organization. It anticipates needs and allows businesses to clean and validate data in real time. As a result, many organizations choose ETL to save time, improve efficiency, and reduce resource effort. In addition, agile-based ETL testing ensures perfect outcomes at the production level.

Some obvious benefits are as follows:

  • Data quality
  • Less data loss risk
  • On-time delivery and timely access
  • Involvement in SQL check
  • Less UI level issues

Common Bugs in ETL

  • Record Count

The overall count is different between the source and target tables

  • Missing Records (Destination break)

Compared to the source, certain records in the target table are missing

  • Extra Records (Source break) / Duplicate Records

Compared to the source, some records are added to the target table

  • Input / Output Bugs

Not accepting valid values / Accepting invalid values

  • Truncation Issues

Words truncation in the records due to data length

  • Trim Issues

Records having leading and trailing spaces

  • Calculation error/issue

Mathematical errors / Incorrect results

SCD Types

SCD is a slowly changing dimension. SCD logic is one of the critical concepts for tracking historical data. It can be updated by overlapping with the new data or flagged as an indicator based on the requirement.

  • The SCD logic is implemented in the dimension tables of the schema
  • These tables contain a detailed description of the object
  • We close the old records and open the new records with the help of an indicator column
  • There are different types of SCD, such as
    • Type 0: When no changes are required, this type is chosen
    • Type 1: Only present-stage data is available in this type
    • Type 2: The history of records is stored in this type by flagging them
    • Type 3: Both the current data and the history data are tracked in this type
    • Type 4: Fusion of types 1 and 2
    • Type 6: Hybrid type

We use types 1, 2, and 3 for efficacy.

ETL Tools

The ETL tester/developer can undergo testing/development by using tools such as

  • Informatica
    • Used for ETL testing by checking the workflow and objects essential to ensure flow. This tool makes it extremely simple to validate the following checks:
      • Transformation logic
      • Record count
      • Run-time effectiveness
  • Abnitio
    • Abnitio can sort out data quality issues
    • Error count can be analyzed using this tool
  • Alteryx
    • Testing of numbers is possible with the ETL tool, Alteryx. It is a user-friendly tool that validates the data. Its inbuilt tools are easily accessible and can test the data. Alteryx can also be used for end-to-end data testing.

SQL is one of the essential languages used to test the data in ETL. Sometimes, Excel spreadsheets are used, especially when validating a low number of records. Using these tools helps reduce the time involved.

Connecting the Dots

ETL is one of the most important building blocks for turning data into the output that is needed in many fields, such as finance and surveying. It is also one of the best techniques for analyzing data through data warehousing.

The ETL process involves the following steps:

The source data from the OLTP environment is migrated or ingested into the OLAP environment using ETL tools. The visualization tools consume data from the OLAP. Both the ingestion layer and the consumption layer are tested.

The following is a simple workflow for the ETL testing process:

Testing Techniques

S2T Validation

  • The source to target document is a mapping document where a tester must test for the description of the table’s columns. Here, we test the overall structure of the table and the mapping between them.

Transformation Logic Check

  • It is necessary to test data transformation because, in many instances, we cannot do it by executing a single source SQL query and comparing the results with the intended results. For each row, it might be necessary to perform many SQL queries to check the transformation rules.
  • When it comes to data analytics, the client might require the removal of unwanted false entries. The tester has to test this logic. For example, some columns are created based on formulae, so the tester must ensure that the data is derived from the column according to the corresponding transformation logic.

Data Completeness Check

  • Data completeness testing is carried out to ensure that the anticipated data has been put into the target from the source. For example, data loss is possible in real time, and it can lead to a wrong understanding of the product or services. So, testing data completeness is an important task.
  • Incomplete data can lead to a false calculation of the business’s profits and losses.
  • Comparing and validating counts, aggregates, and accurate data between the source and target.

Data Quality Check

  • This step involves checking for dirty data. It does not follow a universal rule and changes based on need.
  • For example, raw text from customers should be tested and modified in an understandable script. So, a data quality check is a must for analysis.
  • It is necessary to check for the encrypted data in specific columns of the table as it is highly secured.
  • It will indicate dirty data based on erroneous characters, character patterns, wrong upper or lowercase order, etc.

Metadata Testing

  • This process involves checking for the data type, length, and index/constraint.
  • For example, checking data length helps reduce data truncation.
  • Constraint check is essential as some columns may have check constraints for the account number or identification number columns.

Visualization Tool Testing

  • The amount of data level failure in visualizing data is reduced using the ETL process in the initial stage, as the ETL is a means of testing scope.

Conclusion

In today’s workplace, data is king, and ETL is the kingmaker! Data transformation depends on data warehousing, and ETL is a key part of the whole process. Since it’s important to process data quickly and well, ETL testing is in high demand, especially when loading a lot of data into a database that is already synchronized.

Mythily G