• Increase font size
  • Default font size
  • Decrease font size
Download  Benerator

Databene Benerator

benerator supports you in performing realistic load and performance tests. It is a framework

for generating realistic and valid high-volume test data for your system under test (avoiding the Datalite anti-pattern). benerator actually reduces the amount of time for creating a useful data setup of a medium sized enterprise application or XML Schema from 2-4 weeks to 1-2 days!

Since data representation and constraints are platform independent, benerator can provide you with a rich set of plugin interfaces for custom extensions and mappings, allowing virtually any platform to be targeted with data generation.

Out of the box benerator supports database systems, XML, XML Schema, CSV, Flat Files and Excel(TM) sheets. Domain packages provide reusable generators for creating domain-specific data as names and addresses internationalizable in language and region (via nestable datasets).

benerator is released under a dual license - GPL and commercial. For quick details check the corresponding FAQ entry.


Need Help?

Would you like to speed up your test implementation dramatically?

Need special generators implemented by the person who knows the tool best?

Would a training help you get going?

Buy support services from Volker Bergmann: Send an \n This e-mail address is being protected from spambots. You need JavaScript enabled to view it This e-mail address is being protected from spambots. You need JavaScript enabled to view it with a short description of your needs, location and project and we will send you our service offers and pricing information.


The three fundamental rules of performance testing

Violating any of these rules will make performance test results worthless for the prediction of production performance:

1. Use test hardware that resembles production

Performance is the result of dynamic interaction of systems with different roles and strengths. Having one component significantly different from production has ahigh risk of shifting performance characteristics! So rent or buy hardware similar to the production system for getting realistic behaviour!

2. Organize test data that resembles production data

Provide your system with data in a similar amount and variance of data as your production system has. If production has 20 million users, your test system must have the same number too! Use benerator to extract and anonymize production data or generate synthetic data!

3. Create user load and concurrency with production characteristics

Simulate a realistic number of concurrent users and applications that. LoadRunner, JMeter and Grinder can be used for this!


How Benerator Works

Benerator is highly extensible with a load of plugin interfaces that map to and from specific platforms or add generic, platform independent features.

Out of the box it supports (but is not restricted to): Oracle DB, IBM DB2, MS SQL Server, MySQL, PostgreSQL, HSQL, Derby, Firebird, XML Files, XMLSchema, CSV Files, Flat Files, Excel Sheets.


Similar Products

There are other products which promise to generate mass test data. I did not find one which is useful for real-world enterprise applications - it is easy to create tons of garbage but hard to create anthing that stands application or even workflow validation. So I started developing benerator and can proudly state that there are hardly any other tools with similar abilities and extendibility. But form your own opinion by checking similar products! A popular open source tool for generating test data at least for databases is dbmonster but it is no longer maintained (since 2005) and benerator was designed to exceed it in every respect - from ease of use to functionality.


Contributing to Benerator

You don't need to be a hacker to help improving Benerator! Anybody can help, and here's how:

  • Help other users - spending time to answer just one question you know the answer to in the forums, or helping a friend upgrade to the latest version of the software is the kind of contribution that is beyond measure.
  • Report a bug - Notice something wonky? Then give us feedback in the forums and someone will take a look at it. Go the extra mile and help document ways to reproduce the issue to make it easier for others to fix.
  • Fix a bug - If you have the means, we of course welcome the help from others in fixing issues in the product. This page details ways to submit your code fixes.
  • Request a feature - If you miss something, create a Feature Request
  • Create a localization - Know names, addresses, algorithms specific for other countries or languages? Document and contribute them.
  • Build a plugin - One of the best ways to prototype an idea, or deploy new features to the platform is to build an add-on to the platform in the form of a plugin. Contribute the plugin or publish it on your own behalf under GPL or a commercial license (the latter one requires you to buy a commercial license for Benerator).
  • Become a beta tester - As a Beta Tester you have no obligations, but get early access to Alpha and Beta versions and can help significantly in quality assurance with your feedback. Currently there is a special need for 'database sponsors' which control that 'their' database support does not break
  • Spread the word - tell other people about Benerator: Blog about it, write an article, talk at conferences or simply tell a friend


Volker Bergmann


Horst Frank: Localizations (Eastern European languages), Bug Reports

Daniela Crescenzio: Localization (Roman languages)

Eric Chavez: Generation of Brazilian addresses, CFP and CNPJ


thanks to sourceforge
for hosting benerator!


Subscribe for benerator
release messages on

 View project metrics
by ohloh

tweet about benerator