С начало времен считалось, что тестирование – это последний этап перед отправкой задачи в релиз. И это был последовательный и правильный подход. Что может пойти не так?
В этой статье мы кратко рассмотрим, почему тестирование должно подключаться на ранних этапах разработки и какие плюсы у этого подхода.
Пара слов о классическом подходе
Как было раньше... Аналитик (системный или бизнес) описывал задачу по требованиям бизнеса, собирая больше ТЗ (техническое задание). Команда создаёт прототип и готовит дизайн-макеты. Когда это готово, подключаются разработчики. Разработчик конечно же делал все правильно и без ошибок. После окончания процесса разработки задача переходила в тестирование. На этом этапе задача тестируется и тут могут появиться проблемы (баги), которые нужно исправлять.
Минус такого подхода в том, что если команда обнаружит серьёзные ошибки в коде то потратит много времени, чтобы их исправить. Это главный минус каскадной модели разработки. А так же возможно придется корректировать задачу если в документации, что-то не учли или текущая техническая реализация не возможна. А согласно принципам водопадной модели: Если требования к продукту изменились после согласования — переписываем ТЗ, и Нельзя возвращаться на предыдущий этап, чтобы что-то изменить. Получается нам для серьезных корректировок потребуется либо удалять текущую задачу или делать новую переписывая попутно все ТЗ, что конечно очень обрадует аналитика.
Гибкость Agile
Что же нам может предложить внедрение Agile в процессы разработки, и что в нем гибкого?
Введение Agile и DevOps в процесс разработки изменило правила игры. Теперь не нужно ждать задачу от разработки чтобы принять участие в тестировании. Тестировщик может уже принять участие в написании задачи явно указав места которые нужно доработать и ошибки которые нужно учесть. Что нам это дает? Со стороны тестирования мы в разы сокращаем риск обнаружения ошибок. Из отдельного этапа мы превращаемся в орган обеспечивающий непрерывное улучшение продукта.
Непрерывное тестирование
Непрерывное тестирование - это не просто проверка кода, это философия, воплощающая идею непрерывного совершенствования. Основные преимущества включают:
- Раннее и частое тестирование: Тестирование проводиться на протяжении всего цикла разработки.
- Поиск ошибок: Улучшение качества обнаружения ошибок.
- Увеличение количества выпусков: При обнаружении ошибок на ранних стадиях разработки мы сокращаем время на их устранение и тем самым ускоряем производство.
- Улучшение качества кода.
- Быстрое получение обратной связи.
- Интеграция с процессом DevOps.
Заключение
Стереотип о том, что тестирование начинается после процесса разработки, давно устарел. Современные методологии признают важность встроенного, непрерывного тестирования. Это способствует созданию более качественных, стабильных и надежных программных продуктов.
Переход к непрерывному тестированию - это не просто смена инструмента, это смена мышления, открывающая новые возможности для инноваций и качества в разработке программного обеспечения.
Понравилось? Поставь лайк и подпишись! Теперь и в telegram!