Итерационное тестирование в спринте
Команда выполняет часть задач, выгружает на тестовый сервер. Тестировщик проверяет задачи и пишет баг-лист (список элементов с ошибками). Разработчики приступают к исправлению багов (ошибок). Разработчики приступают к следующим задачам.
Это необходимо, чтобы баги не накапливались в геометрической прогрессии. Мелкие тестирования в итоге экономят 20-50% времени на исправление ошибок.
Стоимость каждого бага в зависимости от субъекта, который его нашел.
Итерационное тестирование проводится раз в день. В редких случаях – раз в 2 дня. Для этого при планировании оценка задач не должна превышать 4 – 8 часов на выполнение. Если больше – декомпозируем. Такой подход применим к крупным проектам.
Если у вас простой проект на неделю, смысла в итерационном тестировании нету. Достаточно сделать полный тест по всем задачам после завершения разработки.
После окончания спринта проводится итоговое тестирование. Его задача рассмотреть работу “сверху”, проверив ключевой функционал спринта и всего проекта и убедиться, что все работает.
Если все работает, переходим к следующим спринтам. В итоге, создаем новую версию проекта, готовую к запуску.
В случае, если закончена первая версия проекта, вам необходимо сделать деплоймент – перенос проекта на рабочий сервер.
Что проверяем:
- ● Smoke-тест;
- ● Google Page Speed;
- ● внутренние тесты CMS.
В итоге упрощается проект под реальные задачи.
Плюсы и минусы автотестов:
- ➕ исключен человеческий фактор (на самом деле нет);
- ➕ быстрое выполнение;
- ➕ нет зависимости от времени специалиста;
- ➕ отчеты формируются автоматически.
- ➖ повторяемость (исключен человеческий фактор);
- ➖ затраты на разработку;
- ➖ затраты на поддержку;
- ➖ пропуск мелких ошибок;
- ➖ стоимость инструмента автоматизации.
Когда использовать автотесты:
- ● Длинные однообразные сценарии, которые не меняются со временем.
- ● Точные математические расчеты.
- ● Труднодоступные места в системе (зачастую связанные с бэкэндом, например, на интеграционных протоколах).
- ● При миграции данных.
- ● На критической инфраструктуре, где высокая цена регрессии.
Существует три вида тестирования – функциональное, нефункциональное и связанное с изменениями.
Полезные инструменты для тестирования:
- ● метод светофора (красим постановку задачи);
- ● PixelPerfect (сопоставляем верстку с макетом);
- ● проверяем валидность верстки на https://validator.w3.org ;
- ● PHPUnit и Selenium (проводим автотесты).