Теория тестирования ПО: базовые понятия, цели и виды по стандартам ISTQB и ГОСТ
Теория тестирования — это процесс оценки качества ПО, выявления дефектов и снижения рисков по стандартам ISTQB v4.0 и ГОСТ Р 56920-2024. Она дает четкую базу терминов, целей, критериев и видов тестов.
Оглавление
Определение и цели тестирования
Согласно ISTQB CTFL v4.0 и ГОСТ Р 56920-2024 (адаптация ISO/IEC/IEEE 29119), тестирование — это процесс, состоящий из всех активностей жизненного цикла (как статических, так и динамических), включающий планирование, подготовку и оценку программного продукта и связанных рабочих продуктов. Его задачи: определить, что продукты удовлетворяют заданным требованиям, продемонстрировать пригодность для использования и выявить дефекты.
Цели тестирования варьируются в зависимости от контекста, но всегда включают:
- оценку качества продукта;
- снижение уровня рисков;
- предоставление информации заинтересованным сторонам для принятия решений;
- соблюдение нормативных требований;
- предотвращение дефектов.
Важно различать смежные понятия:
- QA (Обеспечение качества) — процесс-ориентированная деятельность по предотвращению дефектов на уровне всего процесса разработки.
- Тестирование — продукт-ориентированная деятельность по выявлению дефектов в конкретном продукте.
Критерии начала и завершения работ
Для управления качеством на каждом этапе используются формализованные условия:
- Критерии входа (entry criteria): набор общих и специфичных условий, которые должны быть выполнены, чтобы начать задачу или этап тестирования. Примеры: готовность тестовой среды, наличие утвержденных требований.
- Критерии выхода (exit criteria): набор общих и специфичных условий, которые должны быть выполнены, чтобы завершить этап тестирования. Примеры: достижение целевого уровня покрытия кода, выполнение всех запланированных тест-кейсов, отсутствие критических дефектов.
Уровни и виды тестирования
Профессиональный риск: использование устаревших материалов (например, ISTQB 2018 или более ранних версий) может привести к ошибкам на собеседовании или непониманию современных Agile/DevOps практик. Структура и терминология в версии v4.0 были существенно обновлены и теперь включают концепции «сдвига влево» (раннее тестирование), DevOps, пирамиду тестирования и квадранты тестирования.
Уровни тестирования (по объекту)
| Уровень тестирования | Объект применения |
|---|---|
| Компонентное (модульное) | Отдельные модули или компоненты кода |
| Интеграционное (компонентов) | Взаимодействие между отдельными компонентами |
| Системное интеграционное | Взаимодействие системы с внешними сервисами и системами |
| Системное | Вся система в целом на соответствие функциональным и нефункциональным требованиям |
| Приемочное | Готовность продукта к передаче заказчику или конечным пользователям |
Типы тестирования (по цели)
- Функциональное: проверка того, что система делает то, что должна делать (бизнес-логика, workflows).
- Нефункциональное: оценка характеристик системы, таких как производительность, удобство использования (usability) и безопасность.
- Тестирование изменения: включает подтверждающее тестирование (проверка исправления конкретного дефекта) и регрессионное тестирование (проверка того, что изменения не сломали существующий функционал).
Российский контекст и стандарты
В России теория тестирования опирается на два основных документа, терминология в которых унифицирована благодаря официальным переводам:
- ISTQB — де-факто стандарт для коммерческой разработки, банков и IT-компаний. Сертификация и обучение доступны через RSTQB (Russian Software Testing Qualifications Board). Экзамены проводятся на русском языке, оплата возможна российскими картами через локальных провайдеров.
- ГОСТ Р 56920-2024 «Системная и программная инженерия. Тестирование программного обеспечения. Общие положения» — актуализация стандартов серии ISO/IEC/IEEE 29119 в РФ. Применяется в государственных контрактах, госзаказе и госкорпорациях.
Частые ошибки
- Ошибка: Считать, что цель тестирования — «доказать, что программа работает».
Реальность: Фундаментальный принцип гласит: «Тестирование показывает наличие дефектов, а не их отсутствие». - Ошибка: Путать тестирование и отладку.
Реальность: Тестирование выявляет дефекты, а отладка — это процесс поиска и исправления причин этих дефектов, который выполняет разработчик.
FAQ
Можно ли сдать экзамен ISTQB в России в 2026 году?
Да, через RSTQB. Экзамены проводятся на русском языке, а оплата возможна российскими банковскими картами через локальных провайдеров, несмотря на ограничения некоторых международных сервисов.
Чем тестирование отличается от отладки?
Тестирование направлено на выявление дефектов в продукте. Отладка (debugging) — это последующий процесс поиска и исправления причин этих дефектов, который лежит в зоне ответственности разработчика.
Какой стандарт изучать: ISTQB или ГОСТ?
Базовая терминология в них унифицирована. Для коммерческой разработки, банков и IT-компаний стандартом де-факто является ISTQB. ГОСТ Р 56920-2024 необходим для работы с государственными контрактами, госзаказом и в госкорпорациях.