Testing in Power Center

download Testing in Power Center

of 9

description

dw

Transcript of Testing in Power Center

Testing in Power Center IntroductionThis article briefs about the following: Different Testing Types like Unit Testing, Integration and UAT. Testing Architecture & Processes Testing tools available with Informatica Testing facilities available with Informatica PowerCenterUnit TestingUnit testing can be broadly classified into 2 categories.Quantitative Testing Validate your Source and Targeta) Ensure that your connectors are configured properly.b) If you are using flat file make sure have enough read/write permission on the file share.c) You need to document all the connector information. Analyze the Load Timea) Execute the session and review the session statistics.b) Check the Read and Write counters. How long it takes to perform the load.c) Use the session and workflow logs to capture the load statistics.d) You need to document all the load timing information. Analyze the success rows and rejections. a)Have customized SQL queries to check the source/targets and here we will perform theRecord Count Verification.b) Analyze the rejections and build a process to handle those rejections. This requires a clear business requirement from the business on how to handle the data rejections. Do we need to reload or reject and inform etc? Discussions are required and appropriate process must be developed.

Performance Improvementa) Network Performanceb) Session Performancec) Database Performanced) Analyze and if required define the Informatica and DB partitioning requirements.

Qualitative TestingAnalyze & validate your transformation business rules. More of functional testing.e) You need review field by field from source to target and ensure that the required transformation logic is applied.f) If you are making changes to existing mappings make use of the data lineage feature available with Informatica PowerCenter. This will help you to find the consequences of altering or deleting a port from existing mapping.g) Ensure that appropriate dimension lookups have been used and your development is in sync with your business requirements.Integration TestingAfter unit testing is complete; it should form the basis of starting integration testing. Integration testing should test out initial and incremental loading of the data warehouse.Integration testing will involve following1. Sequence of ETLs jobs in batch.2. Initial loading of records on data warehouse.3. Incremental loading of records at a later date to verify the newly inserted or updated data.4. Testing the rejected records that dont fulfil transformation rules.5. Error log generation.Integration Testing would cover End-to-End Testing for DWH. The coverage of the tests would include the below:Count ValidationRecord Count Verification: DWH backend/Reporting queries against source and target as an initial check.Control totals: To ensure accuracy in data entry and processing, control totals can be compared by the system with manually entered or otherwise calculated control totals using the data fields such as quantities, line items, documents, or dollars, or simple record countsHash totals: This is a technique for improving data accuracy, whereby totals are obtained on identifier fields (i.e., fields for which it would logically be meaningless to construct a total), such as account number, social security number, part number, or employee number. These totals have no significance other than for internal system control purposes.Limit checks: The program tests specified data fields against defined high or low value limits(e.g., quantities or dollars) for acceptability before further processing.Dimensional AnalysisData integrity between the various source tables and relationships.Statistical AnalysisValidation for various calculations.

o When you validate the calculations you dont require loading the entire rows into target and validating it.

o Instead you use the Enable Test Load feature available in Informatica PowerCenter.

PropertyDescription

Enable TestLoadYou can configure the Integration Service to perform a test load.With a test load, the Integration Service reads and transforms data without writing to targets. The Integration Service generates all session files, and performs all pre- and post-session functions, as if running the full session.The Integration Service writes data to relational targets, but rolls back the data when the session completes. For all other target types, such as flat file and SAP BW, the Integration Service does not write data to the targets.Enter the number of source rows you want to test in the Number of Rows to Test field. You cannot perform a test load on sessions using XML sources.You can perform a test load for relational targets when you configure a session for normal mode. If you configure the session for bulk mode, the session fails.

Number ofRows to TestEnter the number of source rows you want the Integration Service to test load. The Integration Service reads the number you configure for the test load.

Data Quality ValidationCheck for missing data, negatives and consistency. Field-by-Field data verification can be done to check the consistency of source and target data.Overflow checks: This is a limit check based on the capacity of a data field or data file area to accept data. This programming technique can be used to detect the truncation of a financial or quantity data field value after computation (e.g., addition, multiplication, and division). Usually, the first digit is the one lost.Format checks: These are used to determine that data are entered in the proper mode, as numeric or alphabetical characters, within designated fields of information. The proper mode in each case depends on the data field definition.Sign test: This is a test for a numeric data field containing a designation of an algebraic sign, +or - , which can be used to denote, for example, debits or credits for financial data fields.Size test: This test can be used to test the full size of the data field. For example, a social security number in the United States should have nine digits

GranularityValidate at the lowest granular level possibleOther validationsAudit Trails, Transaction Logs, Error Logs and Validity checks.Note: Based on your project and business needs you might have additional testing requirements.

UAT (User Acceptance Test) In this phase you will involve the user to test the end results and ensure that business is satisfied with the quality of the data. Any changes to the business requirement will follow the change management process and eventually those changes have to follow the SDLC process.Testing ArchitectureFrom my perspective there are two broad categories of testing architecture1. Unsecured2. SecuredUnsecuredEven now many organizations go for unsecured testing architecture because it requires little budget and less maintenance.Assume that you have sales data warehouse, you have implement a change requirement where by you need1 year worth of data from production.In this case you will develop a mapping to read the data from production warehouse and load into development and proceed with the development.Meaning, a developer can see the production data as it is. Some organizations will perform data masking before bringing the data from production to UAT or Development environment.SecuredIn this case production data will be always masked before they are available in the DEV environment,Informatica Data SubsetInformatica also provides a tool called Informatica Data SubsetThe following is an overview copied from Informatica web site about the Data subset product.Informatica Data Subset is a flexible enterprise data growth solution that automates the process of creating smaller, targeted databases from large, complex databases. With referentially intact subsets of production data, IT organizations can dramatically reduce the amount of time, effort, and disk space necessary to support nonproduction systems.Informatica Data Subset helps IT organizations untangle complex transactional systems, separating out only functionally related data.Informatica Data Subset is ideal for:Optimize Development, Testing, and Training Systems Dramatically accelerate development and test cycles and reduce storage costs by creating fully functional, smaller targeted data subsets for development, testing, and training systems, while maintaining full data integrity

Quickly build and update nonproduction systems with a small subset of production data and replicate current subsets of nonproduction copies faster

Simplify test data management and shrink the footprint of nonproduction systems to significantly reduce IT infrastructure and maintenance costs

Reduce application and upgrade deployment risks by properly testing configuration updates with up- to-date, realistic data before introducing them into production

Easily customize provisioning rules to meet each organizations changing business requirements

Lower training costs by standardizing on one approach and one infrastructure

Train employees effectively using reliable, production-like data in training systemsSupport Corporate Divestitures and Reorganizations Untangle complex operational systems and separate data along business lines to quickly build the divested organizations system

Accelerate the provisioning of new systems by using only data thats relevant to the divested organization

Decrease the cost and time of data divestiture with no reimplementation costsReduce the Total Cost of Storage Ownership Dramatically increase an IT teams productivity by reusing a comprehensive list of data objects for data selection and updating processes across multiple projects, instead of coding by handwhich is expensive, resource intensive, and time consuming

Accelerate application delivery by decreasing R&D cycle time and streamlining test data management

Improve the reliability of application delivery by ensuring IT teams have ready access to updated quality production data

Lower administration costs by centrally managing data growth solutions across all packaged and custom applications

Substantially accelerate time to value for subsets of packaged applications

Decrease maintenance costs by eliminating custom code and scripting

Testing ProcessesConcentrate on the following for any testing requirements that you have:1. Understanding the application data & business requirement.2. Identify the sensitive information and develop processes to protect it3. Understanding data requirements for test and development.In any organization we will have parallel activities going on. Like BAs want to test a functionality in UAT for which they need data from Production. Developer wants to perform a unit testing for which he/she needs data from Production.For the above such requests we need to create a data load matrix and prioritize their needs.Data Load MatrixProject TeamRequestDescriptionPriorityData RefreshCycleRequestType

QAHIGHMonthlyOne-Off

DevelopmentLOWDailyRegular

4. Defining data selection criteria and data masking rules5. Testing and Validation5. Auditing and securityInformatica PowerCenter Testing Debugger: Very useful tool for debugging a valid mapping to gain troubleshooting information about data and error conditions. Refer informatica documentation to know more about debugger tool. Test Load Options Relational Targets.PropertyDescription

EnableTest LoadYou can configure the Integration Service to perform a test load.With a test load, the Integration Service reads and transforms data without writing to targets. The Integration Service generates all session files, and performs all pre-and post-session functions, as if running the full session.The Integration Service writes data to relational targets, but rolls back the data when the session completes. For all other target types, such as flat file and SAP BW, the Integration Service does not write data to the targets.Enter the number of source rows you want to test in the Number of Rows to Test field.You cannot perform a test load on sessions using XML sources.You can perform a test load for relational targets when you configure a session for

normal mode. If you configure the session for bulk mode, the session fails.

Number of Rows to TestEnter the number of source rows you want the Integration Service to test load. The Integration Service reads the number you configure for the test load.

Running the Integration Service in Safe Modeo Test a development environment. Run the Integration Service in safe mode to test a development environment before migrating to productiono Troubleshoot the Integration Service. Configure the Integration Service to fail over in safe mode and troubleshoot errors when you migrate or test a production environment configured for high availability. After the Integration Service fails over in safe mode, you can correct the error that caused the Integration Service to fail over. Syntax Testing: Test your customized queries using your source qualifier before executing the session. Performance Testing for identifying the following bottlenecks: oTarget oSource oMapping oSession oSystem

Use the following methods to identify performance bottlenecks:Run test sessions. You can configure a test session to read from a flat file source or to write to a flat file target to identify source and target bottlenecks.Analyze performance details. Analyze performance details, such as performance counters, to determine where session performance decreases.Analyze thread statistics. Analyze thread statistics to determine the optimal number of partition points.Monitor system performance. You can use system monitoring tools to view the percentage of CPU use, I/O waits, and paging to identify system bottlenecks. You can also use the Workflow Monitor to view system resource usage. Use PowerCenter conditional filter in the Source Qualifier to improve performance. Share metadata. You can share metadata with a third party. For example, you want to send a mapping to someone else for testing or analysis, but you do not want to disclose repository connection information for security reasons. You can export the mapping to an XML file and edit the repository connection information before sending the XML file. The third party can import the mapping from the XML file and analyze the metadata.