# test-strategy

Скилл для QA-инженера: превращает «покрытие 90%» в обоснованный план — что тестировать, почему именно это и как понять, что тесты действительно ловят баги.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 107
- Автор: avelikiy
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/avelikiy/great_cto/tree/HEAD/skills/test-strategy/SKILL.md
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/skills/avelikiy-test-strategy

## Что делает

Скилл `test-strategy` задаёт метод проектирования покрытия для средних и крупных фич. Вместо рефлекторного «напишем побольше тестов» он заставляет ответить на четыре вопроса: какое соотношение unit/integration/e2e подходит под архетип проекта, какие классы эквивалентности и границы проверить, какой mutation score подтверждает, что тесты кусаются, и что делать с флаки-тестами.

Пирамида выбирается по архетипу, а не по привычке. Для библиотеки это 80% unit / 15% integration / 5% e2e, для коммерса с денежными путями — 50% / 35% / 15%. AI-система получает отдельный столбец: 50% unit, 20% integration, 10% e2e и 20% evals. Любое отклонение от таблицы нужно обосновать прямо в плане.

Главный сигнал — mutation score, а не покрытие строк. Модуль с 90% line coverage и 30% mutation score содержит тесты без ассертов: они просто гоняют код. Поэтому цель — mutation score ≥ 60% на изменённых логически плотных файлах, результат попадает в отчёт.

Флаки-тесты скилл предлагает не терпеть, а карантинить: пропустить, завести баг с владельцем и сроком, найти причину до повторного включения. Тест, который падает случайно, портит сигнал всей пачке — хуже, чем отсутствие теста.

Результат — файл `docs/qa-reports/TEST-STRATEGY-{slug}.md`. QA-гейт проверяет, что он существует для средних и крупных фич. Для типографики и переименований скилл не нужен: оверхед превышает пользу.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add avelikiy/great_cto --skill test-strategy -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/test-strategy/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/test-strategy/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add avelikiy/great_cto --skill test-strategy -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/test-strategy/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add avelikiy/great_cto --skill test-strategy -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/test-strategy/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install avelikiy/great_cto test-strategy
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/test-strategy/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add avelikiy/great_cto --skill test-strategy -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/avelikiy/great_cto --path skills/test-strategy
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/test-strategy/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add avelikiy/great_cto --skill test-strategy -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/avelikiy/great_cto/tree/HEAD/skills/test-strategy/SKILL.md

## Когда брать
- выбрать соотношение unit/integration/e2e под архетип проекта, а не наугад
- разбить входные данные на классы эквивалентности и границы вместо перебора значений
- проверить, что тесты падают при поломке кода, через mutation score
- изолировать флаки-тесты и довести их до причины
- получить план, который объясняет выбор набора тестов, а не только процент покрытия

## Примеры запросов агенту
- Составь тестовую стратегию для фичи расчёта скидок в корзине
- Проверь, оправдан ли текущий процент покрытия в модуле оплаты, и выдай план по mutation score
- Какие граничные случаи и классы эквивалентности учесть для парсера CSV?

## Похожие
- [test-reliability](https://affpapa.org/nevibecode/skills/test-reliability.md) — скилл · 1100 установок
- [test-gaps](https://affpapa.org/nevibecode/skills/test-gaps.md) — скилл · 753 установки
- [testing-strategy](https://affpapa.org/nevibecode/skills/testing-strategy.md) — скилл · 6400 установок
- [coverage-analysis](https://affpapa.org/nevibecode/skills/kindlmann-coverage-analysis.md) — скилл · 1100 установок
- [test-coverage](https://affpapa.org/nevibecode/skills/test-coverage.md) — скилл · 1900 установок
- [test-automator](https://affpapa.org/nevibecode/skills/test-automator.md) — скилл · 812 установок

## Другие версии с тем же именем
- [test-strategy · petrkindlmann](https://affpapa.org/nevibecode/skills/test-strategy.md) — 1500 установок

Из того же набора: [avelikiy/great_cto](https://affpapa.org/nevibecode/by/avelikiy/great_cto.md) — 12 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
