ARTE is a unit/system testing framework designed to test software modules in GNU/Linux systems. It's based on the automatic execution of test suites/collections and helps the improvement of Your software with fast detection of regression problems.

ARTE was originally developed at Panda Security, which kindly published the source code under the GPLv3+ license. Therefore, ARTE is free software, and can be extended by anyone as long as the rules of the GPLv3+ license are satisfied.

ARTE uses the Check unit-testing framework as the core test executer, and TCL (Tool Command Language) as the test interpreter.

Black-box system testing

The standard unit-testing frameworks allow the definition of unit tests which are usually integrated in such a way that API functions of the module are called, and deciding if the test is passed or failed depending on the returned value/data of the function. Those systems are useful to test libraries with a well-defined API, but they become a problem when trying to test bigger software modules in a black-box manner, with other kinds of interfaces.

Where ARTE succeeds is where others have problems. ARTE is designed to work with black-box software modules, and becomes fully powerfull when testing client/server architectures:

In other words, ARTE is not a usual unit testing framework, but something in between unit tests and system tests.

Features in a nutshell

Automatic execution: You can configure your build system to run ARTE after every compilation, or just before generating a new release of the software. ARTE will run all the available tests and generate a XML/HTML report with the results.

RTA: RTAs or Regression Test Archives are the single tests run by the ARTE framework. These are password-zipped files which contain the TCL script to run, test description XML file, test configuration and additional needed files for the tests. The password protects the contents of the file, so that any kind of content can be stored inside (even virus-infected files).

New tests: Adding new tests in the ARTE framework is as easy as generating a correct RTA file, and placing it in the configured test archive folder. When ARTE runs, it will look for all the RTA files and execute them.

Test scripts: Tests are just TCL scripts where specific commands are available. This allows You to use a strong scripting language in Your tests, with lots of capabilities.

Extending the scripting language: If the built-in TCL commands are not enough, You can extend the scripting language with your own commands, by developing C-language plugins for ARTE. This built-in plugin infrastructure is really easy to use with a well defined plugin API.

Execution modes: You can configure ARTE to automatically start the module to analize before any test, or to start/stop it for each one of the tests. This two main execution modes allow You to avoid inter-test dependencies (for example, when one of the tests made the tested module crash, or left it in an inconsistent state).

ARTE is Free Software. Free to use, free to modify, free to copy and free to distribute. Learn more about Your Freedom. gplv3

Related Links