From bd818845a180482ce3a555e58b48aabc53fbcc28 Mon Sep 17 00:00:00 2001
From: Ole Lensmar
- Welcome to Testkube - Your friendly cloud-native testing framework for Kubernetes -
- -- Website | - Documentation | - Twitter | - Slack | - Blog -
- -
-
-
-
- Click on the image or this link to watch the "Intro to Testkube" short video (3 mins)
-
- -
- -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) +1. **Define** - Use Test Workflows to configure executions of your current testing tools or scripts. + Orchestrate multiple Workflows to build complex Suites for System Testing - [Read More](https://docs.testkube.io/articles/defining-tests) +2. **Trigger** - Trigger tests through the API/CLI, from your existing CI/CD/GitOps workflows, using fixed schedules or + by listening to Kubernetes Events or creating execution CRDs - [Read More](https://docs.testkube.io/articles/triggering-tests) +3. **Scale** - Leverage Kubernetes native scalability functionality to scale your test executions + across distributed nodes for both load and functional testing with popular tools like K6, Playwright, JMeter and Cypress - [Read More](https://docs.testkube.io/articles/running-scaling-tests). +4. **Troubleshoot** - Testkube can collect any logs and artifacts (videos, reports, etc.) produced by your testing tools + and scripts during test execution and make these available through the CLI or UI - [Read More](https://docs.testkube.io/articles/troubleshooting-tests). +5. **Report** - Testkube Test Insights allow you to create both operational and functional reports for all your test executions + to help you improve testing efforts and activities over time - [Read More](https://docs.testkube.io/articles/analyzing-results). -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 +### Getting Started -Main Testkube components are: +There are several ways to get started with Testkube: -- 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](https://github.com/kubeshop/testkube-operator) - watches Testkube CR, handles changes, communicates with API Server -- Executors - runs tests defined for specific runner - - [Postman Executor](https://github.com/kubeshop/testkube-executor-postman) - runs Postman Collections - - [Cypress Executor](https://github.com/kubeshop/testkube-executor-cypress) - runs Cypress Tests - - [K6 Executor](https://github.com/kubeshop/testkube-executor-k6) - runs K6 performance tests ([@lreimer](https://github.com/lreimer)) - - [SoapUI](https://docs.testkube.io/test-types/executor-soapui/) - runs SoapUI tests - - [Kubepug](https://docs.testkube.io/test-types/executor-kubepug/) - runs Kubepug tests - - [Artillery.io](https://docs.testkube.io/test-types/executor-artillery/) - runs Artillery tests - - [Curl Executor](https://docs.testkube.io/test-types/curl) - runs simple Curl commands - - [Maven](https://docs.testkube.io/test-types/executor-maven/) - Runs tests written in Java using Maven ([@lreimer](https://github.com/lreimer)) - - [Gradle](https://docs.testkube.io/test-types/executor-gradle/) - Runs tests written in Java using Gradle ([@lreimer](https://github.com/lreimer)) - - [Ginkgo](https://docs.testkube.io/test-types/executor-ginkgo/) - Runs tests written in Go using Ginkgo ([@jdborneman-terminus](https://github.com/jdborneman-terminus)) - - [Executor Template](https://github.com/kubeshop/testkube-executor-template) - for creating your own executors -- Results DB - for centralized test results aggregation and analysis +- The [Quickstart](https://docs.testkube.io/articles/tutorial/quickstart) is the easiest way to set up + Testkube and run your first tests +- The [Helm Chart Installation](https://docs.testkube.io/articles/install/install-with-helm) gives you more + control over the installed components. +Check out the [Deployment Architectures](https://docs.testkube.io/articles/install/deployment-architectures) document to learn +more about different ways to deploy and run Testkube. -## Getting Started +### Documentation -Checkout the [Getting Started](https://docs.testkube.io/articles/getting-started-overview) guides to set up Testkube and run your first tests! - -# Documentation - -Is available at [docs.testkube.io](https://docs.testkube.io) +Extensive documentation is available at [docs.testkube.io](https://docs.testkube.io) ## Contributing @@ -110,5 +80,6 @@ Shout-out to our contributors 🎉 - you're great! Go to [contribution document](CONTRIBUTING.md) 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 [Slack](https://testkubeworkspace.slack.com/join/shared_invite/zt-2arhz5vmu-U2r3WZ69iPya5Fw0hMhRDg#/shared-invite/email).