Experimenting with the new Oracle BI Baseline Validation Tool
The Oracle BI Baseline Validation Tool is a long overdue new tool introduced in 12c that allows BI administrators to perform regression testing after a BI migration or a BI upgrade. The goal of this post is to document my experimentation with this new tool in Windows 7. As an example I’ve got an environment with OBIEE 188.8.131.52 installed and another equivalent environment with version 184.108.40.206. The BVT is run from the command with a configuration file and set of arguments. Following are the high-level steps for using the Oracle BI BVT:
- Establish a baseline (set of dashboards, reports), in this example we compare all items
- Configure the configuration file to specify the location of the target catalog, Oracle BI Presentation Services login information, and the plug-ins to activate. A sample configuration testconfig.xml is provided out the box, one can create a new using the BVT utility
- Run the Oracle BVT tool three times:
- First run to generate the baseline
- Second run to generate the same data from the patched environment
- Third run to compare results between the before and after web catalog
The BVT allows a fine grain level comparison allowing even the ability to set a maximum tolerance for floating point fluctuations between reports.
Oracle BI Validation Tool Installation
- Java 1.6 and higher
- Windows: Windows 7 and higher, Windows Server 2012 and higher
- Linux: Oracle Linux U5 or Oracle Linux 7
- Mozilla Firefox or IE
It is shipped with the Oracle Business Intelligence Developer Client Tool, after installation, the tool is located in
Once the zip file is uncompressed
Looking at the sample configuration file, there are 2 sections:
Description of the target environment that the tests will run against, the deployment name can be updated in order to describe your specific environment, in our case we will define the following deployment names; “OBIEE11117base” to designate our baseline OBIEE 220.127.116.11 environment and ““OBIEE11119upgrade” to designate the upgraded environment. The deployment names will be fed to the BVT as command line arguments
This section describes the different types of comparisons (5) that are available for the web catalog; each type of comparison is developed as a plug-in. Following are the plug-ns available out of the box:
- Catalog Plug-in Compares the metadata of objects in catalog folders,
- UI Plug-in [com.oracle.biee.bvt.plugin.ui] : Compares screen captures of individual analyses and dashboards.
- Reports Plug-in [com.oracle.biee.bvt.plugin.report]: Exports the results of the analyses to CSV and generates a comparison report.
- Logical Query Plug-in [com.oracle.biee.bvt.plugin.logicalquery] : Downloads and saves the logical SQL generated for analyses
- Dashboard Plug-in [com.oracle.biee.bvt.plugin.dashboard]: Exports the results of the analyses to XML and generates a comparison
The plug-ins can be enabled by setting the “enabled” tag to true.
Let’s update the sample configuration file and capture the baseline for our OBIEE 18.104.22.168 web catalog. We enter the URL for the BI environment and the username/password. Note that you can chose to enter the password as a command line argument with the “-password” flag followed by the actual password; if no value is passed with the flag, you will be prompted to enter it.
We run the following command in order to capture our 22.214.171.124 baseline, the syntax to capture the configuration for our BI 126.96.36.199 is:
bin\obibvt.bat -config TestConfig.xml -deployment BI11117base
Where testconfig.xml is the name of the configuration file and BI111117base is the deployment name to run. As an example, we’ve enabled all the tests and run the BVT to capture our OBIEE 188.8.131.52 baseline. A folder named after the deployment name is created under the results folder, a progress status is displayed on the screen while the processing is underway.
Note that you can set timeout for loading each report, by default, the timeout to download a single report is 15000 milliseconds (15 seconds). Once the script is done executing, sub folders are created in the main results folder
We run the script again in order to capture the 184.108.40.206 environment, this will enable us to run comparisons between environments
bin\obibvt.bat -config TestConfig.xml -deployment BI11119
Once the script is done running, a second folder is created in the main Results folder
We can now run the same script with the –compareresults flag in order to perform comparisons between the 220.127.116.11 and the 18.104.22.168 environments.
Now navigate to the Comparisons folders and examine the differences between 22.214.171.124 and 126.96.36.199; for each test there is an html file with the color coded test results, relevant details and hyperlinks to items of concern.
Web Catalog comparisons
Details are provided such as :
- number of of BI objects in the base environment
- number of BI objects in the target environment
- items only present in the base environment
- items only present in the target environment
- items that are different
Drill down links provide more details where there are exceptions
Differences between dashboard details are provided.
Logical Query comparisons
Differences in logical SQLs between both environments are documented.
An export to CSV of the results for each of the analyses is performed for each environment and a comparison report is performed.
UI plugin compares screen captures pixel by pixel of individual analyses and dashboards and displays a comparison report side by side. A score is assigned to each comparison based on the match: a score of 1 indicates a perfect match while 0 indicates a complete mismatch. The threshold for a pass of fail score can be set in the configuration file, it is 0.95 by default. The side by side comparisons is very handy and help you see the discrepancies in look and feel.
p.s: Note that we were only to have all tests run successfully using Firefox version 34.0; tests will fail while running with Internet 11.0 and Firefox 42.0 we got the following error in the log:
NS_ERROR_XPC_CI_RETURNED_FAILURE: Component returned failure code: 0x80570015 (NS_ERROR_XPC_CI_RETURNED_FAILURE)
Apparently this error is caused by the Selenium web driver in later version of Firefox, you can read more about it here.
It is worth noting that there is a flag in the configuration file that allows you (1) to set the default browser for running the tests and (2) another flag where you can specify the number of browser instances to run concurrently while performing the tests.
The goal of this post was to document a preliminary experiment with the new regression testing tool that shipped with obiee 12c; setting up the configuration and the running comparisons is fairly straightforward; the results are detailed and handy. There is no doubt that this tool will be useful for OBIEE regression testing. In conclusion, the Oracle BI development team is making big strides in addressing pain points that have made working with OBIEE and migrating and maintaining different Oracle BI environments a challenge. One shortcoming of the tool though is that BI-Publisher reports are not included in the comparisons, hopefully future releases of the BVT will include this type of comparisons.