Skip to main content
Testkube 2.6.0 is out! A new AI Agent Framework that integrates with external MCP Servers for agentic troubleshooting, remediation, etc. Read More

Defining Tests

Overview

To run your tests, you must define your test executions. This involves specifying:

  • The testing tool or script.
  • The test repository and file(s).
  • Required arguments/parameters.
  • Underlying infrastructure.

Methods for Defining Test Executions

Test executions can be defined using various approaches:

  • Declarative Mechanisms:
    e.g., YAML Workflows in GitHub.

  • Scripting Languages:
    e.g., Jenkins pipeline scripts (Groovy).

  • Visual Tools/Plugins:
    Tools specific to your testing system and CI/CD setup.

  • Hybrid Approaches:
    Combining native plugins with custom scripts/YAML for different tools.

Note: It's common to have multiple CI/CD tools in one infrastructure (e.g., Jenkins for backend microservices and GitLab/GitOps for front-end applications), which can add complexity.

Tip: Typically, DevOps/Build engineers define these executions based on requirements from development and QA teams.

Defining Test Execution in Testkube

Testkube leverages Test Workflows as a generic abstraction to define and execute tests.

Key Features of Test Workflows

Test Workflows use a declarative YAML vocabulary and offer built-in functionality for:

  • Test Retrieval:
    Fetch tests from Git repositories, inline files, or external volumes.

  • Test Execution:
    Run any test or testing tool available as a Docker image.

  • Parameter Passing:
    Provide variables and arguments to your tests.

  • Results Collection:
    Gather test results, artifacts, and logs.

  • Customization:
    Adjust the underlying pod/job resource configurations.

  • Orchestration:
    Execute multiple tests in sequence or in parallel, including:

    • Parallel Execution: For generating massive load.
    • Distributed Execution: To save time.
  • Setup/Teardown:
    Manage services your tests depend on before and after execution.

Workflow Templates

Testkube also provides Workflow Templates that allow you to:

  • Define common traits (e.g., Git access, resource allocation, Docker image settings).
  • Share these traits across multiple workflows.
  • Ensure consistency across your testing processes.

Dashboard and Labeling

Testkube lets you label your Test Workflows by:

  • Target release.
  • Application.
  • Testing tool.

This flexible labeling enables centralized management via a single dashboard, where you can view all workflows and their executions.

Dashboard

Further Reading