Справочник «Стандарты и сертификаты» · тема 3
Глава 11
Стандарты
тестирования
Тестирование тоже стандартизовано: понятия, процессы, документы и приёмы разработки тестов описывает серия ISO/IEC/IEEE 29119, в России действуют её переводы. В главе разобраны состав серии, документы тестирования и два приёма разработки тестов на примере поля «возраст».
- Документы
- ISO/IEC/IEEE 29119-1…-5 · ГОСТ Р 56920-2024 · ГОСТ Р 56921-2016 · ГОСТ Р 56922-2016
- Уровень
- Средний
- Где встречается
- Программа и методика испытаний, приёмка, работа тестировщика
- Зачем это знать
- Чтобы тесты покрывали требования из технического задания
§1Серия 29119
| Часть | О чём | Российский стандарт |
|---|---|---|
| 29119-1 | понятия и определения | ГОСТ Р 56920-2024 (заменил редакцию 2016 года) |
| 29119-2 | процессы тестирования | ГОСТ Р 56921-2016 |
| 29119-3 | документация тестирования | ГОСТ Р 56922-2016 |
| 29119-4 | техники проектирования тестов | — |
| 29119-5 | тестирование на основе ключевых слов | — |
Для документов на программу по ЕСПД есть свой стандарт — ГОСТ 19.301-79 «Программа и методика испытаний». Его требуют государственные заказчики при приёмке.
§2Уровни и виды
| Уровень | Что проверяют | Пример для формы регистрации |
|---|---|---|
| модульный | одну функцию или класс | функция проверки возраста |
| интеграционный | связку частей | форма записывает строку в базу |
| системный | систему целиком по требованиям | ученик регистрируется и входит в кабинет |
| приёмочный | соответствие ожиданиям заказчика | школа проверяет сценарии из технического задания |
Кроме уровней различают виды: функциональное тестирование (делает ли то, что нужно) и нефункциональное — нагрузочное, безопасности, удобства, доступности.
§3Классы эквивалентности и граничные значения
Требование: «Регистрироваться самостоятельно могут ученики от 14 до 17 лет включительно; младше 14 — только через родителя; 18 и старше — как взрослый». Перебирать все возрасты не нужно. ISO/IEC/IEEE 29119-4 описывает приёмы, которые сокращают число тестов без потери покрытия.
Класс эквивалентности — множество входных значений, которые программа должна обработать одинаково. Из каждого класса достаточно одного теста. Граничные значения — значения на границах классов, где ошибки встречаются чаще всего: < вместо <=.
| Класс | Значения | Ожидаемый результат | Граничные тесты |
|---|---|---|---|
| недопустимые | меньше 0, не число | ошибка ввода | -1 |
| до 14 лет | 0–13 | нужен аккаунт родителя | 0, 13 |
| 14–17 лет | 14–17 | регистрация самостоятельно | 14, 17 |
| 18 лет и старше | 18 и больше | регистрация как взрослый | 18 |
import pytest
from signup import registration_mode
@pytest.mark.parametrize('age, expected', [
(0, 'parent'), (13, 'parent'),
(14, 'self'), (17, 'self'),
(18, 'adult'), (45, 'adult'),
])
def test_registration_mode(age, expected):
assert registration_mode(age) == expected
def test_negative_age_rejected():
with pytest.raises(ValueError):
registration_mode(-1)§4Документы тестирования
ГОСТ Р 56922-2016 описывает документы: политику и стратегию, план тестирования, спецификации тестов, отчёты. Чаще всего встречаются тестовый сценарий и отчёт о дефекте.
ID: TC-SIGNUP-04 Требование: ТЗ п. 4.2.1 — повторная регистрация с занятой почтой отклоняется Предусловие: в базе есть ученик с почтой petya@mail.example Шаги: 1. Открыть /signup 2. Ввести ФИО «Петров Пётр», почту petya@mail.example, пароль 3. Нажать «Зарегистрироваться» Ожидаемый результат: сообщение «Адрес почты уже занят», новая строка в users не создана Фактический результат: создана вторая строка с той же почтой Статус: не пройден → дефект BUG-198
BUG-198 Повторная регистрация с занятой почтой создаёт вторую учётную запись Серьёзность: высокая (искажает число пользователей, ломает вход) Окружение: прод, 16.09.2026, Chrome 139 Шаги воспроизведения: см. TC-SIGNUP-04 Ожидалось: отказ с кодом 422 по RFC 9457 Получено: 201 Created, строка № 12002 Вложения: снимок экрана, запись запроса из инструментов разработчика
§5Частые ошибки
§6Проверьте себя
- Какие части серии ISO/IEC/IEEE 29119 есть и какие у них российские аналоги?
- Чем модульное тестирование отличается от приёмочного?
- Разбейте на классы эквивалентности поле «количество билетов: от 1 до 10». Какие граничные значения проверить?
- Из каких полей состоит тестовый сценарий?
- Что обязательно в отчёте о дефекте?
29119-1 — понятия-2 — процессы-3 — документы-4 — техникиР 56920-2024Р 56921-2016Р 56922-201619.301-79 — ПМИклассы эквивалентностиграничные значенияшаги · ожидалось · полученоСправочник «Стандарты и сертификаты» · глава 11Макаров Максим Николаевич