Блог Этапы тестирования программного обеспечения
Этапы тестирования программного обеспечения

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

Всего выделяют 7 этапов тестирования.

Этап 1. Работа с требованиями заказчика. На этом этапе группа тестировщиков знакомится с техническим заданием на создаваемый программный продукт. Совместно с командой разработчиков определяется полнота, непересекаемость и однозначность требований к проекту.

Этап 2. Разработка стратегии тестирования. Этот этап включает в себя:

  • анализ среды, ресурсов и оборудования для проведения тестирования;
  • определение видов тестирования, применимых к проекту;
  • определение способа ведения тестовой документации;
  • оценка сроков тестирования;
  • составление плана работ по тестированию.

Этап 3. Создание тестовой документации. Целью этого этапа является разработка документации, детально описывающей последовательность работ. Как правило, тестовая документация включает в себя:

  • тестовые сценарии (что будет тестироваться и какой вид тестирования будет применен);
  • отчетность о тестировании (результаты тестирования, обнаруженные несоответствия и баги, серьезность допущенных разработчиками ошибок);
  • описание примененных при тестировании методик.

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

Этап 4. Тестирование. Этот этап является самым длительным и значительным по объему проводимых работ. Выполняются следующие действия:

  • выполняется общая проверка продукта;
  • проводится смоук-тестирование (минимальный набор тестов на выявление явных ошибок);
  • отрабатываются запланированные тестовые сценарии;
  • формируются отчеты об обнаруженных дефектах;
  • производится корректировка целей тестирования.

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

Этап 5. Подготовка отчета о тестировании. Подведение итогов. Отчеты о тестировании представляют собой совокупность информационных материалов о проведенных мероприятиях и результатах проделанной работы. Как правило, они включают:

  • оценку текущего качества проекта;
  • описание обнаруженных дефектов;
  • статистику частоты воспроизведения дефектов;
  • оценку эффективности тестов;
  • рекомендации по устранению багов и улучшению продукта.

Этап 6. Повторное тестирование. В широком смысле этот этап предназначен для обнаружения ошибок в уже протестированных участках исходного кода и позволяет убедиться в том, что ранее обнаруженные ошибки успешно исправлены. Фактически, команды тестировщиков и разработчиков проводят финальную доводку продукта до идеального видения заказчика.

Этап 7. Приемочное тестирование. Этот этап тестирования является финальным перед релизом продукта. Целью приемочного тестирования является определение готовности продукта, что достигается путем прохода тестовых сценариев и случаев, которые построены на основе спецификации требований к разрабатываемому программному обеспечению. Результатом приемочного тестирования может стать:

  • отправка проекта на доработку;
  • принятие проекта заказчиком в качестве выполненной задачи.

Каждый этап тестирования по-своему важен и является частью сложного процесса, от тщательности выполнения которого напрямую зависит качество разрабатываемого продукта. Обнаружение и устранение каждого дефекта напрямую влияет на работоспособность программы, удобство пользователя и надежность функционала.