# Tempest Testing Project

## Overview

- Tempest - The OpenStack Integration Test Suite
  - Team and repository tags
  - Design Principles
  - Quickstart
  - Library
  - Release Versioning
  - Configuration
  - Unit Tests
  - Python 3.x
  - Legacy run method

## Field Guides

Tempest contains tests of many different types, the field guides attempt to explain these in a way that makes it easy to understand where your test contributions should go.

- Tempest Field Guide Overview
- Tempest Field Guide to API tests
- Tempest Field Guide to Scenario tests
- Tempest Field Guide to Unit tests

## Users Guide

### Tempest Configuration Guide

- Tempest Configuration Guide
  - Test Credentials
  - Compute
  - Networking
  - Configuring Available Services
  - Service Feature Configuration
- Sample Configuration File

### Command Documentation

- Tempest Test-Account Generator Utility
- Post Tempest Run Cleanup Utility
- Subunit Describe Calls Utility
- Tempest Workspace
- Tempest Run

### Supported OpenStack Releases and Python Versions

- Supported OpenStack Releases and Python Versions

### Description of Tests

- Description of Tests
  - OpenStack Services Integration Tests
  - OpenStack Services API Tests

## For Contributors

- If you are a new contributor to Tempest please refer: So You Want to Contribute…

## Developers Guide

### Development

- Tempest Coding Guide
  - Tempest Specific Commandments
  - Test Data/Configuration
  - Supported OpenStack Components
  - Exception Handling
  - Test cases are independent
  - Service Tagging
  - Test Attributes
  - Test fixtures and resources
  - Skipping Tests
  - Negative Tests
  - Test skips because of Known Bugs
  - Guidelines
  - Parallel Test Execution
  - Sample Configuration File
  - Unit Tests
  - Test Documentation
  - Test Identification with Idempotent ID
  - Branchless Tempest Considerations
  - API Stability
- Reviewing Tempest Code
  - Ensuring code is executed
  - Execution time
  - Unit Tests
  - API Stability
  - Reject Copy and Paste Test Code
  - Tests overlap
  - Being explicit
  - Configuration Options
  - Test Documentation
  - Test Removal and Refactoring
  - Release Notes
  - Deprecated Code
  - When to approve
- Microversion Testing With Tempest
  - Tempest Scope For Microversion Testing
  - Project Scope For Microversion Testing
  - Configuration options for Microversion
  - How To Implement Microversion Tests
  - Notes about Compute Microversion Tests
  - Microversion tests implemented in Tempest
- Tempest Test Removal Procedure
  - Proposing a test removal
  - Exceptions to this procedure
- Tempest Test Writing Guide
  - Adding a New TestCase
  - Interacting with Credentials and Clients
- Requirements Upper Constraint for Tempest
  - How to pin upper-constraints in tox.ini

### Plugins

- Tempest Plugins Guide
  - Tempest Test Plugin Interface
  - Stable Branch Support Policy
  - Stable Branch Testing Policy
  - Tempest & Plugins Compatible Version Policy
  - Plugins Registry

### Tempest & Plugins Compatible Version Policy

- Tempest and Plugins compatible version policy

### Keystone Scopes & Roles Support in Tempest

- Keystone Scopes & Roles Support in Tempest
  - Dynamic Credentials
  - Pre-Provisioned Credentials

### Stable Branch Support Policy

- Stable Branch Support Policy

### Stable Branch Testing Policy

- Stable Branch Testing Policy

### Library

- Tempest Library Documentation
  - Stability
  - Current Library APIs

## Search

- Tempest document search: Search the contents of this document.

- OpenStack wide search: Search the wider set of OpenStack documentation, including forums.

this page last updated: 2022-01-10 15:51:28

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug