Subject Re: Firebird testing tools for Windows
Author Jeff Jones
--- In firebird-support@yahoogroups.com, "Leyne, Sean" <Sean@...> wrote:
>
> Jeff,
>
> > I have tried creating my own test suites for unit testing and
> > regression testing, with some success, but the overhead for this
> > activity is getting to be a burden.
>
> Please elaborate of the nature of the 'burden' -- there can be any
> number of issues that could fall into that category.
>
> The general approach you have outlined seems very appropriate,
> especially since you have IBExpert and use it for your development
> tasks.
>
>
> Sean
>
Sean,

(I tried posting this earlier this morning, but it has not shown up yet.)

I will try to describe the system that I have cobbled together so that
it makes sense.

The basic design for the system I put together is a series of scripts
and IBEBlocks that will test both the structure and the function of
tables, their triggers and constraints, and for stored procedures.

There are two Firebird databases to support this process. The first
allows me to specify which tables and procedures to test, and in what
order to run the tests, and which tables to load test data into. The
second database holds test data.

When I run a set of tests (grouped by general purpose within the
database), the output of the tests is written to an external table
that is then opened in a text editor automatically when the tests
finish. The log gives me information about the tests that run,
whether they passed or failed, and if they failed, what the test
thinks is the problem.

The tests for triggers and stored procedures are themselves stored
procedures that are loaded from scripts. The scripts have a common
basic structure, and I have developed some patterns for different
kinds of tests (for select procedures, updates, inserts, etc.).

One of the biggest headaches I have is error handling. It has always
been a difficult area for me, and it turns out to be quite important
in a testing system. So this has been the biggest "burden" in
developing my testing suite.

Another burden is the hands-on nature of the system. It seems to
require constant attention to keep it running well. I started out
enjoying the challenge of building the testing system, but now I just
want to build the databases and applications my clients want.

There are still many things I would like to have in a testing system
that I don't have time to develop myself, and I am hoping that a
testing tool can provide some of this for me. Plus, writing the
stored procedures to test the functionality of the database takes more
time than I feel comfortable devoting to the task. I know that
thorough testing is a very good idea, and I want to do a good job at it.

So, there it is in a nutshell. It is certainly better than no testing
at all, and it has proven its worth many times by catching problems
and errors before they were deployed into production. If nothing
better comes to my attention, I will continue with it. But I am
always searching for better ways to do my job and to be more
productive. I am willing to invest the time and effort needed to
learn a new system if it will replace what I have built, and give me
capabilities I don't have yet.

Any advice or suggestions that can be provided will be appreciated.

Thanks!

Jeff in Phoenix