Раздел 11 — Тестовый процесс

Новая версия пришла в пятницу вечером. Что проверять, сколько это займёт и когда сказать «выпускаем»

Прогресс курса Раздел 11 из 12

Что вы освоите в этом разделе

6 академических часов: 2 теории, 4 практики. Шаблоны — тест-план и тест-отчёт (Word и LibreOffice Writer), чек-лист и тест-кейсы из раздела 04. Примеры раздела — о вымышленном сервисе «Запись к врачу».
01

Из чего состоит тестирование версии

До этого раздела вы отрабатывали отдельные умения. В работе они складываются в цепочку, которая повторяется для каждой версии программы:

ЭтапЧто делаемРезультатГде в курсе
АнализЧитаем требования и список изменений, задаём вопросыВопросы к требованиям, критерии приёмки03
ПланированиеРешаем, что и как тестируем, оцениваем времяТест-план11
ПроектированиеПридумываем проверки техниками тест-дизайнаЧек-лист, тест-кейсы04–06
ПодготовкаСтенд, учётные записи, тестовые данныеГотовое окружение10
ПрогонВыполняем проверки, отмечаем статусыЗаполненная таблица прогона, баг-репорты07–10
Повторная проверка и регрессПроверяем исправления и то, что могло сломатьсяЗакрытые или переоткрытые дефекты02, 11
ОтчётПодводим итог и даём рекомендациюТест-отчёт11

В маленькой команде всё это делает один человек за пару дней, и документы помещаются на одну-две страницы. Объём бумаг подбирают под проект: тест-план на 40 страниц для сайта-визитки никто не прочитает, а без плана вовсе команда узнаёт о том, что регресс не успели, в день выпуска.

02

Тест-план на одну страницу

Тест-план отвечает на вопросы руководителя и команды до начала работы: что проверяем, что нет, как, где, когда закончим и что может помешать. В шаблоне курса десять пунктов. Пример для версии 2.4 «Записи к врачу»:

ПунктПример
1. Объект«Запись к врачу» 2.4, стенд test.example.ru. Изменения: отмена записи теперь не позже чем за 3 часа (было 2), новый календарь выбора даты, исправлено 6 дефектов
2. Что тестируемЗапись (4.1), отмена (4.2), уведомления (4.5); повторная проверка 6 исправлений
3. Что не тестируемНагрузку — нет стенда; оплату — не менялась, только smoke
4. ПодходSmoke; тест-кейсы по требованиям 4.1, 4.2, 4.5; граничные значения для срока отмены; исследовательский проход нового календаря 1 час; регресс высокого приоритета
5. ОкружениеChrome и Firefox последних версий, телефон на Android (Chrome); учётные записи patient1, patient2, admin; сброс данных — скрипт на стенде
6. Критерии входаВерсия 2.4 установлена на стенд, список изменений получен, smoke пройден
7. Критерии выходаВсе тест-кейсы высокого приоритета выполнены; нет открытых критических и серьёзных дефектов
8. Сроки3 рабочих дня, 23 часа (расчёт — ниже), тестировщик Петрова
9. РискиСборка опоздала — сокращаем регресс до высокого приоритета; стенд недоступен — сообщаем руководителю в тот же час
10. РезультатыЧек-лист, тест-кейсы, баг-репорты в трекере, тест-отчёт

Пункт 3 «Что не тестируем» важнее, чем кажется: он заранее договаривается о рисках. Если оплата сломается, а в плане написано «оплату проверяем только smoke, потому что она не менялась», — это решение команды, а не промах тестировщика.

Тест-план согласуют до начала прогона: показывают руководителю или разработчикам и правят по замечаниям. Меняется объём работы — меняется и план.

03

Оценка трудозатрат

Вопрос «сколько займёт тестирование» задают всегда. Ответ «не знаю» не годится, «пару дней» — тоже: через пару дней спросят снова. Оценку собирают из частей:

  1. Разбить работу на этапы из таблицы раздела 01.
  2. Для каждого этапа — число единиц (требований, тест-кейсов, ожидаемых дефектов) и время на одну единицу. Время берут из своего опыта: засеките, сколько у вас уходит на один тест-кейс, и используйте это число.
  3. Сложить и добавить запас 20–30% на непредвиденное: стенд упал, дефект не воспроизводится, требования уточняются.
ЭтапРасчётЧасы
Изучение требований и изменений3 требования и список изменений2
Чек-лист и тест-кейсы24 тест-кейса × 15 мин6
Прогон24 тест-кейса × 10 мин4
Баг-репортыоколо 8 дефектов × 20 мин3
Повторная проверка и регресс6 исправлений и регресс высокого приоритета3
Тест-отчёт1
Итого19 ч + 20% запаса23

23 часа — примерно три рабочих дня одного тестировщика: в дне не 8 часов проверок, остальное съедают встречи и переписка. Оценку называют вместе с условиями: «три дня, если сборка будет на стенде в понедельник утром». Когда срок жёстче оценки, сокращают объём — и это решение записывают в пункт 3 тест-плана.

04

Критерии входа и выхода

Критерии входа — условия, без которых прогон начинать бессмысленно. Если smoke не прошёл (не открывается страница входа), три дня по плану уйдут на ожидание исправлений. Версию возвращают разработчикам с одним баг-репортом, а не начинают прогон.

Критерии выхода — когда тестирование версии закончено. Их пишут измеримыми, чтобы спор «готово или нет» решался проверкой, а не мнением:

ПлохоХорошо
Всё протестированоВсе тест-кейсы высокого приоритета выполнены, остальные — не меньше 80%
Нет серьёзных баговНет открытых дефектов критической и серьёзной серьёзности
Регресс пройденРегрессионный набор выполнен, все повторные проверки исправлений закрыты
Заказчик доволенКритерии приёмки требований 4.1, 4.2, 4.5 выполнены

Есть и критерий остановки по времени: срок вышел, а критерии выхода не выполнены. Тогда тестирование не продлевают молча — пишут отчёт с тем, что успели, и решение о выпуске принимает руководитель.

05

Прогон и статусы

Прогон — выполнение набора проверок на конкретной версии в конкретном окружении. Для прогона копируют таблицу тест-кейсов или чек-лист и заполняют столбец «Статус» (в шаблонах курса — выпадающий список):

СтатусКогда ставить
прошлаФактический результат совпал с ожидаемым
не прошлаНе совпал; в столбце «Дефект» — номер баг-репорта
заблокированаПроверку нельзя выполнить: мешает другой дефект или нет окружения. Указать, чем заблокирована
не проверяласьСознательно пропущена: не хватило времени или исключена из прогона

Правила, которые экономят время при отчёте:

Итог прогона — несколько чисел. Пример: из 24 тест-кейсов прошли 17, не прошли 4, заблокированы 2, не проверялся 1. Выполнено 21, из них прошли 17 — 81%. Число без контекста мало что говорит: 4 не прошедших тест-кейса могут быть опечатками, а могут — невозможностью записаться к врачу. Поэтому в отчёте рядом с числами — список открытых дефектов по серьёзности.

Покрытие требований видно по листу «Трассировка» шаблона тест-кейсов: у каждого требования — тест-кейсы и итог. Требование без тест-кейсов — пробел в плане или требование, которое нельзя проверить.

06

Новая версия: повторная проверка и регресс

С новой версией приходит список изменений (release notes): что исправлено и что добавлено. По нему составляют два набора проверок (понятия — из раздела 02):

Полный регресс — все тест-кейсы — обычно не помещается в срок. Набор выбирают по анализу влияния: для каждого изменения спрашивают «что ещё использует то, что поменяли?».

Изменение в 2.4Повторная проверкаРегресс рядом
Отмена записи — не позже чем за 3 часа (было 2)Новые границы: 3 ч 01 мин, 3 ч 00 мин, 2 ч 59 мин. Старые тест-кейсы с границей 2 часа переписатьУведомление об отмене; интервал снова свободен; отмена администратором
Исправлен BUG-31 (кнопка отмены видна, когда отменять уже нельзя)Шаги BUG-31Остальные случаи отмены — правка была в том же месте
Новый календарь выбора даты—Все формы с датой: запись, перенос, фильтр истории; телефон; второй браузер; клавиатура
Оплата не менялась—Только smoke: одна успешная оплата

К набору по анализу влияния добавляют постоянную часть: smoke и тест-кейсы высокого приоритета. Они ловят регрессии там, куда список изменений не указывает: разработчик мог поменять общий код и не упомянуть это, потому что «ничего не должно было измениться».

Порядок работы с новой версией: smoke → повторная проверка исправлений → регресс по анализу влияния → регресс высокого приоритета → новые функции. Если на середине кончится время, самое важное уже проверено.
07

Тест-отчёт

Тест-отчёт отвечает на вопрос «можно выпускать?» и объясняет ответ. Его читают руководитель, разработчики, иногда заказчик, поэтому главное — в начале. Пункты шаблона курса и пример:

ПунктПример
1. Что тестировали«Запись к врачу» 2.4, 10–12 ноября, Chrome 130, Firefox 132, Android 14
2. Итог одной фразойВыпускать после исправления BUG-44: пациенты не смогут отменить запись с телефона
3. Результаты прогона24 тест-кейса: прошли 17, не прошли 4, заблокированы 2, не проверялся 1
4. Найденные дефектыНайдено 7: серьёзный 1 (BUG-44), средних 4, незначительных 2. Открыт серьёзный BUG-44
5. Что не провереноПеренос записи в Firefox — заблокирован BUG-41; уведомления по SMS — стенд не отправляет SMS
6. Повторная проверка и регрессИсправлений 6: подтверждено 5, BUG-31 исправлен частично (возвращён). Регрессия: BUG-44
7. Риски выпускаБез исправления BUG-44 пациенты с телефона звонят в регистратуру, чтобы отменить запись; SMS-уведомления не проверены

Рекомендация — работа тестировщика, решение о выпуске — работа руководителя. Отчёт даёт ему факты для решения: что сломано, чем это грозит пользователям, что не проверено.

Руководителю, который не будет открывать трекер, пишут короче и без техники — через последствия для пользователей и бизнеса:

Тема: Запись к врачу 2.4 — готова к выпуску после одного исправления

Проверили версию 2.4 за три дня. Новый срок отмены и календарь работают.
Мешает выпуску одна ошибка: с телефона нельзя отменить запись — пациенты
будут звонить в регистратуру. Разработчики оценили исправление в полдня,
повторная проверка — час. Не проверены SMS-уведомления: на тестовом стенде
они не отправляются, проверим в первый день после выпуска.
Подробный отчёт — во вложении.
08

Системы управления тестированием

Таблицы курса — рабочий инструмент для одного тестировщика и одного проекта. Когда тестировщиков несколько, прогонов много и нужна их история, переходят на систему управления тестированием (TMS, test management system):

СистемаЧто важно знать
Test ITРоссийская; есть облако и установка на свой сервер — частый выбор компаний, которым нужен отечественный софт
QaseОблачная, есть бесплатный тариф для небольшой команды
TestRailДавно на рынке, часто встречается в вакансиях; платная

Для зарубежных облачных сервисов проверяйте, доступны ли регистрация и оплата из России и можно ли хранить там данные проекта. Поля в любой TMS те же, что в шаблонах курса: предусловия, шаги, ожидаемый результат, приоритет, статус прогона. Тот, кто умеет вести прогон в таблице, освоит любую из них за день.

Ключевые выводы раздела

Запомните главное

  • Тест-план договаривается заранее: что тестируем, что нет и почему, когда начинаем и заканчиваем
  • Оценка — сумма этапов «число единиц × время на единицу» плюс 20–30% запаса; называется вместе с условиями
  • Критерии выхода измеримы: «нет открытых критических и серьёзных дефектов», а не «всё хорошо»
  • Статусы прогона: прошла, не прошла (с номером дефекта), заблокирована (чем), не проверялась
  • Новая версия: smoke, повторная проверка исправлений, регресс по анализу влияния и высокого приоритета
  • Тест-отчёт начинается с рекомендации; руководителю — короткое письмо через последствия для пользователей
Практические задания — на учебном портале. Задания, критерии оценивания, сдача работ и оценки преподавателя — в курсе на portal.nevabit.ru. Учётную запись выдаёт преподаватель.
Раздел 10: Данные и журналы Все разделы Раздел 12: Итоговый проект