Monday, 7 July 2014

Oracle BI EE 11g : Automated Regression Testing

I was reading a blog by Rittman Mead Consulting at http://www.rittmanmead.com/2014/01/automated-regression-testing-for-obiee/ couple of months back when I was on bed due to severe gout attack. I thought it would be nice if a tool can be built on that concept. The problem was logical concept does not always have a physical mean to achieve it. Some logical steps provided in the blog to check the generated physical SQLs directly from the logical SQL and eliminating the database hit is not physically possible because OBI EE web services does not provide any service for accessing query log file. Moreover, in some cases  one logical SQL may lead to more than one physical SQLs and thus comparing is very tough.

 The path was vague and failure on every second step was almost certain. It took me months of late night reading, coding and again reading in home and finally the first draft of the application is ready.

All the components that are used in this application are Open Source components. Not just OBI EE 11g, with minor changes in code this tool can be fit to test almost any application that provides either a JDBC interface or an Web Service interface.

This tool can check the reports against their logical SQLs and if there is any change in the logical SQL then it flags an issue. In ideal situation the logical SQLs will not change if the model or the report is not changed. It also checks the Security setup of the reports (ACL) and flags any differences. The report test cases support parameter passing so each report can be tested against multiple parameter setup. The tool has provision to execute the report and check the output as well but this may take little time due to the size of each report output and the hardware resources on the testing machine. Thus almost 80% of the area can be covered automatically by this tool. The remaining 20% depends on the GUI components like flush charts or images. There is no full proof approach to test binary content at present so they are not addressed in this tool. May be in future that can be added based in the availability of open source components.

If you are interested, you can download this tool from https://github.com/obibugfinder/obi-bug-finder/raw/master/application/1.0.0.0/OBIBugFinder.zip and test this java based application.

I will be very happy if you let me know your findings and suggest me how the tool can be improved.

Blog Archive