tmt
Test management and execution tool
TLDR
List available tests, plans, and stories
Initialize tmt files/project structure
Create a new test with a template and a link
List available tests, plans, or stories
Show detailed test metadata in the given context
Validate tmt files against the specification
Use filter
Display help
SYNOPSIS
tmt [options]...
PARAMETERS
init
Initialize a new tmt project.
plan
Manage test plans: create, discover, and show plans.
test
Manage tests: create, discover, and show tests.
smoke
Perform smoke testing with automatic guest.
run
Execute tests.
report
Create and view test reports.
--version
Show the version number and exit
--help
Show help message and exit.
DESCRIPTION
tmt is a versatile test management tool designed to streamline the process of test case management, execution, and result reporting within Linux environments. It helps manage tests written in various languages and testing frameworks by providing a unified interface to describe tests, execute them, and collect results. It supports different execution environments including local execution, virtual machines, and containers. tmt aims to enhance the efficiency and reliability of testing activities, reducing the manual overhead associated with test management. tmt follows a highly structured approach using a 'metadata' driven design. It enables users to define tests, their requirements, and their execution settings within metadata files, making the entire testing process more transparent and reproducible. The tool offers mechanisms to integrate with CI/CD pipelines, enabling automated testing as part of the software development lifecycle. It can store execution history and reports to help with debugging and tracking test execution patterns over time.
CAVEATS
tmt is a relatively new tool, and its features and functionality are still evolving. Complete documentation might not be available for all aspects of the tool. Some integrations with specific testing frameworks might be limited. The complexity of metadata definitions may pose a learning curve for new users.
METADATA STRUCTURE
tmt heavily relies on metadata files (usually TOML or YAML format) to define test plans, test cases, and their execution environment. These files describe test requirements, dependencies, and how to execute the tests. Understanding and correctly structuring this metadata is crucial for effectively using tmt.
INTEGRATION WITH CI/CD
tmt can be integrated with CI/CD pipelines to automate test execution as part of the software build and deployment process. This allows for continuous testing and early detection of issues. Common integrations include Jenkins, GitLab CI, and other CI/CD platforms.
HISTORY
tmt was developed to address the need for a standardized and streamlined approach to test management in Linux environments.
Its development has been driven by the need to manage tests for complex systems, including those involving kernel testing and distribution-level integration testing. The tool has gained traction within the Linux community and continues to evolve to support a wider range of testing scenarios and integration requirements. tmt is actively developed and maintained by a community of contributors.
SEE ALSO
pytest(1), behave(1)