Terminology used in the µTest++ Testing Framework
ISTQB Glossary
The International Software Testing Qualifications Board (ISTQB) provides the following definitions relevant to testing frameworks, with their implementation in µTest++:
- test condition: a testable aspect of a component or system identified
as a basis for testing (in µTest++ this corresponds to a check, made with
the
t.expect()ort.require()member functions):- an expectation is a check made with
expect(); a failure is reported and counted, and the test case continues; - a requirement is a check made with
require(); a failure is reported and counted, and the rest of the test case is skipped;
- an expectation is a check made with
- test case: a set of preconditions, inputs, actions (where applicable),
expected results, and postconditions, developed based on test conditions
(in µTest++ this corresponds to instances of the
test_caseclass, created by calls to thetest()member function of a suite or of another test case, in which case it is nested; its body runs immediately); - test suite: a collection of test scripts or test procedures to be
executed within a specific test run (in µTest++ this corresponds to
instances of the
suiteclass, which are run by the runner, sorted by name):- the top suite is the optional suite whose test cases are written
directly in
main(), added withadd_top_suite(); it is always the first suite in the report; - a suite added to the runner with
add_suite(); - a static suite is a suite defined as a
static_suiteobject, usually in its own source file, which registers itself with a runner when it is constructed, beforemain()is called.
- the top suite is the optional suite whose test cases are written
directly in
For additional details, refer to the ISTQB Glossary.
Other µTest++ terms
- runner: the object (
mt::runner) that drives a test session: it is initialised with the options, holds the suites, runs them withrun_suites(), reports the results through the selected reporter, and returns the result as the exit code; - comparator: a function such as
eq(),lt(), orapprox()that compares its operands and records them, so that a failed check reports their values; - reporter: the component that formats the results; the TAP reporter is the
default, and the human-readable reporter is selected with
--reporter=human.
Protocols and tools
- TAP (Test Anything Protocol): a simple text-based protocol between test programs and the tools that collect their results; µTest++ writes TAP version 14 by default;
- node-tap: the JavaScript testing framework that inspired the model of µTest++, and whose TAP parser is used to validate its output;
- xpm: the xPack Project Manager, a command line tool that installs source
and binary packages into a project, in the
xpacksfolder; - xpm package (xPack): a package that uses the npm package format, with additional metadata for C/C++ projects, installed with xpm; µTest++ is distributed as an xpm package.