Welcome to Testkube - Your friendly cloud-native testing framework for Kubernetes
Website | Documentation | Twitter | Discord | Blog
Click on the image or this link to watch the "Intro to Testkube" short video (3 mins)
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 plugin
- 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 tests 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
- Postman Executor - runs Postman Collections
- Cypress Executor - runs Cypress Tests
- K6 Executor - runs K6 performance tests (@lreimer)
- SoapUI - runs SoapUI tests
- Kubepug - runs Kubepug tests
- Artillery.io - runs Artillery tests
- Curl Executor - runs simple Curl commands
- Maven - Runs tests written in Java using Maven (@lreimer)
- Gradle - Runs tests written in Java using Gradle (@lreimer)
- Ginkgo - Runs tests written in Go using Ginkgo (@jdborneman-terminus)
- Executor Template - for creating your own executors
- Results DB - for centralized test results aggregation and analysis
- Testkube Dashboard - standalone web application for viewing real-time Testkube test results
Check out the Installation and Getting Started guides to set up Testkube and run your first tests!
Is available at https://kubeshop.github.io/testkube
Shout-out to our contributors 🎉 - you're great!
- ⭐️ @lreimer - K6 executor Gradle executor Maven executor
- ⭐️ @jdborneman-terminus - Ginkgo executor
- ️⭐️ @abhishek9686
- ⭐️ @andrei-n-cosma
Go to contribution document to read more how can you help us 🔥
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