Business Intelligence(BI) reports are generally a graphical view of data, which gets refined 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, or ‘its Accuracy’,
- How effectively a user can use a report, or ‘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 BI projects
- BI projects are different from other applications as BI reports and dashboards get automatically populated on the basis of properties set in the BI tool,
- In this post, we will cover different testing aspects of a BI project,
- To test a BI project containing reports and a 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 requirements.
Along with the 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:
- If the mapping of data is correct or not,
- The accuracy of the 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 the following checks, we should do after ETL processing to verify:
- No record gets destroy during the ETL process, the 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 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, it’s 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 the 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,
- The 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,
- Functionality of the Search feature,
- Functionality of prompts in BI reports.
Functional testing of BI reports
- Whenever a user goes through a report to get some information, the 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 the design of all BI reports just to confirm whether:
- The 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 the report.
- Business Requirement of the 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 the quarterly performance of employees.
- If prompts get set with the 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 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 employees can get their performance report of a current quarter just after landing on a page. Prompts can be of the following types:
- Radio buttons
- A select List box with a number of values
The most commonly used prompts are the selection lists and drop-downs, which generally display dynamic and static values as well. Although the default value of prompts set on the basis of the business requirement but as a tester, we should take care of key scenarios related to prompt:
- Prompts should get a match with the 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 the selected prompt.
Validate data accuracy in the 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 the correctness of data in each BI report.
- To validate data displaying in reports, we should keep database queries ready with the same logic applied on reports.
- We should ensure that our database query should be 100 % correct and verified. After executing a database query, compare its results with BI report data.
- In case any discrepancy found in the report data and query result just do a cross-check on both and then raise a Bug ticket.
- While doing verification of BI report data, we should check the 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 reports in parent reports 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 be kept 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 reports. For example, a 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, the 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, the average count and its corresponding product name should maintain in its summary and detailed report.
Performance Testing of BI Reports
BI reports should get render within a specified duration as given in the requirement. All prompts and report 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 the user his/her interest point. To test basis testing of the performance of BI reports, you should verify:
- The 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!!!