How to use the example frame work
The following chapters will explain, how to use the test framework. It looks a bit complicate (and it is, indeed) because of a rather complex directory structure, but tests need a lot of details and are complex by nature. The problem is to manage complexity in a proper way. The test framework is a good mean for running tests and managing test runs, but it becomes a nightmare when trying to prepare tests just by creating and editing files and directories in the file system. For managing test data, it is much more comfortable using tools like TestBrowser, which will be explained later. This chapter provides a look behind the scene and will improve understanding about what is going on when preparing and running tests with tools like TestBrowser. On the other hand, the test framework may be used as stand alone tool, also.
When explaining how to prepare, execute and evaluate tests, the ODABA release test delivered with ODABA TestBrowser is referenced as example. It consists of a combination of unit and system tests to be performed when releasing a new ODABA version. The example demonstrates principles when using the test framework. The first test suite refers to unit tests for the ODABA API containing two test suites for testing the Local and ClientServer version. The second test suite OSI covers a series of tests for OShell commands (OShell) and special OSI operations (Operation). The last test suite contains test cases for ODABA utility programs (Utilities).
- main_suite
- API
- Local
- Application
- Binary
- Database
- ...
- ClientServer
- Application
- Binary
- Database
- ...
- OSI
- OShell
- Operation
- Extensions
- Templates
- ...
- Utilities
- BackupDB
- CheckDB
- ...
Green names in the hierarchy denote test cases, which are associated with tests in one or more test runs. Blue names denote test suites. The main_suite is stored in the directory ODABATest/TestRun, which is the root directory for the test framework. This directory also contains the command line procedures of the test frame work.