Чтобы лучше разбираться в своих рабочих задачах, тестировщику важно понимать, какое место занимает тестирование в работе компании. Прежде чем мы поговорим на эту тему, нужно обсудить процесс разработки в целом.
В этом уроке вы узнаете, как создаются продукты и на какие этапы делится их жизненный цикл.
Как производятся товары
Сначала разберемся с тем, что такое жизненный цикл и что мы им называем.
Жизненный цикл — это период времени, который начинается с решения о создании продукта и заканчивается в момент его изъятия из эксплуатации.
Этот цикл состоит из 11 шагов:
Рассмотрим шаги подробнее на примере повседневного товара:
- Маркетинг. Представим, что некая компания запускает производство диванов. На первом этапе ей нужно исследовать спрос, изучить конкурентов и выяснить, какие диваны востребованы на рынке
- Проектирование и разработка. На предыдущем этапе выяснилось, какими будут будущие диваны — какого размера и цвета, из какого материала. Теперь нужно разработать несколько моделей и передать чертежи на фабрику
- Закупка — это приобретение необходимых материалов. На этом этапе мебельная фабрика заказывает дерево и ткань
- Подготовка производства. Фабрика запускает линию сборки диванов и нанимает рабочих
- Производство. Здесь фабрика производит 100 диванов по готовым чертежам из заранее закупленных материалов на уже запущенной линии производства
- Контроль и испытание. Готовые диваны проверяет отдел качества завода, так находят брак и устраняют найденные проблемы
- Упаковка и хранение. Готовую мебель перевозят на склад сначала фабрики, а потом и магазина
- Поставка. Служба доставки привозит диван домой покупателю
- Монтаж. Вместе с курьерами приезжают сборщики, которые собирают диван из отдельных деталей
- Послепродажное обслуживание. Компания по гарантии обслуживает покупателей и при необходимости заменяет детали, которые вышли из строя
- Утилизация. Спустя несколько лет диван придет в негодность, тогда покупатели его утилизируют: выкинут на помойку, обратятся в специальную службу или вернут производителю по программе по утилизации
Все те же шаги применимы к любому товару, которым мы пользуемся каждый день.
Как производится ПО
Схожий цикл есть и у программного обеспечения. Любое приложение в телефоне или программа на компьютере проходят эти этапы:
Представьте, что у вас есть малый бизнес — например, вы печете торты для друзей и знакомых. Со временем вы решили масштабировать свой бизнес — запустить интернет-магазин.
Здесь начинается цикл жизни ПО:
- Идея. Вы решили создать интернет-магазин. При этом вы рассмотрели и другие варианты — например, для малого бизнеса можно создать группу в соцсетях. Если другие варианты не подошли, мы переходим на следующий этап
- Требования. Здесь вы начинаете формировать требования и думать, какие у сайта будут функции, как будут реализованы. На этом же этапе мы анализируем рынок, смотрим на конкурентов и составляем список функций, без которых не обойтись
- Дизайн. Далее дизайнеры рисуют веб-интерфейс или макеты приложения.
- Разработка. Одновременно с дизайном или сразу после него разработчики начинают создавать приложение
- Тестирование. Здесь нужно проверить, соответствует ли магазин тем требованиям, которые мы определили заранее. Тестировщики проверяют, работает ли поиск по сайту, корзина и другие функции
- Развертывание. Также этот этап называют выходом в продакшен или выходом в эксплуатацию. На этом этапе мы публикуем готовый сайт — теперь пользователь может ввести адрес интернет-магазина, выбрать нужные товары и заказать их
- Эксплуатация и поддержка. Здесь клиенты начинают пользоваться магазином, а нам нужно обеспечить его работу: поддерживать сервер, оплачивать домен, исправлять ошибки, улучшать интерфейс и так далее
- Закрытие. В какой-то момент интернет-магазин прекратит работу: например, бизнес закроется или переедет на другую площадку
Здесь мы рассмотрели пример большого IT-продукта, но тот же подход применяется и к маленьким: например, скрипту или лендингу. При этом можно пропускать этапы, например:
- При разработке скрипта для командной строки этапа дизайна не будет, потому что у скрипта нет графической оболочки
- Если лендинг создается по проверенному шаблону, у него может не быть этапа тестирования
- Если сайт создается на один раз, то у него может не быть этапа поддержки — так происходит с лендингами для Черной Пятницы
Каскадная модель жизненного цикла
Выше мы рассмотрели цикл разработки ПО, который называется водопадной или каскадной моделью.
Это название отражает суть модели, потому что каждый следующий этап начинается после предыдущего: нельзя сначала протестировать приложение, а потом придумать его дизайн. Весь цикл заканчивается «развертыванием» или «выходом в продакшен» — так в айти-компаниях называют ввод продукта в эксплуатацию.
Если со временем обнаружится дефект или появится новое требование, весь водопад должен повториться опять: надо разработать требования на изменение, спроектировать, написать код, протестировать и выпустить в продакшен. Таким образом водопадная модель раскручивается как спираль из водопадов-итераций.
Важно сказать, что исполнители каждого этапа в классической каскадной модели не участвуют в предыдущем и следующем этапах. Например, программист реализовал фичу и дальше переключается на что-то другое. Если надо будет исправить дефекты, это будет делать другой разработчик.
Поэтому такая модель проектирования опирается на масштабную документацию, создание которой занимает много сил и времени. Вообще водопадная модель считается дорогой и медленной, поэтому со временем у нее появились альтернативы. Об этих альтернативных моделях мы поговорим далее в курсе.
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Вебинар «Как самостоятельно учиться»
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.