Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
yonatangross avatar

Testing Perf

  • 79 installs
  • 213 repo stars
  • Updated August 4, 2026
  • yonatangross/orchestkit

Helps with testing & qa tasks.

About

testing-perf is a Claude Code skill for testing & qa. It helps solo builders move faster with AI-assisted coding.

  • testing-perf
  • Testing & QA
  • AI-coding skill

Testing Perf by the numbers

  • 79 all-time installs (skills.sh)
  • +1 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #1,066 of 2,153 Testing & QA skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/yonatangross/orchestkit --skill testing-perf

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs79
repo stars213
Last updatedAugust 4, 2026
Repositoryyonatangross/orchestkit

What it does

Helps with testing & qa tasks.

Files

SKILL.mdMarkdownGitHub ↗

Performance & Load Testing Patterns

Focused skill for performance testing, load testing, and pytest execution optimization. Covers k6, Locust, pytest-xdist parallel execution, custom plugins, and test type classification.

Quick Reference

AreaFilePurpose
k6 Load Testingrules/perf-k6.mdThresholds, stages, custom metrics, CI integration
Locust Testingrules/perf-locust.mdPython load tests, task weighting, auth flows
Test Typesrules/perf-types.mdLoad, stress, spike, soak test patterns
Executionrules/execution.mdCoverage reporting, parallel execution, failure analysis
Pytest Markersrules/pytest-execution.mdCustom markers, xdist parallel, worker isolation
Pytest Pluginsrules/pytest-plugins.mdFactory fixtures, plugin hooks, anti-patterns
k6 Patternsreferences/k6-patterns.mdStaged ramp-up, authenticated requests, test types
xdist Parallelreferences/xdist-parallel.mdDistribution modes, worker isolation, CI config
Custom Pluginsreferences/custom-plugins.mdconftest plugins, installable plugins, hook reference
Perf Checklistchecklists/performance-checklist.mdPlanning, setup, metrics, load patterns, analysis
Pytest Checklistchecklists/pytest-production-checklist.mdConfig, markers, parallel, fixtures, CI/CD
Test Templatescripts/test-case-template.mdFull test case documentation template

k6 Quick Start

Set up a load test with thresholds and staged ramp-up:

import http from 'k6/http';
import { check, sleep } from 'k6';

export const options = {
  stages: [
    { duration: '30s', target: 20 },  // Ramp up
    { duration: '1m', target: 20 },   // Steady state
    { duration: '30s', target: 0 },   // Ramp down
  ],
  thresholds: {
    http_req_duration: ['p(95)<500'],  // 95th percentile under 500ms
    http_req_failed: ['rate<0.01'],    // Less than 1% error rate
  },
};

export default function () {
  const res = http.get('http://localhost:8000/api/health');
  check(res, {
    'status is 200': (r) => r.status === 200,
    'response time < 200ms': (r) => r.timings.duration < 200,
  });
  sleep(1);
}

Run: k6 run --out json=results.json tests/load/api.js

k6 v1.0+ (May 2025) — what changed

  • Native TypeScript: k6 run tests/load/api.ts — no compilation step needed.
  • Auto extension provisioning: k6 run pulls required extensions automatically; manual xk6 build is superseded for most workflows.
  • Browser module import: import browser from 'k6/browser'the old `k6/experimental/browser` path was removed in v0.52+. Any generated code using /experimental/ will fail.
  • OTLP output built in: k6 run --out experimental-opentelemetry=... — stream results straight to your tracing backend.
import http from 'k6/http'
import browser from 'k6/browser'
import { check } from 'k6'

export const options = { vus: 5, duration: '30s' }

export default async function () {
  const page = await browser.newPage()
  await page.goto('https://example.com')
  check(page, { 'title present': async p => (await p.title()).length > 0 })
  await page.close()
}

Performance Test Types

TypeDurationVUsPurposeWhen to Use
Load5-10 minExpected trafficValidate normal conditionsEvery release
Stress10-20 min2-3x expectedFind breaking pointPre-launch
Spike5 minSudden 10x surgeTest auto-scalingBefore events
Soak4-12 hoursNormal loadDetect memory leaksWeekly/nightly

pytest Parallel Execution

Speed up test suites with pytest-xdist:

# pyproject.toml
[tool.pytest.ini_options]
addopts = ["-n", "auto", "--dist", "loadscope"]
markers = [
    "slow: marks tests as slow",
    "smoke: critical path tests for CI/CD",
]
# Run with parallel workers and coverage
pytest -n auto --dist loadscope --cov=app --cov-report=term-missing --maxfail=3

# CI fast path — skip slow tests
pytest -m "not slow" -n auto

# Debug mode — single worker
pytest -n 0 -x --tb=long

Worker Database Isolation

When running parallel tests with databases, isolate per worker:

@pytest.fixture(scope="session")
def db_engine(worker_id):
    db_name = f"test_db_{worker_id}" if worker_id != "master" else "test_db"
    engine = create_engine(f"postgresql://localhost/{db_name}")
    yield engine
    engine.dispose()

Key Thresholds

MetricTargetTool
p95 response time< 500msk6
p99 response time< 1000msk6
Error rate< 1%k6 / Locust
Business logic coverage90%pytest-cov
Critical path coverage100%pytest-cov

Decision Guide

ScenarioRecommendation
JavaScript/TypeScript teamk6 for load testing
Python teamLocust for load testing
Need CI thresholdsk6 (built-in threshold support)
Need distributed testingLocust (built-in distributed mode)
Slow test suitepytest-xdist with -n auto
Flaky parallel tests--dist loadscope for fixture grouping
DB-heavy testsWorker-isolated databases with worker_id

Related Skills

  • ork:testing-unit — Unit testing patterns, pytest fixtures
  • ork:testing-e2e — End-to-end performance testing with Playwright
  • ork:performance — Core Web Vitals and optimization patterns

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.