Тестирование — это составная часть жизненного цикла любого продукта, один из ее элементов. А из чего состоит жизненный цикл программного обеспечения? С чего он начинается и заканчивается ли вообще? Давайте разбираться.
Жизненный цикл программного обеспечения включает в себя все этапы его развития: от возникновения потребности в нем до прекращения его использования.
Можно выделить несколько фаз существования программного изделия в течение его жизненного цикла. Нет каких-то общепринятых названий фаз. Да и число их меняется от источника к источнику. Однако, эти источники и не сильно противоречат друг другу.
Знать жизненный цикл ПО необходимо, чтобы понять, какое место занимает в нем тестирование. Ну и конечно это знание помогает правильно организовать разработку самого ПО.
Идея
Все начинается с идеи. Предположим, что человек занимается вязанием для продажи. Однажды он просыпается и понимает, что ему нужен интернет-магазин. Но сейчас у него ничего нет, кроме его собственной идеи.
Понятно, что с помощью только одной идеи проект не создать. В первую очередь, нужна команда, которая сможет сделать интернет магазин. И, как минимум, необходимо описание того, как будет выглядеть интернет-магазин, какая у него будет функциональность, сколько страниц и так далее. Так мы переходим к следующей стадии.
Анализ и разработка требований
Цель этой стадии – определение детальных требований к системе, то есть к нашему интернет-магазину.
На этой стадии в обсуждениях могут участвовать тестировщики, вносить свои пожелания и корректировать процесс. Кроме этого, необходимо убедиться в том, что все участники правильно поняли поставленные задачи и то, как именно каждое требование будет реализовано на практике.
Таким образом, этот этап предполагает сбор требований к разрабатываемому программному обеспечению, их систематизацию, документирование, анализ, а также выявление и разрешение противоречий.
Дизайн и Архитектура (Проектирование)
Тут начинается обсуждение, как будет выглядеть проект.
Разнообразные технические вопросы, возникающие в процессе проектирования, обсуждаются со всеми заинтересованными сторонами. Определяются технологии, которые будут использоваться в проекте, загрузка команды, ограничения, временные рамки и бюджет. В соответствии с уточненными требованиями выбираются наиболее подходящие проектные решения.
Создается прототип проекта и примерный дизайн сайта.
Разработка и программирование
После того как требования и дизайн продукта утверждены, переходим к разработке.
Здесь программисты пишут код программы в соответствии с ранее определенными требованиями. Системные администраторы настраивают программное окружение, front-end программисты разрабатывают пользовательский интерфейс программы и логику ее взаимодействия с сервером.
Другие команды также начинают свою работу: рисуется дизайн сайта, копирайтеры пишут нужный текст, происходит наполнение сайта товарами.
Тестирование
В фазе тестирования обнаруживаются пропущенные при разработке баги. При обнаружении дефекта, тестировщик составляет отчет об ошибке, который передается разработчикам. Последние его исправляют, после чего тестирование повторяется.
Тестирование повторяется до тех пор, пока не будут достигнуты критерии его окончания.
Что такое критерии окончания? Это грубо говоря определенная черта в проверках, которая скажет нам, что хватит тестировать. Они необходимо, чтобы четко понимать критерии качества продукта, но об этом мы детально поговорим в дальнейшем.
Внедрение и сопровождение
Когда сайт протестирован и в нем больше не осталось серьезных дефектов, приходит время релиза и передачи его конечным пользователям.
После выпуска новой версии программы в работу включается отдел технической поддержки, который обеспечивает обратную связь с пользователями, их консультирование и поддержку.
В случае обнаружения пользователями тех или иных пост-релизных багов, информация о них передается в виде отчетов об ошибках команде разработки.
Кроме того, команда технической поддержки помогает собирать и систематизировать различные метрики – показатели работы программы в реальных условиях.
Закрытие
К сожалению все имеет свойство заканчиваться и продукты в этом плане не исключение. Завершающий этап говорит нам о том, что продукт достиг всех поставленных целей и больше не нуждается в разработке, а следовательно должен быть закрыт.
Жизненный цикл программного обеспечения (также называемый циклом разработки) – это условная схема, включающая отдельные этапы, которые представляют стадии процесса создания ПО. При этом на каждом этапе выполняются разные действия.
Цикл разработки предлагает шаблон, использование которого облегчает проектирование, создание и выпуск качественного программного обеспечения. Это методология, определяющая процессы и средства, необходимые для успешного завершения проекта.
Хотя реализация принципов построения модели жизненного цикла для разных компаний может существенно отличаться, существуют стандарты, такие как ISO/IEC 12207, определяющие принятые практики разработки и сопровождения программного обеспечения.
________________________________
Цель использования модели жизненного цикла – создать эффективный, экономически выгодный и качественный программный продукт.
________________________________