= Uttk - Unified Test Tool Kit
Unified Test Tool Kit, aka Uttk, is designed to ease the test stage of the
development of your projects.
Testing is as important as design and implementation of a project. But it's
very cumbersome to write tests and tester scripts. That's why a project such
as Uttk can help you. It is written in Ruby, which is a high level object
oriented scripting language. Unified Test Tool Kit allows two ways of test
writing: a configuration file way (using YAML: an XML plain text format) and a
class extension way where you can extend an already made class to specialize
it for your own project case.
Uttk's philosophy follows the principle that you can always extend already
made test strategy to specialize/extend it. Initially, Uttk comes with a few
test strategies and provides specially, abstract test strategies. Thus, Uttk
will become bigger only by contributions from its users who publish their test
strategies. At the end, it will provide enough test strategies that almost
everybody will find the test strategy he needs.
Uttk comes with a set of classic test strategies, statistics computation, a
test suite manager, a loader architecture, and a back-end that supports a
powerful filtering system.
Previous releases were shipped with a distributed mode. This is no longer the
case. Uttk's architecture has changed and the former distributed mode doesn't
work any more to be almost rewritten from scratch. That's why we decided to
not include it in this release. It will be back soon!
= Roadmap
- If you want to use Uttk to test your command line based program, see the
Uttk::Strategies::Cmd strategy documentation.
- If you want to use Uttk to wrap your unit test suite, see the
Uttk::Strategies::RUnit strategy documentation.
- If you want to try writing your own strategy, see the Uttk::Strategies module
documentation.
- If you want to try writing your own loader, see the Uttk::Loaders module
documentation.
- If you want to try writing your own dumper, see the Uttk::Dumpers module
documentation.
- If you want to try writing your own filter, see the Uttk::Filters module
documentation.
- If you want to try writing your own filter, see the Uttk::Weights module
documentation.
- If you want to use Uttk as a library and to write your own driver, see the Uttk
module documentation.
= Usage
Uttk is invoked from the command line using:
% uttk [files...]
Strategies described in the files are instantiated and run. The files format
must follow the one the chosen loader understand. By default, Uttk uses the
YAML loader. Use the -L option to use another loader.
You can have a description of all Uttk's options using this command:
% uttk --long-help
A shorter help message is printed by:
% uttk -h
Uttk can show you a list of all dynamic strategies available, this way:
% uttk --strategy-list
If you want to have a description of all the available attributes of a given
strategy, use this command:
% uttk -H
If you want to see the list of all the available loader, type this command:
% uttk -L
For the filters/dumpers do that:
% uttk -F
And, for weight classes:
% uttk -W
To set the level of severity of the Uttk's logger use the -d option. Without
argument, it will show you all the available levels:
% uttk -d
Otherwise, give a correct level as argument to the -d option:
% uttk -d debug
By default, the severity level is fatal.
= Examples
Some examples are available in the test/examples directory. These examples
are written for the default loader of Uttk (the YAML loader). If you want to
learn more about YAML, see its cookbook at
http://yaml4r.sourceforge.net/cookbook/.
A detailed description of these examples is available in the
test/examples/README file.
= Stable and unstable parts
Uttk is still under development. Thus, there are some part of it which are
still unstable. Of course, even some stable part are not bug free: Perfection
doesn't exist!
-
Stable parts:
- The loaders, filters, dumpers, strategies and logger architecture.
- The YAML and Ruby loader.
- The YAML, XML and HTML dumper.
- All strategies are considered stable except if a special warning is
mentioned in its documentation.
-
Unstable parts:
- The timeout features provided by the abstract strategy Strategy tend to
be stable but it may block some times. You can use it, since it works most
of the time.
- The {pre,post}_assertion features provided by the abstract strategy
Strategy doesn't work yet.
- Some old YAML loader are still in the repository, for backward
compatibility reasons, but we discourage their usage.
= Repository tree description
[NEWS] What's new in each release of Uttk.
[AUTHORS] Present all authors and what they have done for Uttk.
[bin] Contains all drivers provided by Uttk.
[ChangeLog] Keep track of the changes of Uttk for all revisions.
[COPYING] Describe the license.
[LGPL] The Gnu Lesser General Public license.
[GUIDELINES] Some guide lines for the developers.
[doc] Documentation directory.
[doc/html] RDoc output directory.
[doc/demo] Some tutorials.
[doc/presentation] Slides of presentation.
[lib] Contains the library.
[misc] Some useful miscellaneous scripts when developing Uttk.
[NORM] Everybody who write code for Uttk must follow the rules written in this
file.
[Rakefile] For rubygem, doc generation and more generaly packaging operations.
[README] This file.
[script] Useful script for the end users and the developers similar to Rails
script directory).
[test] Contains Uttk's tests.
[TODO] What maintainers have to do.
[VERSION] The current version of Uttk.
= Bugs reports, features requests, and known bugs
If you want to send us a bug report or a feature request, have a look at the
TODO file.
An exhaustive list of known bugs is available at
http://dev.uttk.org.
= License
Uttk is copyright (C) 2004-2005 Uttk's maintainers. It is free software, and may
be redistributed under the terms specified in the COPYING file of the Uttk
distribution. Uttk's maintainers refers to the people mentioned in the AUTHORS
file.
--
Uttk's maintainers