Skip to main content

A full-featured Test Case Management System

Project description

PyPI Python Versions Django Versions https://quay.io/repository/nitrate/nitrate/status https://readthedocs.org/projects/nitrate/badge/?version=latest PyPI - License GitHub issues GitHub Workflow Status https://coveralls.io/repos/github/Nitrate/Nitrate/badge.svg?branch=develop Gitter Package in Fedora Copr

Nitrate is a new test plan, test run and test case management system, which is written in Python and Django (the Python web framework). It has a lot of great features, such as:

  • Ease of use in creating and managing test life cycles with plans, cases and runs.

  • Multiple and configurable authentication backends, e.g. Bugzilla and Kerberos.

  • Fast search for plans, cases and runs.

  • Powerful access control for each plan, run and case.

  • Ready-to-use and extensible issue tracker that allows to track external issues with test cases and test case runs.

  • Accessibility with regards to XMLRPC APIs.

Nitrate works with:

  • Python: 3.9, 3.10.

  • Django: 2.2, 3.1, 3.2.

What’s more, Nitrate is tested with the following database versions in the testenv:

  • MariaDB: 10.4.14.

  • MySQL: 8.0.22.

  • PostgreSQL: 12.4.

Brief History

Nitrate was created by Red Hat originally back to the year 2009. A small group of engineers, who were working at Red Hat (Beijing), initiated the project to develop a Django-based test case management system being compatible with the Testopia from database level. After that, more engineers got involved into the development. TCMS is the project name, and Nitrate is the code name which has been being used as the name in open source community all the time to this day.

The project was hosted in fedorahosted.org at the very early age to build the community. The site had various artifacts of Nitrate, including the source code, kinds of development and project management documentations, roadmaps, mailing list, etc. The source code was managed by SVN in the beginning. Along with more contributors started to contribute to Nitrate, the team decided to migrate to Git eventually.

Since 2009, there were three major version releases, that were version 1.0 released in October 2009, version 2.0 released in January 2010, and version 3.0 released in April 2010. After version 3.0, the team had been adding new features, fixing bugs, improving performance and user experience continuously in a series of minor releases. As of year 2014, Nitrate was open sourced to community and hosted in GitHub based on the version 3.18, and new journey had began.

Up to this day, at the moment of writing this brief history review, Nitrate has been 11 years old and it still has strong vitality.

Get Nitrate

Nitrate ships with optional subpackages in addition to the main nitrate-tcms package. They are available from either PyPI or the YUM repository. The subpackages include:

  • mysql: needed when Nitrate works with MySQL or MariaDB database.

  • pgsql: needed when Nitrate works with PostgreSQL database.

  • bugzilla: needed when the BugzillaBackend authentication backend is enabled, or the issue tracker is configured to work with a Bugzilla instance.

  • krbauth: needed when the KerberosBackend authentication backend is enabled.

  • socialauth: needed when the social-based authentication backend is enabled.

  • async: needed when to run asynchronous tasks as Celery tasks.

PyPI

python3 -m pip install nitrate-tcms

# Example: if Kerberos-based authentication is required
python3 -m pip install nitrate-tcms[krbauth]

RPM

RPM packages are provided from a Copr repository:

sudo dnf copr enable cqi/python-nitrate-tcms
sudo dnf install python3-nitrate-tcms

# Example: if Celery is required and run with PostgreSQL
sudo dnf install python3-nitrate-tcms+async python3-nitrate-tcms+pgsql

Container Images

Nitrate provides two container images:

The nitrate-worker image is optional, that depends no whether there is requirement to run asynchronous tasks by Celery.

For more information, please refer to the description of image quay.io/nitrate/nitrate.

Run Nitrate

There are a series of instructions for running Nitrate. Please refer to Deployment.

Skim through the documentation and choose the installation instructions that are appropriate for your case. And please, if you identify any issues with the installation guide, kindly bring it to our attention. You can either report the issue on the github repo, or submit a PR with a fix for it.

Documentation

For full documentation, including user guide, deployment, development guide and APIs, please refer to https://nitrate.readthedocs.org/.

Contribution

Welcome contributions in various fields. The Contribution document describes those fields in more details.

Write Code

If you would like to write some code, the Development document is the right place for you to get reference and started.

Report Issues

If you’ve stumbled upon an issue in Nitrate, please refer to Report an Issue to create one here.

Contact

There are various ways to get in touch. Choose one you like.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nitrate-tcms-4.12.tar.gz (3.6 MB view details)

Uploaded Source

File details

Details for the file nitrate-tcms-4.12.tar.gz.

File metadata

  • Download URL: nitrate-tcms-4.12.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for nitrate-tcms-4.12.tar.gz
Algorithm Hash digest
SHA256 67d10dcf994daae50232cebbc42e4941e137d42a2caad66ec9d93b36f0102514
MD5 7ba93de82cb8bc93d8f2ffeb891bfc2c
BLAKE2b-256 78f6d6bc0b4c68d1b87d89e79b01b8f46b326d0107ee6d7dee4347434cfc390f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page