Open Source Database Testing Tools
Database testing is one of the areas that might have the smaller number of open source tools. The programming languages have many xUnit tools and mocking frameworks, but this is not the case for databases. This article provides a list of open source tools that can be used to perform unit, load and security testing on several relational and NoSQL databases.
This situation might be the results of the fact that most of the main relational databases are commercial tools that come with an infrastructure already provided by the vendors. The current rise of the NoSQL databases and the many forks that have been created from the original MySQL open source relational database might however change this situation in the future. The tools covered in this article are Database Benchmark, DbUnit, DB Test Driven, HammerDB, NoSQLMap, NoSQLUnit, SeLite, sqlmap and tSQLt.
Database Benchmark is an open source .NET tool designed to stress test databases with large data flows. The application performs two main test scenarios: the insertion of large amount of randomly generated records with sequential or random keys and the read of the inserted records, ordered by their keys. It features advanced data generators, graphic visualization and powerful reporting options.
DbFit is an open source database testing framework that supports easy test-driven development of your database code. DbFit is written on top of FitNesse, a mature, fully-featured framework with a large community. Tests are written using tables, making them more readable than xUnit-style tests. You can run them from the command line, any Java IDE or CI build tool.
DbUnit is a JUnit extension (also usable with Ant) targeted at database-driven projects that, among other things, puts your database into a known state between test runs. This is an excellent way to avoid the myriad of problems that can occur when one test case corrupts the database and causes subsequent tests to fail or exacerbate the damage. DbUnit has the ability to export and import your database data to and from XML datasets. Since version 2.0, DbUnit can also work with very large datasets when used in streaming mode. DbUnit can also help you to verify that your database data match an expected set of values.
DB Test Driven
Database test-driven (DBTD) is an open source unit testing framework for database test-driven development (DB-TDD). It utilizes native SQL features, installs directly in to your databases, have small footprint, integrates with build servers for continuous integration capabilities. The SQL Server version provides also a code coverage functionality.
HammerDB is an open source database load testing and benchmarking tool. It is automated, multi-threaded and extensible with dynamic scripting support. HammerDB includes complete built-in workloads based on industry standard benchmarks as well as capture and replay for the Oracle database.
... to read more articles, visit http://sqa.fyicenter.com/art/