Skip to content
Go to file


Failed to load latest commit information.


Nitrate - Test Case Management System

PyPI PyPI - License GitHub issues GitHub Workflow Status Gitter

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.6, 3.7, 3.8, 3.9.
  • Django: 2.x, 3.0, 3.1.

What's more, Nitrate is tested with the following database versions:

  • 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 at the very early age to build the community. The site had vaiours 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 continously 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.

How to run

There are a series of instructions for installing Nitrate in the The Deployment Guide.

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.


For full documentation, including user guide, deployment, development guide and APIs, please refer to


Any kind of contribution is highly welcome and welcome, whether to the documentation or the source code itself. We also greatly appreciate contributions in the form of ideas to make Nitrate better.

Please refer to The Development Guide for more information on how to contribute.

Contributing Code

If you would like to write some code, the Vagrant machine would be a good choice for you to setup a development environment quickly, where you can run tests and debug issues.

Please refer to the The Deployment Guide for more information on how to run locally, the Vagrant way.

Bug Reports

If you've stumbled upon a bug in Nitrate, you can create an issue for that bug here.

However, before creating the issue, please refer to Report an Issue for details on how to report a bug in Nitrate.


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

You can’t perform that action at this time.