What is BumbleBee?
BumbleBee takes the pain and uncertainty out of learning and using XQuery. It starts by letting you immediately put several XQuery engines to the test so you know how they stack up against the XQuery specification. Then it lets you easily write your own tests to continually make sure your XQuery expressions produce reliable results when you upgrade your XQuery engine, try different engines, or otherwise make changes to your queries.
BumbleBee is all about push-button regression testing. Indeed, BumbleBee tests act as automated change detectors to eliminate costly XQuery debugging cycles. So minimize the risks of being an early XQuery adopter by letting BumbleBee buzz over your FLWOR expressions!
Why Use BumbleBee?
XQuery is quickly gaining traction as the standard language for querying and manipulating collections of XML data. Using XQuery, however, can be quite frustrating as you're faced with choosing from a variety of XQuery engines that support different versions and interpretations of the XQuery specification. And once you've selected the XQuery engine that's right for you, you'll want automated tests that check that the queries you write always produce the expected results.
BumbleBee takes the guesswork out of using XQuery. Out of the box, it includes a comprehensive suite of tests based on the XQuery specification. It also includes a set of adapters to several popular free and commercial XQuery engines. So, in one fell swoop, BumbleBee will run a healthy dose of compatibility tests against nearly any XQuery engine. You can even run all the compatibility tests against multiple XQuery engines to compare and contrast their results. Every test checks its own results and gives you an unambiguous pass or fail status. For every test that fails, the test report indicates what result was expected and what result the engine actually produced. The comparison logic smartly handles formatting and whitespace issues and the complex XQuery rules where non-deterministic results are allowed. No need to guess, just run the tests!
The compatibility tests distributed with BumbleBee are just the beginning. Once you've chosen an XQuery engine, you can start writing your own application-specific tests. Writing a new test is easy: you specify the query to be run and the expected result in a text file. And just like the compatibility tests, you can continually and automatically run all your custom tests against an XQuery engine.
What if you're new to XQuery and just learning how to write good queries? With BumbleBee, learning XQuery has never been easier or more fun!
You simply start by writing a BumbleBee test that specifies the query result you wish you had. Think of it as the goal. Then in the BumbleBee test you write the query intended to produce the desired result. You continue to refine the query -- running the test after each change -- until the BumbleBee test passes. At every step along the way, by running the test BumbleBee will tell you what result the engine actually produced. Using that feedback as a guide throughout your pursuit for the best query, you'll know whether you're getting warmer or colder.
In the end (if there ever is one in learning) you'll have a collection of passing BumbleBee tests that you can refer back to and continually run. That is, you'll have real working examples of XQuery in action.
BumbleBee sports the following features out of the box:
- Includes over 70 automated tests representative of the W3C XQuery Use Cases
- Includes over 1000 automated tests representative of the NIST XQuery Test Suite
- Includes adapters to 7 different free and commercial XQuery engines
- Includes the runtime libraries for 3 free XQuery engines
- Allows you to write and run your own custom XQuery tests
- Tests are automated, self checking, and report an unambiguous pass or fail status
- Tests can define multiple, possible expected results
- Can run arbitrary suites of standard and/or custom tests
- Can run tests against one or more XQuery engines
- Generates a comprehensive report of passed and failed tests per XQuery engine being tested
- Supports the addition of new XQuery engines through a pluggable adapter design
- Allows disabling and enabling tests, globally or on a per-engine basis
- Allows customization of whitespace comparison behavior
- Supports negative testing, where the engine must report an error to pass
- Written in Java for maximum portability
Supported XQuery Engines
BumbleBee includes adapters and runtime libraries for the following free XQuery engines:
BumbleBee includes adapters for connecting to the following commercial XQuery engines:
Download a free, fully-functioning 30-day evaluation copy of BumbleBee!
BumbleBee requires JDK 1.4 or higher. Support for earlier JDK versions is available upon request.
Non-expiring licenses of BumbleBee are available for commercial use by contacting us at buzz at x-query.com with your usage requirements.
A non-expiring BumbleBee license entitles you to use BumbleBee for commercial purposes, receive all BumbleBee revisions within the current major release version, and enjoy 30 days of direct email support with the creators of BumbleBee. The source code to BumbleBee is also available to licensees on a negotiable basis. Extended support plans are available upon request.
Licensed copies of BumbleBee are available free of charge for developers of open source XQuery implementations and qualified non-profit and educational use. Contact us at buzz at x-query.com to discuss qualifying for such a license.
Once you've downloaded BumbleBee, the Getting Started With BumbleBee quick-start guide will set you on a path to quickly and effectively using BumbleBee to keep your XQuery engine and queries in check.
The mailing list is the best place to get help, report bugs, and request new features while you're evaluating BumbleBee.
Licensed users are entitled to 30 days of direct email support.
BumbleBee is a joint venture between Clarkware Consulting, Inc. and Hunter Digital Ventures, LLC.