QMTest: User's Guide

CodeSourcery, Inc.

Version 2.4.1

Legal Notice

Abstract

QMTest is a testing tool. You can use QMTest to test a software application, such as a database, compiler, or web browser. You can even QMTest to test a physical system (like a valve or thermometer) if you have a way of connecting it to your computer.

Code that has not been tested adequately generally does not work. Yet, many applications are deployed without adequate testing, often with catastrophic results. It is much more costly to find defects at the end of the release cycle than at the beginning. By making it easy to develop tests, and execute those tests to validate the application, QMTest makes it easy to find problems easier, rather than later.

QMTest can be extended to handle any application domain and any test format. QMTest works with existing testsuites, no matter how they work or how they are stored. QMTest's open and pluggable architecture supports a wide variety of applications.

QMTest features both an intuitive graphical user interface and a conventional command-line interface. QMTest can run tests in serial, in parallel on a single machine, or across a farm of possibly heterogeneous machines.

CodeSourcery provides support for QMTest. CodeSourcery can help you install, integrate, and customize QMTest. For more information, visit the QMTest web site.


Table of Contents

1. QMTest Concepts
1. Tests
2. Test Results
3. Test Suites
4. Test Database
5. Expectation Database
6. Context
7. Resources
8. Targets
9. Hosts
2. Invoking QMTest
1. qmtest
2. qmtest create
3. qmtest create-target
4. qmtest create-tdb
5. qmtest gui
6. qmtest extensions
7. qmtest describe
8. qmtest ls
9. qmtest register
10. qmtest run
11. qmtest summarize
12. qmtest report
13. Environment Variables
14. Configuration Variables
15. Return Value
3. Customizing QMTest
1. Extensions
2. Tests
3. Test Suites
4. Test Resources
5. Test Databases
6. Expectation Databases
7. Test Targets
8. Hosts
9. Result Streams and Result Readers
10. The QMTest Configuration File
4. Extending QMTest
1. Extension Classes
2. Field Classes
3. Writing Test Classes
4. Writing Resource Classes
5. Writing Database Classes
6. Registering and Distributing Extension Classes