by omkamal (community) Claude, Python, pypict
Claude skill, генерирующий тест-кейсы методом N-wise через библиотеку pypict.
Фреймворк агентных навыков и методология разработки ПО для Claude Code — набор SKILL.md-инструкций, охватывающих полный цикл …
Конвертирует сайты документации, GitHub-репозитории и PDF в skills для Claude AI с автоматическим обнаружением конфликтов.
45+ советов по эффективному использованию Claude Code — от основ до продвинутых техник, включая кастомный статус-лайн …
Даёт Claude Code возможность напрямую общаться с вашими блокнотами Google NotebookLM: запросы к загруженным документам, ответы …
# Способ 1: через магазин плагинов Claude Code /plugin marketplace add omkamal/pypict-claude-skill /plugin install pict-test-designer@pypict-claude-skill # Способ 2: клонирование с GitHub (для всех проектов) git clone https://github.com/omkamal/pypict-claude-skill.git ~/.claude/skills/pict-test-designer # Способ 2 (вариант): для конкретного проекта git clone https://github.com/omkamal/pypict-claude-skill.git .claude/skills/pict-test-designer echo ".claude/skills/" >> .gitignore git add .claude/skills/pict-test-designer git commit -m "Add PICT test designer skill" # Способ 3: через git submodule (для командной работы) git submodule add https://github.com/omkamal/pypict-claude-skill.git .claude/skills/pict-test-designer git commit -m "Add PICT test designer skill as submodule" # Способ 4: минимальный пакет из релизов wget https://github.com/omkamal/pypict-claude-skill/releases/latest/download/pict-test-designer-minimal.zip unzip pict-test-designer-minimal.zip mv pict-test-designer-minimal ~/.claude/skills/pict-test-designer # Способ 5: полный репозиторий в ZIP unzip pypict-claude-skill-main.zip mv pypict-claude-skill-main ~/.claude/skills/pict-test-designer
Навык для Claude, предназначенный для проектирования комплексных тестовых случаев с использованием PICT (Pairwise Independent Combinatorial Testing). Этот навык позволяет систематически разрабатывать тестовые случаи с минимальным количеством тестов, сохраняя при этом высокий уровень покрытия благодаря попарному комбинаторному тестированию.
PICT (Pairwise Independent Combinatorial Testing) — это инструмент комбинаторного тестирования, разработанный Microsoft. Он генерирует тестовые случаи, которые эффективно покрывают все попарные комбинации параметров, значительно сокращая общее количество тестов по сравнению с исчерпывающим тестированием.
Пример: Тестирование системы с 8 параметрами и 3–5 значениями для каждого: - Исчерпывающее тестирование: 25 920 тестовых случаев - Попарное тестирование с PICT: ~30 тестовых случаев (сокращение на 99,88%!)
pypict для расширенного использованияНавыки для Claude Code можно установить через магазин плагинов или вручную, разместив их в директории .claude/skills/.
Установите напрямую через систему плагинов Claude Code:
# Add the marketplace
/plugin marketplace add omkamal/pypict-claude-skill
# Install the plugin
/plugin install pict-test-designer@pypict-claude-skill
Это автоматически установит навык и будет поддерживать его в актуальном состоянии. Навык будет доступен во всех ваших проектах.
Для личного использования (все проекты):
# Clone the repository to your personal skills directory
git clone https://github.com/omkamal/pypict-claude-skill.git ~/.claude/skills/pict-test-designer
# Restart Claude Code to load the skill
# The skill will now be available in all your projects
Для использования в конкретном проекте:
# From your project directory
git clone https://github.com/omkamal/pypict-claude-skill.git .claude/skills/pict-test-designer
# Add to .gitignore if you don't want to commit it
echo ".claude/skills/" >> .gitignore
# Or commit it to share with your team
git add .claude/skills/pict-test-designer
git commit -m "Add PICT test designer skill"
Если вы хотите поделиться этим навыком с командой через систему контроля версий:
# From your project directory
git submodule add https://github.com/omkamal/pypict-claude-skill.git .claude/skills/pict-test-designer
git commit -m "Add PICT test designer skill as submodule"
# Team members clone with:
git clone --recurse-submodules <your-repo-url>
# Or if already cloned:
git submodule update --init --recursive
Загрузите предварительно упакованный минимальный пакет установки из релизов GitHub:
# Download the latest minimal package from releases
wget https://github.com/omkamal/pypict-claude-skill/releases/latest/download/pict-test-designer-minimal.zip
# Extract and install for personal use
unzip pict-test-designer-minimal.zip
mv pict-test-designer-minimal ~/.claude/skills/pict-test-designer
# Or for project-specific use
unzip pict-test-designer-minimal.zip
mv pict-test-designer-minimal .claude/skills/pict-test-designer
Что включено: SKILL.md, LICENSE, references/ (синтаксис и примеры) Что исключено: Полные примеры, вспомогательные скрипты, расширенная документация Размер: ~9 КБ | Последняя версия: Смотреть релизы
# For personal use (all projects)
unzip pypict-claude-skill-main.zip
mv pypict-claude-skill-main ~/.claude/skills/pict-test-designer
# For project-specific use
unzip pypict-claude-skill-main.zip
mv pypict-claude-skill-main .claude/skills/pict-test-designer
После установки перезапустите Claude Code. Навык загрузится автоматически при необходимости. Вы можете проверить его, спросив у Claude:
Do you have access to the pict-test-designer skill?
Или просто начните использовать:
Design test cases for a login function with username, password, and remember me checkbox.
После установки вы можете использовать навык в Claude, просто спросив:
Design test cases for a login function with username, password, and remember me checkbox.
Claude выполнит следующие действия: 1. Проанализирует требования 2. Определит параметры и их значения 3. Создаст модель PICT с ограничениями 4. Сформирует тестовые случаи с ожидаемыми результатами 5. Представит результаты в виде форматированной таблицы
В этом репозитории содержится полный пример из реальной практики по тестированию банкомата. Загляните в директорию examples, где вы найдёте:
Параметры системы: - Типы транзакций (5): Снятие, Внесение, Запрос баланса, Перевод, Смена PIN-кода - Типы карт (3): EMV-чип, Магнитная полоса, Недействительная - Статус PIN-кода (4): Действительный, Недействительные попытки 1–3 - Типы счетов (3): Текущий, Сберегательный, Оба - Суммы транзакций (4): В пределах лимитов, Максимальная, Превышает лимит транзакции, Превышает дневной лимит - Наличие наличных (3): Достаточно, Недостаточно, Отсутствуют - Статус сети (3): Основная, Резервная, Отключена - Состояние карты (3): Хорошее, Повреждённая, Просроченная
Результаты тестирования: - Всего возможных комбинаций: 25 920 - Сгенерированных тестовых случаев PICT: 31 - Сокращение: 99,88% - Покрытие: Все парные (2-сторонние) взаимодействия - Время выполнения тестов: Сокращено с недель до часов
# In Claude Code
Ask: "Use the pict-test-designer skill to analyze the ATM specification
in examples/atm-specification.md and generate test cases"
Claude анализирует ваши требования для выявления: - Параметров: Входные переменные, опции конфигурации, факторы окружения - Значений: Возможные значения с использованием эквивалентного разбиения - Ограничений: Бизнес-правила и зависимости - Ожидаемых результатов: Что должно происходить для разных комбинаций
Создаётся структурированная модель:
# Parameters
Browser: Chrome, Firefox, Safari
OS: Windows, MacOS, Linux
Memory: 4GB, 8GB, 16GB
# Constraints
IF [OS] = "MacOS" THEN [Browser] <> "IE";
IF [Memory] = "4GB" THEN [OS] <> "MacOS";
Генерируются минимальные тестовые случаи, покрывающие все парные комбинации:
| № теста | Браузер | ОС | Память | Ожидаемый результат |
|---|---|---|---|---|
| 1 | Chrome | Windows | 4 ГБ | Успех |
| 2 | Firefox | macOS | 8 ГБ | Успех |
| 3 | Safari | Linux | 16 ГБ | Успех |
| ... | ... | ... | ... | ... |
Для каждого тестового случая Claude определяет ожидаемый результат на основе: - Бизнес-требований - Логики кода - Допустимых/недопустимых комбинаций
✅ Используйте описательные имена: AuthMethod, UserRole, PaymentType
✅ Применяйте эквивалентное разбиение: FileSize: Маленький, Средний, Большой
✅ Включайте граничные значения: Age: 0, 17, 18, 65, 66
✅ Добавляйте отрицательные значения: Amount: ~-1, 0, 100, ~999999
✅ Документируйте обоснование: # Safari доступен только на macOS
✅ Начинайте с простого, добавляйте постепенно
✅ Проверяйте, что ограничения работают как ожидается
✅ Будьте конкретны: "Вход выполнен успешно, пользователь перенаправлен на панель управления" ❌ Избегайте расплывчатых формулировок: "Работает" или "Успех"
Этот навык создан на основе отличной работы:
Ссылки: - PICT: Попарное независимое комбинаторное тестирование - Методология попарного тестирования - Проектирование комбинаторных тестов
Принимаем ваши вклады! Вот как вы можете помочь:
git checkout -b feature/amazing-featuregit commit -m 'Добавлена потрясающая функция'git push origin feature/amazing-featureЭтот проект распространяется под лицензией MIT — подробности см. в файле LICENSE.
Базовый инструмент PICT от Microsoft также распространяется под лицензией MIT.
Если у вас возникли проблемы или вопросы:
Если этот навык оказался полезным, пожалуйста, поставьте звезду репозиторию, чтобы помочь другим его обнаружить!
Создано с ❤️ для сообщества Claude и тестировщиков
Работает на базе Microsoft PICT и pypict