Business Intelligence(BI) reports are generally a graphical view of data, which get refine from a heap of raw data. This graphical view helps understand data in a meaningful manner. It also helps to improve your business strategy and make better business decisions.
The success of BI projects depends on the:
- How trustworthy that report is meant ‘its Accuracy’
- How effectively a user can use a report means ‘its Usability’
Accuracy and Usability are the key factors to encourage user adoption of a BI application. Being a tester, it is important to keep both these factors in mind while testing a BI application.
Different testing aspects of a BI projects
- BI projects are different from other applications as BI reports and dashboards get automatically populated on the basis of properties set in BI tool.
- In this blog, we will cover different testing aspects of a BI project.
- To test a BI project containing reports and dashboard, you must be aware of the basic process of collecting facts and data used for depicting information in charts, graphs, and dashboards.This process consists of the following activities:
- Gathering raw data.
- Cleansing it by filtering unwanted stuff.
- Analyzing data as per requirements.
- Identifying the relationship between different data sets.
- Design reports and implement them as per business requirement.
Along with above-listed activities, you must have an idea of each and every business requirement of the would-be project. Understanding of business helps you to identify focused testing areas of the BI project. There are a few basic categories of test cases, which need to execute every time while testing a BI project.
Data is the soul of a BI project, so the accuracy of data is very important in a BI application. A process to filter data from raw to structured pattern is very critical.
These test cases are related to verifying:
- Mapping of data is correct or not.
- The accuracy of precision of data in numeric fields
- Availability of all entities and attributes in the target system
- That no null fields get populated
- The configuration of keys are proper or not
- No data get truncated while processing
- Availability of data type and format in the target system
- No duplicate data transmitted in the target system
- That data gets transformed properly
Transformation of data from the source to the target system is done through the ETL process. There are following checks, we should do after ETL processing to verify:
- No record get destroy during the ETL process, record count in the source system and target system should be the same.
- An already existing record should not get reloaded in the target system
- Deletion of records in the target tables it should not affect any relation in target DB
- The accuracy of values loaded by process tables and reference tables
Loading of data in BI reports and dashboard
After data filtration, its time to load data in BI reports and dashboard. Loading of data in BI reports directly affects the performance of the whole application.
Following are checkpoints for data loading in BI to verify:
- No access issue should be raised while connecting the database.
- No delay should occur while loading data in reports
- Working of parent module in case of crashing child module.
- Proper logs are getting captured
- The configuration of parameters used for mapping and maintaining workflow
Displaying of data BI reports and dashboard
Now, there are test cases for the front end of BI reports.
These test cases belong to very basic areas of BI reports to verify:
- The format of date and time is consistent
- Date and time stamp should be correct
- Displaying of decimal precision
- Availability of proper UI of a report in case of blank values
- Displaying of data displayed in the report
- Working of the Search feature
- Working of prompts in BI reports
Functional testing of BI reports
- Whenever a user goes through a report to get some information, UI of a report should be understandable.
- For example, if a dashboard contains a number of reports for various purpose. There may be different prompts for these reports.
- Displaying a number of reports and prompts may create confusion for a business user.
- Usage confusion will definitely affect the application adaption.
BI Report Design testing
To make a BI report adaptable, you should check design of all BI reports just to confirm whether:
- Proper report title is displaying or not.
- Report title get relates to reporting content or not.
- In Graphs and charts, proper axis recognition is possible or not.
- Data rendering in right place on dashboard or not.
- Report UI is clear or not.
- Availability of download options along with report.
- Business Requirement of report getting fulfilled or not.
- Availability of print option in each BI report.
- Data is getting aggregate as per requirement or not.
- Availability of proper tool-tip with reports
- Design of BI reports is as per design standards or not.
- Displaying of special Notes and other static content which is important for understanding the report
Report Prompts Verification
- Prompts play a very important role to serve an end user with a better experience.
- It refers to the input values to show content in the report.
- For example, a BI report displays in an employee portal to display quarter performance of employees.
- If prompts get set with future quarter of the year then there is no use of it.
- As future quarter data will not available in the system and a blank report will appear at the very first time. In other words, we can say performance reports will always blank but if prompts by default set to the current quarter then Employee can get their performance report of a current quarter just after landing on a page.Prompts can be of following types:
- Radio buttons
- A select List box with a number of values
The most commonly used prompts are selection list and drop down, which generally display dynamic and static values as well. Although the default value of prompts set on the basis of business requirement but as a tester, we should take care of key scenarios related to prompt:
- Prompts should get a match with Report design
- Try to display dynamic values from DB wherever applicable
- Availability of help text and label with prompt
- Selection of values in prompt should be proper
- Data should get properly filter on the basis of selected prompt
Validate data accuracy in BI Report
- Data, the most important part of the BI report, should always correct in the report. The correctness of data has a direct impact on BI reports depiction.
- It directly affects the business for which these reports are implemented.
- Many times data accuracy testing results identification of data modeling and ETL process related issues.
- Whenever we start testing of data accuracy, we should double check for correctness of data in each BI report.
- To validate data displaying in reports, we should keep database queries ready with same logic applied on reports.
- We should ensure that our database query should be 100 % correct and verified. After executing database query, compare its results with BI report data.
- In case any discrepancy found in report data and query result just do a cross check on both and then raise Bug ticket.
- While doing verification of BI report data, we should check report number of times with different values through prompts.
- Do a regular comparison of report data and database query with the same input values.
Verify Drill-down Reports
In BI reports, it is very common to display the link of child report in parent report and vice-versa. This inheritance manner helps a user to drill down from parent report to child report in many layers. While going through from parent report to child report in order to test data, The following points should keep in mind:
- Click on each hyperlink available in either column level or heading level
- On every child navigation page, there should be a provision to come back on the previous report with earlier displaying data
- Relation factor between parent and child report should get maintain.
- Proper Prompt values should get maintain while navigating from parent to child report and vice-versa.
For each drill down prompts and the label should be maintained. Count of record should also maintain relatively in child and parent report. For example, BI report depicts market research of different products of an organization. This report can drill down to various child reports:
- Each product market report separately: In this case, product name and its count should maintain in its summary and detail report.
- Combined market reports on a yearly/monthly basis: In this case, year/month and its count should maintain in its summary and detail report.
- Combined market reports on the average basis: In this case, average count and its corresponding product name should maintain in its summary and detail report.
Performance Testing of BI Reports
BI reports should get render within specified duration as given in requirement. All prompts and reports data should get display within a very short time. If the performance of reports is not good then there is no use of BI reports as user his/her interest point. To test basis testing of the performance of BI reports, you should verify:
- Loading time of values in prompt
- Time to appear default BI page
- Navigation time from drill-down reports.
- Time to load data in a report just after selecting a value in prompt.
With this, we come to an end of this tutorial on “Different testing aspects of BI Reports”.
I hope this will help you to improve your knowledge to work on BI Reports.
However, suggestions or queries are always welcome, so, do write in the comment section. Thank You For Learning!!!