# Test Automation

> Реализовать или исправить автоматические регрессионные тесты, тестовые данные, заглушки и нестабильные проверки для выбранных требований. Применять для надёжных исполняемых доказательств; неустановленный объём покрытия относится к стратегии QA, а специальные проверки API, браузера и производительности — к профильным навыкам.

- Skill: `fbakiyev/test-automation` (Agent Skill)
- Install (CLI): `npx skillmds@latest add fbakiyev/test-automation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fbakiyev/test-automation/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: fbakiyev (https://skillmd.com/u/fbakiyev)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/fbakiyev/test-automation

---


# Автоматизация тестирования

## Выбрать полезную проверку

Изучи требуемое поведение, существующие тестовые решения и известный сбой. Выбери самый низкий уровень, способный его обнаружить. Выводи ожидаемый результат из контракта, инварианта или независимого расчёта по тестовым данным, а не из той же вспомогательной функции, которую проверяешь.

## Решения при реализации

- Используй контрпример, который не пройдёт при дефектном поведении. Когда это практически возможно, подтверди, что новый регрессионный тест падает до исправления и проходит после него. Тест, который лишь вызывает новый метод, может не давать сигнала регрессии.
- Изолируй состояние от порядка и параллельности запусков. Используй собственные записи или пространства имён, сбрасывай изменённые средства управления временем и случайностью, удаляй только созданное тестом состояние. Новый объект теста не сбрасывает общую базу, кеш, процесс или переменную окружения.
- Синхронизируйся по наблюдаемому условию с ограничением времени или управляемому барьеру вместо пауз в надежде на нужный момент. Для гонки явно организуй существенное чередование; для правила таймаута при необходимости используй принятый в проекте механизм управления временем.
- Подменяй ту границу, которая сохраняет предмет заявленной проверки. Сохраняй характерные сериализацию и ошибки; заглушка проверяемой транзакции или дедупликации может полностью убрать дефект из теста.
- Исследуй нестабильность до изменения повторов. Сохраняй доказательства первого сбоя и различай гонки продукта, утечки тестового состояния, нестабильные зависимости и инфраструктурные ошибки. Изолируй нестабильный тест только с понятным дальнейшим действием; не отключай его незаметно и не считай успешный повтор доказательством исправления.
- Используй широкие снимки только при намеренном и проверяемом охвате. Небольшая проверка поведения часто лучше переживает постороннее изменение оформления и делает нарушенный инвариант заметным.

Не переноси покрытие логики в E2E только потому, что браузерная инфраструктура уже существует. Делай тесты обязательными в CI только при надёжном, разумно ограниченном выполнении и в рамках запрошенного изменения конфигурации.

## Результат и проверка

Верни исполняемые тесты и необходимые данные, отличимый сбой, который они покрывают, а также реально выполненные команды и наблюдаемые результаты. Проверяй порядок или параллельный запуск только при риске общего состояния; не повторяй успешные наборы тестов без новой причины.

Явно указывай недоступные зависимости и непроверенные интеграции. Изменение исходников теста не доказывает, что тест запускался. Отдельный план тестирования или документ передачи работы необязателен, если задача его не требует.

