Skip to content

🔄 Auto-sync: from Discussion #2076 every hour.

DevShard Release Testing Flow

Автор: @aikuznetsov · Категория: 🧩 Ecosystem · Создано: 2026-10-21 13:28 UTC · Обновлено: 2026-10-21 13:41 UTC


📝 Описание

Purpose

Define a repeatable testing flow for DevShard releases, with clear ownership and handover criteria. The flow covers development testing, parallel independent and internal validation, final sign-off, and release rollout.

Participants:

  • Dev team: implements changes, tests new functionality, prepares release candidates, and fixes reported issues.
  • TestLab: independently validates release candidates on DevNet, focusing on regression, load, upgrades, and rollbacks.
  • Internal validation team: validates integration with the rest of the system and reports readiness for release.

Flow Overview

flowchart TD
    A["Phase 1: Development and Feature Testing"] --> B["Release Candidate"]
    B --> C["Phase 2: TestLab Validation on DevNet"]
    B --> D["Phase 3: Internal Test and Validation"]
    C --> E["Final Sign-off"]
    D --> E
    E --> F["Governance Vote"]

Phases 2 and 3 run in parallel against the same release candidate. Final sign-off requires results from both tracks for the candidate being released.

Phase 1: Development and Feature Testing

Owner: Dev team

During active development, the Dev team implements new functionality and runs:

  • Unit tests for the changed behavior.
  • End-to-end tests for the affected workflows.
  • Load tests for new functionality, including relevant performance and resource usage checks.

Exit Criteria and Handover

Once development is complete, all required tests pass, and CI is green, the Dev team creates a release candidate Git tag. The tag automatically produces the binaries and container images used for testing.

The handover to TestLab and the internal validation team includes:

  • The release candidate tag and links to its build artifacts.
  • A summary of changes, affected components, and known limitations.
  • Deployment configuration and upgrade and rollback procedures.
  • A proposed release-specific test scope and relevant development test results.

Phase 2: Independent Validation on DevNet

Owner: TestLab

TestLab deploys the tagged release candidate on DevNet and validates the release as a whole. The Dev team and TestLab agree on the test scope based on the changes and risks introduced by the release.

Common Test Scope

Area Expected validation
Regression Existing functionality and end-to-end workflows continue to work correctly.
Load and stability The system handles sustained load and load spikes; latency, throughput, errors, and resource usage are measured against an agreed baseline.
Memory behavior Memory usage is monitored during load, recovery, and extended runs to identify leaks or unexpected growth.
Upgrades Supported previous versions can be upgraded to the candidate using the documented procedure, including under load where applicable.
Rollbacks The documented rollback path is exercised, with checks for service recovery and state compatibility. Any rollback limitations are recorded.
Observability Metrics and logs from DevShard and Gateway provide enough evidence to evaluate behavior and investigate failures.

Bug Reports and Testing Tools

When an anomaly is detected, TestLab promptly provides the Dev team with a bug report containing the candidate tag, environment details, workload, reproduction steps, timestamps, full relevant log archives, metrics, and available profiles. The report should give developers enough context to investigate without repeating the initial evidence collection.

Use and maintain automated tooling for running tests, collecting logs and profiles, and comparing results with a baseline.

Operator Instructions

TestLab validates clear, step-by-step operator instructions by exercising the deployment, upgrade, verification, and rollback procedures on DevNet. Gaps found during testing are corrected before handover.

Exit Criteria and Results

TestLab provides a test report identifying:

  • The exact candidate and environment tested.
  • Scenarios executed, results, and baseline comparisons.
  • Open issues, their impact, and any untested areas.
  • Verified upgrade and rollback paths, including limitations.
  • Validated operator instructions.

The proposed exit criteria are that the agreed scope passes and no release-blocking issues remain. Fixes produce a new candidate tag; TestLab reruns the affected checks and the regression coverage needed to validate that candidate.

Phase 3: Internal Test and Validation

Owner: Internal validation team

This phase runs in parallel with Phase 2 and validates how the new DevShard version works with the other system components. The team selects integration checks based on the affected interfaces, dependencies, and workflows.

Test Scope

Area Expected validation
Component integration DevShard interacts correctly with dependent services and components.
Interface compatibility APIs, message formats, and shared contracts remain compatible with supported component versions.
End-to-end integration Workflows spanning multiple components complete correctly with the new version.
Failure and recovery Cross-component error handling, retries, and recovery behave as expected.
Configuration and deployment Supported configurations and deployment settings work across the integrated system.

Exit Criteria and Results

The internal validation team provides a report identifying the candidate, component versions, environment, checks performed, results, and any open issues or coverage gaps. The agreed integration scope must pass with no release-blocking issues remaining.

Issues are reported to the Dev team with reproduction details and supporting logs. When a new candidate is produced, both validation tracks reassess the affected checks and rerun the coverage needed to confirm readiness.

Final Sign-off and Release

After Phases 2 and 3 are complete, the Dev team, TestLab, and internal validation team review the results for the same candidate and record a final readiness decision.

Sign-off requires:

  • Passing results for the agreed scope in both validation tracks.
  • No unresolved release-blocking issues, with remaining limitations and risks documented.
  • Confirmed release artifacts and validated operator instructions.
  • A documented rollout and rollback plan, including post-release checks.

If a governance vote is required, the approved candidate and supporting release information are submitted for voting. Rollout proceeds only after the proposal is approved. Otherwise, rollout proceeds through the applicable release approval process after sign-off.

During rollout, the release owners monitor service health, errors, performance, and resource usage and verify the critical workflows. If the agreed rollout criteria are not met, they stop further deployment and follow the documented recovery or rollback procedure.