Business intelligence (BI) testing is required to ensure the accuracy, consistency, and reliability of data in complex systems like banks and telecom companies. BI testing focuses on validating the database structure, extract-transform-load processes, and report generation to prevent data and information loss. The objective of BI testing is to test data and reports to verify correct functionality, isolate failures to protect information, and ensure a best practice testing process aligned with the BI architecture.
BI Testing: Ensuring Data Accuracy and Report Reliability
1. Business intelligence (BI) is a technology-driven process for analyzing data and presenting
information to help managers and other corporate end users make business decisions.
BI is not achieved with one tool or via one system. It is a collection of applications,
technologies, and components that make up the entire implementation.
2. Introduction to Software Testing For BI
•Bi solutions development uses distinctly different lifecycle to conventional software
Development
•It is iterative nature
•Thus each deliverable must go beyond meeting just the stated
•Beyond the difference imposed by different life cycle ,there are several other difference
that add complexity
3. What is Software Testing
Software testing is a process used to identify the correctness, completeness, and quality of
developed computer software
4. What is BI Testing
•Analysis for software development produces a relatively stable set of requirements that
serve as the basis of system design
•BI requirements are less clear and change more rapidly
•This circumstance makes testing is difficult to test design of bi software
•Bi projects is an ongoing programs with out a finite end
•With the continues nature of BI development and operation there is demand for testing
Why is BI testing required?
DW/Bi pose a significant threat to organization or applications with huge volume of data.
Eg: Banks /Financial Institutes, Insurance, Telecom etc.
in such institutes, the information accuracy ,consistency and reliability , information
validation, data loss and data security and some of the important challenges that need to be
tested
To address these issues, the primary focus of BI testing is to ensure perfect database
structure, ETL Process, Report generation process
5. Objective of BI Testing
•Bi Testing is testing of program code verify it work correctly and does not fail
•BI test is aim to test data and reports
•Code failure is defined and isolated to prevent data and information loss
•Test strategy plays crucial role in ensure a best practice testing process for
implementation of BI solutions
•The strategy brings in a broad understanding of Business Intelligence architecture.
•it highlight the testing challenges and the value addition to SDLC process
6. Testing how ?
•By examining the user requirements
•By Reviewing design documents
•By examining design objectives
•By examining functionality
•By examining internal structures
•By executing code
7. What is Test Case?
A set of test inputs, execution conditions, and expected results developed for particulate
objective with specific requirements
In other words a planned sequence of action with objective of finding errors
Test case help us discover information success of test case is to find more number of errors
Finding any diversion form user requirements
Help managers to decide deliver or not to deliver software developed
What is a test suit and test cycle
Test suit –
A set of individual test case/ senario that are executed as package
Test cycle
A test cycle consist of a series of test suit comprise a complete execution from start to end
8. What is the scope of BI Testing
Business Intelligence testing varies levels to ensure that all requirement, both business and
technical have been met.
Testing of any BI solution will cover all lyres utilize by the BI solution within this architure and
also the complete end-to-end process
Testing scope include
•Sourcing and transformation of Business data
•Extract transform and load the data
•Reporting and presentation of Business Data
•Configuration of BI Tools
•Scalability and Performance
•Operational characteristics including scheduling ,security and metadata
10. What is Test Strategy?
A Test Strategy is a plan for defining the testing approach, and it answers to questions like
what you want to get done and how you are going to accomplish it.
It must incorporate test planning , test case design , test execution , result data collection
and evaluation
verification
verification refers to a set of activities which ensure that software currectly implements a
specific function
purpose of verification is to check , are we building the product right?
Example: code and document reviews ,Inspection
11. Validation
The process of evaluating software during the development process or at the end of
the development process to determine whether it satisfies specified business
requirements.
Validation Testing ensures that the product actually meets the client's needs. It can
also be defined as to demonstrate that the product fulfills its intended use when
deployed on appropriate environment.
Activities:
Unit Testing
Integration Testing
System Testing
User Acceptance Testing
12. V-Model is an extension of the waterfall model and is based on the association of
a testing phase for each corresponding development stage.
13. Types of Test
Manual Testing
Manual testing includes testing a software manually, i.e., without using any automated tool
or any script.
Automation Testing
Automation testing, which is also known as Test Automation, is when the tester writes
scripts and uses another software to test the product. This process involves automation of a
manual process.
When to Automate?
•Large and critical projects
•Projects that require testing the same areas frequently
•Requirements not changing frequently
•Accessing the application for load and performance with many virtual users
•Stable software with respect to manual testing
14. Testing Phases for BI
•Unit Test
•System Test
•System Integration Test
•User Acceptance Test
•Operational Acceptance Test
15. Unit Testing
It ensue that each component within the system successfully perform its individual
responsibility when executed individually
The BI solution development team should perform this testing on BI development
environment
ETL(layer) Typical Task
•checking extraction rules
•checking transformation rules
•checking input data validation
•checking target data integrity
•checking CDC
•checking integrity of surrogate key
•checking notification/warnings/Error Messages
16. Reporting(layer) Typical Task
•Does the report validate any input data (e.g. date range or username) provided to it?
•Is the input data entered by the user shown correctly in the report?
•Is the report created based on the input data given by the user?
•Does the report calculate values (e.g. subtotals by a unit such as a reporting period, totals,
averages, minimum, maximum) correctly?
•Is each data item on the report formatted correctly?
•Does the report group data on the basis of a unit correctly?
•Does the report show and use for calculation the correct statutory details (e.g. tax rates)?
17. System Test
it ensure that the system successfully support the business requirements
it also confirm all functional requirements have been met
Layer- Data Acquisition
•successful source access
•validation of cleansing logic
•proper delivery of files to stage area
•file name convention
•script and triggers
•formats and layouts
18. Layer- ETL
•successful access of staging database
•successful extraction of data
•validation of transformation logic
•Handling of Rejects and Errors
•Recovery and Restart
•Data Auditing
•Scheduling , job triggering
•alerts and notification
•Meta data recording
19. Layer- Reporting
•Correct reflection of schema in tool
•Source to object mapping
•Correct format of columns
•report layout and formatting
•Report scheduling
•Correct definition of derived measures
•Report scheduling and triggers
•Hieratical organization of dimension
•validating drill down /drill up /drill across
20. System Integration Testing
is defined as a type of testing carried out in an integrated hardware and software
environment to verify the behavior of the complete system.
It also verifies a software system's interface between modules of the software application.
Layer- Data Acquisition
•successful run of each job
•successful execution of each script
•properly delivery of file to staging
•capture of errors
•capture of rejects
•capture of audit trails
Layer –Report
•report scheduling
•correct reflection of data dwh to reports
•query generation to test table joins
21. Layer- ETL
•Triggered start of the ETL Process
•successful extraction in order of precedence
•count of rejects based on logic
•successful run of dependent job
•restart, alert and notification deliver
Performance
•Benchmarking , Gauge the impact of configuration, tuning
•load and volume test
•Availability
22. User acceptance testing (UAT)
UAT is the last phase of the software testing process. During UAT, actual software
users test the software to make sure it can handle required tasks in real-world scenarios,
according to specifications.
UAT should be for specific BI function, like data transformation rules and data correctness'
User acceptance Test covers
•Functional Testing
•BI information Testing
layer-Business
• Information accuracy
• Source data rejection
• Data transformation rules
• Key performance matrix, reports
• Information presentation
• User access to reporting and OLAP tools
23. Test Documentation
The purpose of this document is to define a temple for testing strategy of BI Solution
Using Test documents
•identify and describe each test phase
•identify and describe each test stage
•define entry and exit criteria of each test phase
•including test activities and validation task
•This document also set some high level guidelines for BI Testing
24. List of documents
•Test Plan
•Test Scenario
•Test Case
•Traceability Matrix
Test Plan
A test plan outlines the strategy that will be used to test an application, the resources
that will be used, the test environment in which testing will be performed, and the
limitations of the testing and the schedule of testing activities.
A test plan includes the following
•Introduction to the Test Plan document
•Assumptions while testing the application
•List of test cases included in testing the application
•List of features to be tested
•What sort of approach to use while testing the software
•List of deliverables that need to be tested
•The resources allocated for testing the application
•Any risks involved during the testing process
•A schedule of tasks and milestones to be achieved
25. Test Scenario
It is a one line statement that notifies what area in the application will be tested. Test
scenarios are used to ensure that all process flows are tested from end to end.
Test Case
Test cases involve a set of steps, conditions, and inputs that can be used while performing
testing tasks.
Test case Includes
•Test case ID
•Product module
•Product version
•Revision history
•Purpose
•Assumptions
•Pre-conditions
•Steps
•Expected outcome
•Actual outcome
•Post-conditions
26. Traceability Matrix
Traceability Matrix (also known as Requirement Traceability Matrix - RTM) is a table that is
used to trace the requirements during the Software Development Life Cycle.
Each requirement in the RTM document is linked with its associated test case so that
testing can be done as per the mentioned requirements
•Make sure the software is developed as per the mentioned requirements.
•Helps in finding the root cause of any bug.
•Helps in tracing the developed documents during different phases of SDLC.