/testkube

Kubernetes-native framework for test definition and execution

Primary LanguageGoMIT LicenseMIT

Testkube Logo

Release Releases Go version

Docker builds Code build Release date

Twitter Discord

Welcome to Testkube

Your friendly cloud-native testing framework for Kubernetes.

Testkube natively integrates test orchestration and execution into Kubernetes and your CI/CD/GitOps pipeline. It decouples test artifacts and execution from CI/CD tooling; tests are meant to be part of your clusters state and can be executed as needed:

  • Kubectl pluggin
  • Externally triggered via API (CI, external tooling, etc)
  • Automatically on deployment of annotated/labeled services/pods/etc (WIP)

Testkube advantages:

  • Avoids vendor lock-in for test orchestration and execution in CI/CD pipelines
  • Makes it easy to orchestrate and run any kind of tests - functional, load/performance, security, compliance, etc. in your clusters, without having to wrap them in docker-images or providing network access
  • Makes it possible to decouple test execution from build processes; engineers should be able to run specific tests whenever needed
  • Centralizes all test results in a consistent format for "actionable QA analytics"
  • Provides a modular architecture for adding new types of test scripts and executors

Main TestKube components are:

  • kubectl Testkube plugin - simple - installed w/o 3rd party repositories (like Krew etc), communicates with
  • API Server - work orchestrator, runs executors, gather execution results
  • CRDs Operator - watches TestKube CR, handles changes, communicates with API Server
  • Executors - runs tests defined for specific runner
  • Results DB - for centralized test results aggregation and analysis
  • Testkube Dashboard - standalone web application for viewing real-time Testkube test results

Getting Started

Check out the Installation and Getting Started guides to set up Testkube and run your first tests!

Documentation

Is available at https://kubeshop.github.io/testkube

Contributing

Go to contribution document to read more how can you help us 🔥

Feedback

Whether it helps you or not - we'd LOVE to hear from you. Please let us know what you think and of course, how we can make it better. Please join our growing community on Discord.