Найти в Дзене
QA инженер

Жизненный цикл ПО и тестирование: разбираюсь, как все устроено.

Продолжаю изучение тестирования! Следующий важный шаг — разобраться в жизненном цикле программного обеспечения (ПО). Что такое жизненный цикл ПО (SDLC)? Жизненный цикл ПО (англ. SDLC – Software Development Life Cycle) — это последовательность этапов, которые проходит программное обеспечение от идеи до его вывода из эксплуатации. Почему это важно для тестировщика? Если мы понимаем, на каком этапе разработки сейчас находится продукт, мы можем определить, какие задачи перед нами стоят и когда именно подключаться к процессу тестирования. Стадии жизненного цикла ПО (SDLC) Жизненный цикл тестирования (STLC) Отдельно существует жизненный цикл тестирования (STLC – Software Testing Life Cycle). Это процесс, который проходит тестирование ПО от планирования до анализа результатов. Стадии STLC Выводы Изучив SDLC и STLC, я понял, что тестирование — это не просто поиск багов. Это неотъемлемая часть процесса разработки, и тестировщик подключается на разных этапах, начиная еще с анализа требований. Е

Продолжаю изучение тестирования! Следующий важный шаг — разобраться в жизненном цикле программного обеспечения (ПО).

Что такое жизненный цикл ПО (SDLC)?

Жизненный цикл ПО (англ. SDLC – Software Development Life Cycle) — это последовательность этапов, которые проходит программное обеспечение от идеи до его вывода из эксплуатации.

Почему это важно для тестировщика? Если мы понимаем, на каком этапе разработки сейчас находится продукт, мы можем определить, какие задачи перед нами стоят и когда именно подключаться к процессу тестирования.

Стадии жизненного цикла ПО (SDLC)

  1. Идея (Концепция) – формируется первоначальная задумка продукта, определяется его цель, основные функции и аудитория.
  • Пример: заказчик хочет создать мобильное приложение для заказа еды.
  1. Анализ – изучаются потребности пользователей, бизнес-цели, возможные риски, создаются требования к продукту.
  • Пример: анализируется, какие функции должны быть в приложении (поиск ресторанов, фильтры, оплата и т. д.).
  1. Дизайн – разрабатывается архитектура системы, проектируются интерфейсы, создаются макеты.
  • Пример: дизайнер создает макеты экрана приложения, а разработчики продумывают, как сервер будет обрабатывать заказы.
  1. Разработка – программисты пишут код, создавая сам продукт.
  • Пример: разрабатываются мобильное приложение и серверная часть, интегрируются платежные системы.
  1. Тестирование – проводится проверка качества продукта, поиск багов, тестирование функциональности, производительности и других аспектов.
  • Пример: тестировщик проверяет, корректно ли работает процесс оформления заказа, не зависает ли приложение при оплате.
  1. Поддержка – после выпуска продукта в работу вносятся исправления, дорабатываются новые функции, исправляются найденные пользователями ошибки.
  • Пример: пользователи жалуются, что приложение не работает на iPhone 12 — команда исправляет баг.
  1. Закрытие (Вывод из эксплуатации) – если продукт устарел или больше не нужен, его поддержка прекращается.
  • Пример: компания закрывает приложение, так как заменяет его новой версией с расширенным функционалом.

Жизненный цикл тестирования (STLC)

Отдельно существует жизненный цикл тестирования (STLC – Software Testing Life Cycle). Это процесс, который проходит тестирование ПО от планирования до анализа результатов.

Стадии STLC

  1. Планирование и анализ требований – изучаем, что именно будем тестировать, какие есть требования к продукту.
  • Пример: выясняем, как должна работать корзина заказов в приложении, какие сценарии нужно проверить.
  1. Определение критериев приемки – уточняем, какие условия считаются успешными для выполнения тестов.
  • Пример: заказ должен появляться в системе не позднее 3 секунд после оформления.
  1. Выбор методов тестирования – решаем, какие подходы будем использовать (ручное тестирование, автоматизированные тесты и т. д.).
  • Пример: для проверки регистрации используем ручное тестирование, а для проверки платежей — автоматизированные тесты.
  1. Создание тест-кейсов – составляем сценарии тестирования, описываем шаги и ожидаемые результаты.
  • Пример: тест-кейс на оплату заказа – ввод данных карты, подтверждение платежа, проверка списания денег.
  1. Выполнение тест-кейсов – запускаем тестирование, фиксируем найденные ошибки.
  • Пример: при оплате заказа приложение зависает – фиксируем баг.
  1. Фиксация багов – записываем все ошибки в баг-трекер, описываем условия воспроизведения.
  • Пример: "Ошибка 404: не открывается страница 'Оформление заказа' при нажатии на кнопку 'Оплатить'."
  1. Анализ результатов тестирования – оцениваем, сколько ошибок найдено, насколько они критичны, принимаем решения о релизе.
  • Пример: критические ошибки исправлены, продукт готов к выпуску.
  1. Отчетность – составляем отчет о проделанной работе, фиксируем найденные баги, передаем информацию команде.
  • Пример: "В ходе тестирования найдено 15 багов, 3 из них критические. Исправлено 14, 1 остается на следующий релиз."

Выводы

Изучив SDLC и STLC, я понял, что тестирование — это не просто поиск багов. Это неотъемлемая часть процесса разработки, и тестировщик подключается на разных этапах, начиная еще с анализа требований.

Если у вас есть вопросы или советы — пишите, буду рад обсудить!