ETL basically stands for Extract Transform Load - which simply implies the process where you extract data from Source Tables, transform them in to the desired format based on certain rules and finally load them onto Target tables. There are numerous tools that help you with ETL process - Informatica, Control-M being a few notable ones.
So ETL Testing implies - Testing this entire process using a tool or at table level with the help of test cases and Rules Mapping document.
In ETL Testing, the following are prima facie validated -
1) Data File loads from Source system on to Source Tables.
2) The ETL Job that is designed to extract data from Source tables and then move them to staging tables. (Transform process)
3) Data validation within the Staging tables to check all Mapping Rules / Transformation Rules are followed.
4) Data Validation within Target tables to ensure data is present in required format and there is no data loss from Source to Target tables.
What I have mentioned here is just a tip of the ice-berg and a description of ETL Testing from a very high level but hope this gives an insight about ETL Testing.
ETL testing is done by SQL scripting. These approaches to ETL testing are very time-consuming, error-prone, and seldom provide complete test coverage.ETL tool work as integrator which extracts data from different sources and transform it to preferred location ,a and format.
1) Verify that data is transformed correctly according to various business requirements and rules.
2) Make sure that all projected data is loaded into the data warehouse without any data loss and truncation.