Для того, чтобы выпустить хорошую программу, которая будет соответствовать всем нуждам клиента, необходимо грамотно подойти к процессу разработки и тестирования ПО. За много лет выработались определенные стандарты по этапам разработки и тестирования. Сегодня мы их и рассмотрим.
Жизненный цикл разработки ПО SDLC - Software Development Life Cycle
Жизненный цикл разработки ПО представляет собой последовательность этапов и процессов, которые проходит проект от начала до завершения. Каждый этап характеризуется определенными задачами, активностями и результатами. В зависимости от методологии разработки, такой как Waterfall, Agile, или DevOps, этапы и процессы могут отличаться, но обычно они включают следующие общие шаги:
1. Планирование. Этот этап включает определение целей проекта, требований к ПО, и создание плана разработки. Важно учитывать бюджет, сроки и ресурсы.
2. Анализ и проектирование. На этом этапе проводится детальный анализ требований, определяются функции и характеристики ПО. Разрабатывается архитектура системы и проектируются ее компоненты.
3. Реализация (разработка). На этом этапе разработчики пишут код, основываясь на архитектуре и спецификациях, разработанных на предыдущих этапах. Здесь создаются модули, классы и функции, которые составляют программу.
4. Тестирование. Проводятся различные виды тестирования, включая модульное, интеграционное, системное, и приемочное тестирование. Цель - обнаружить и исправить ошибки и дефекты в ПО.
5. Внедрение и развертывание. После успешного завершения тестирования ПО готово к внедрению. Это может включать установку программы на серверы, обновление клиентских приложений, или предоставление доступа пользователям.
6. Эксплуатация и поддержка. После внедрения ПО начинается его реальное использование. На этом этапе проводится техническая поддержка, включая устранение ошибок, обновления и обслуживание.
7. Снятие с эксплуатации. По мере того как ПО стареет и устаревает, его снимают с эксплуатации. Это может быть вызвано изменениями в бизнес-процессах, обновлением технологий или появлением новых версий программного обеспечения. Хочу отметить, что данный этап встречается довольно редко. За 15 лет работы в IT у меня было два проекта, где мы сталкивались с этапом снятия с эксплуатации.
На схеме выше отображены этапы жизненного цикла разработки ПО
Жизненный цикл тестирования ПО
Жизненный цикл тестирования ПО включает в себя последовательность этапов и процессов, которые помогают обеспечить качество и надежность программы. Я подробно распишу этапы жизненного цикла тестирования ПО, поэтому что на собеседованиях часто встречаются вопросы по данной теме.
Итак, основные этапы жизненного цикла тестирования ПО включают:
1. Планирование тестирования. Test Planning На этом этапе определяются цели тестирования, составляется план тестирования, выбираются методы и инструменты тестирования.
Задача тестировщика (если это целая команда тестирования - то задача ведущего тестировщика) заключается в подготовке тестового плана. Тестовый план – это документ, где описываются все этапы тестирования. Во время работы команда тестирования должна придерживаться тестового плана.
Так же на данном этапе устанавливаются цели тестирования и выбирается подход, который лучше всего помогает достигать поставленных целей
2. Анализ требований. Test Analysis Анализируются требования к ПО, на основе которых разрабатываются тестовые сценарии и кейсы.
На этом этапе необходимо получить ответы на вопросы: что предстоит тестировать, какие могут быть сложности, есть ли все необходимое для старта. Так же на данном этапе проставляются зависимости между требованиями и устанавливается ответ на вопрос "Что тестировать?"
3. Проектирование. Test Design На этом этапе тестировщик создает тест-кейсы основываясь на требованиях, которые у него есть. Тест-кейсы проверяются, уточняются и дорабатываются.
Определяется уровень покрытия требований тестами. Определяются требования к тестовым данным.
Так же необходимо установить ответ на вопрос "Как тестировать?"
4. Реализация тестов. Test Implementation Создаются тестовые данные, необходимые для выполнения тестовых сценариев.
Так же на данном этапе: - создаются ручные и автоматизированные сценарии тестирования - собираются наборы тестов - определяется расписание выполнения тестов - создается и проверяется правильность настройки тестового окружения
5. Выполнение тестов. Test Execution На этом этапе тестовые сценарии выполняются в соответствии с планом тестирования. Результаты тестов регистрируются и анализируются.
Так же данный этап включает: - запуск тестов в соответствии с расписанием - выполнение тестов (ручных и автоматизированных) - регистрация багов
6. Завершение тестирования. Test Completion После выполнения тестирования анализируется проделанная работа согласно плану тестирования и подготавливаются отчеты (по требованию).
Анализируется кол-во критических ошибок, наиболее проблемные места приложения, время на прогон тестов и т.д.
Для любых не устраненных дефектов создаются запросы на изменение или элементы бэклога.
Отчет предоставляется в форме, принятой в конкретной компании либо по требованию заказчика.
На схеме выше отображены этапы жизненного цикла тестирования ПО.