Стандарты и сертификаты · тема 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
тесты на pytest
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Частые ошибки

Тестировать только «счастливый путь»Нужны и недопустимые значения, и границы.
Перебирать все значения подрядДостаточно одного представителя класса и границ.
Писать дефект «не работает форма»Отчёт содержит шаги, ожидаемый и фактический результат.
Не связывать тест с требованиемБез ссылки на пункт ТЗ непонятно, что тест подтверждает.
Ссылаться на ГОСТ Р 56920-2016Он заменён редакцией 2024 года.

§6Проверьте себя

  1. Какие части серии ISO/IEC/IEEE 29119 есть и какие у них российские аналоги?
  2. Чем модульное тестирование отличается от приёмочного?
  3. Разбейте на классы эквивалентности поле «количество билетов: от 1 до 10». Какие граничные значения проверить?
  4. Из каких полей состоит тестовый сценарий?
  5. Что обязательно в отчёте о дефекте?
Серия29119-1 — понятия-2 — процессы-3 — документы-4 — техники
РоссияР 56920-2024Р 56921-2016Р 56922-201619.301-79 — ПМИ
Приёмыклассы эквивалентностиграничные значенияшаги · ожидалось · получено

Справочник «Стандарты и сертификаты» · глава 11Макаров Максим Николаевич

Кадр