Introduction

Firebird Project uses two test systems:
 
  • TCS
Released by Borland with InterBase code along with 390 tests. Tests are written in mixture of shell script, arcane TCS commands, environment variables (both OS and TCS), C/C++, ESQL etc. with use of various external tools (all are standard, free or part of TCS suite), all packed in single text BLOB field in FB database. TCS is hard to operate, and writing new tests require almost the same skills (or more in certain areas) for QA people as for core developers. The entry barrier for any apprentice QA developer is very high.

Although it's still in use, this test harness is deprecated, and all QA development is focused on new system.
  • fbtest
In our search for TCS replacement, we evaluated many options, and for some time we used QMTest. However, specific needs of Firebird QA forced us to develop our own solution - fbtest. It's cross-platform software testing tool written in Python. You can learn more about it from fbtest documentation.

 
Installation

First, you'll need next packages installed:
  1. Firebird, as running tests without it doesn't make sense :).
  2. Python 2.7+. If you're using Windows, you may prefer Python from ActiveState.
  3. FDB Firebird driver for Python.
All software listed here is open source. Installation of these packages is straightforward, and shouldn't cause you any trouble.
 
Next you'll need fbtest from PyPI (Python Package Index). To verify that your QA environment is correctly set up, run next command from directory where you check out the fbtest:

> python fbtest.py --help

You should get listing of fbtest command switches.