Toad World® Forums

Automating the process of configuring the database for tests


#1

Friends,

We posted 1.8.1.336 today:

http://unittest.inside.quest.com/beta.jspa

This should be the last beta release before we make 1.8.1 generally available in May.

The beta release notes list all bug fixes, so check that out for details.

We have also bundled a new package, qu_db_config, in 1.8.1. It is, for now, “hidden” and not officially supported (no explanation in Help, no access from the UI) - but I believe it will be of great aid to you, and I would like to get your feedback on it.

One of the biggest challenges when testing PL/SQL programs is to set up the various database tables used by those programs with the data needed to run the tests. Code Tester does not yet provide any UI features that will generate the code to set up tables, but with Release 1.8.1 you can use qu_db_config to generate set up code.

Key features of qu_db_config include:

  • Automatically determines all the tables needed to be populated to satisfy foreign keys. You do not have to explicitly request set up for each table.
  • Generates individual procedures for each table, containing insert statements to populate tables.
  • Disables all constraints to allow population of tables, and then re-enables all constraints after inserts are complete.
  • Returns code as a set of CLOBs or directly updates the customization sections at the test case, unit test or test definition level.
  • Accepts filters to automatically change the names of the tables populated with data; this is useful when you want to generate set up code for outcomes, not inputs, of your tests.
    I have written a quick “user’s guide” that explains how to use the qu_db_config package (attached, and soon in the community library). I hope that you will have an opportunity to try out qu_db_config, and give me feedback: is it useful? How can it be improved?

Our plan at this moment is to release 1.9 in the fall and include this capability in a more full blown fashion, from the UI. So your feedback is critical!