The bumbleTest project is an open-source framework for executing and recording the results of benchmarks. As it was primarily built for performing benchmarks it is designed to do concurrency and scaling tests in a consistent and repeatable fashion. bumbleTest currently supports the following types of tests:
- DB Operations: Such as DML and DDL operations e.g.
- OS Calls: Any command locally available to the server running bumbleTest.
- Java Method Calls: Similar to jUnit but simpler.
- jUnit Tests Cases: See jUnit for more information.
Anyone who wants to run a series of tests and gather the results into a database for analysis. People have used bumbleTest to do the following:
- Execute repeatable database benchmarks
- Run parallel jUnit test cases
- Gather OS call timings
How do I get started
- Download the complete package from sourceForge.
- Unzip the contents of the file to the machine you want to run it on.
- Check that you have java 1.6 installed.
- (Optional) Run a simulation, using the example test, by typing the following
- Modify the files in the xml folder to reflect the tests you want to do; see below for a simple example.
If everything goes well a series of tests will run in simulation mode and you’ll see an output that ends with.
How do I make my first test
- Open the example named helloWorld.xml,in the XML folder, in your favorite xml editor.
- Modify the url, username, driver and password to point to the database of your choice. Oracle is used here but as long as you have the JDBC driver for your database, you’ll be able to continue to the next step.
- Place a copy of the jdbc driver on the machine.
- Modify the Hello sqlcase sql statement to something that works on the target database.
- Run the test by typing the following:
If everything goes well a series of tests will run and you’ll see a success message.
- The test schema consists of four tables.
- Test_Run_Config – Represents a test suite execution (One row for each Test Run declared in the xml file)
- Test_Run – Represents a collection of test groups (One row for each test execution requested. The threads field represents the concurrency)
- Test_Group_Instance – Represents a collection of tests (Each concurrent thread is a test group, as each thread may run a series of SQL statements)
- Test_Case – An execution of a test, contained within a test group (The individual sql statements)
To view the results type the following:
A browser window will popup asking you to connect to the H2 database. <ake sure the the connection URL is jdbc:h2:test and press connect.