Жизненный цикл программного обеспечения (ПО) – период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации.
Для облегчения проектирования, создания и выпуска качественного программного продукта существуют различные модели жизненного цикла ПО. Любая из моделей включает в себя этап тестирования.
Тестирование программного обеспечения — процесс исследования, испытания программного продукта, имеющий своей целью проверку соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов, выбранных определенным образом.
Нужна тестовая среда?
Почему тестирование нужно проводить на отдельном сервере?
- Ни в коем случае тесты нельзя запускать на реальных данных! Если что-то пойдет не так, вы испортите рабочие данные.
- Тестирование всегда вызывает дополнительную нагрузку, что не допустимо для промышленного окружения
- Тестируемое ПО для того и проверяется, чтобы выявить проблемы и баги, которые в свою очередь могут привести к полной остановке работы сервера, например: бесконечные циклы.
Разработчики должны иметь свое изолированное окружение (dev). Среда разработки может быть как локальная, так и общий сервер разработки.
Дальше необходимо иметь промежуточный test сервер, как для последнего прогона тестов, так и для интеграционных тестов. После этапа тестирования следует деплой в промышленную среду и последующая эксплуатация. Таким образом схема внедрения нового ПО не может пропускать тестовый сервер, иначе это влечет за собой такие проблемы на промышленной среде:
- Ошибка в работе существующего ПО
- Повышенная нагрузка на сервер, вследствие чего замедление работы ПО
- Полный отказ в работе сервера
Схема корректного внедрения ПО, выглядит следующим образом: разработка в среде DEV, тестирование в среде TEST, после успешного прохождения тестирование внедрение на промышленную среду PROD.
Кроме того, весь процесс разработки и внедрения может быть улучшен путем автоматизации функций.