19/05/2022

Жизненный цикл тестирования приложений, STLC (Software Testing LifeCycle)

Жизненный цикл тестирования приложений, STLC (Software Testing LifeCycle)

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

STLC, или жизненный цикл тестирования

Этапы STLC-цикла

Цикл состоит из шести основных этапов:

1. Анализ требований

Тестирование на этапе оценки требований (или анализа требований). На этом этапе отдел QA оценивает требования с точки зрения тестирования, ищет требования к софту, которые нужно предварительно оценить. Для этого QA-команда может обращаться к представителям заказчика. Требования могут быть «функциональными» или «нефункциональными», то есть касаться или не касаться функциональной составляющей софта. Также на этом этапе проводится оценка возможности применения автоматизированного тестирования.

Критерии входа:

  • Есть документ о требованиях (как функциональных, так и нефункциональных).
  • Описаны критерии приемлемости.
  • Есть документ, описывающий архитектуру приложения.

Действия на этапе оценки требований:

  • Анализ планируемой функциональности приложения.
  • Определение ролей пользователей.
  • Сбор требований о пользовательских интерфейсах, аутентификации, локализации и других особенностях.
  • Определение типов тестирования
  • Сбор информации о приоритетах в тестировании
  • Подготовка матрицы отслеживания требований (RTM — Requirement Traceability Matrix)
  • Определение тестового окружения
  • Анализ возможности автоматизации тестирования (если нужно)

Критерии выхода:

  • Заполнена RTM-матрица.
  • Подготовлен и согласован отчет о возможности автоматизации

Результаты этапа оценки требований:

  • Матрица отслеживания требований (RTM)
  • Отчет о возможности автоматизации (если нужно)

2. Планирование тестирования

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

Критерии входа:

  • Есть документы с требованиями.
  • Есть RTM-матрица.
  • Есть документ о возможности автоматизации тестирования

Действия на этапе планирования:

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

Критерии выхода:

  • Готов и согласован документа со стратегией тестирования.
  • Одобрен документ по оценке трудозатрат.

Результаты:

  • Документ со стратегией тестирования
  • Документ с оценкой ресурсов

3. Создание тест-кейсов

На этом этапе происходит подготовка тестовых данных и создаются тест-кейсы.

Критерии входа:

  • Есть документы с требованиями.
  • Есть RTM-матрица и план тестирования.
  • Есть отчет о возможности автоматизации

Действия:

  • Создание тест-кейсов (и автотестов, если будет применяться автоматизация)
  • Обновление тест-кейсов и автоматизированных тестов.
  • Подготовка исходных данных для тестирования

Критерии выхода:

  • Готовы тест-кейсы и скрипты.
  • Готовы тестовые данные.

Результаты:

  • Тест-кейсы и/или скрипты
  • Тестовые данные

4. Настройка тестового окружения

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

Критерии входа:

  • Готовы документы по дизайну системы и ее архитектуре.
  • Есть план по настройке окружения.

Действия:

  • Оценка архитектуры.
  • Создание списка требований к аппаратной и программной части окружения
  • Подготовка задач по настройке окружения.
  • Настройка тестового окружения и тестовых данных.
  • Провести smoke-тест окружения
  • Подготовка и проведение smoke-тестов билда приложения.

Критерии выхода:

  • Окружение работает согласно списка требований.
  • Завершена подготовка тестовых данных.

Результаты:

  • Настроенное окружение для проведения тестирования
  • Результаты smoke-тестирования окружения

5. Выполнение тестирования

На этапе выполнения тестов QA проводит тестирование, выполняя подготовленные тест-кейсы. Процесс состоит из выполнения тестовых скриптов (при необходимости эти скрипты могут корректироваться). Далее идет создание баг-репортов. Если найдены баги, информация о них передается команде разработки для исправления и повторного тестирования QA-командой.

Критерии входа:

  • Есть базовая RTM-матрица, план тестирования, тест-кейсы и/или автоматизированные скрипты.
  • Готово тестовое окружение.
  • Завершена настройка тестовых данных.

Действия:

  • Выполнение тестирования в соответствии с планом
  • Получение и документирование результатов тестирования
  • Создание баг-репортов
  • Обновление тест-плана и тест-кейсов (если нужно).
  • Обновление RTM-матрицы (тест-кейсы из RTM-матрицы связываются с найденными багами)
  • Повторное тестирование исправленных багов
  • Регрессионное тестирование приложения.
  • Отслеживание проблемных мест, до закрытия тестирования.

Критерии выхода:

  • Все запланированные тесты проведены.
  • Созданы баг-репорты.

Результаты:

  • Завершенная RTM-матрица
  • Обновленные тест-кейсы
  • Найденные и описанные баги

6. Завершение цикла тестирования

На этапе завершения тестирования создается отчет о результатах тестирования. QA-команда обсуждает и анализирует баги, делает выводы из возникших проблем, чтобы избежать подобных проблем в будущем.

Критерии входа:

  • Тестирование завершено.
  • Есть результаты тестирования.
  • Есть баг-репорты.

Действия:

  • Оценка критериев завершения цикла (основывается на времени, трудозатратах, покрытии тестами)
  • Подготовка метрик тестов
  • Подготовка документа с выводами, сделанными во время тестирования
  • Подготовка отчета о завершении тестирования
  • Подготовка отчета для клиента с количественными и качественными характеристиками тестируемой системы
  • Анализ результатов тестирования

Критерии выхода:

  • Отчет о завершении тестирования утвержден клиентом.

Результаты:

  • Отчет о завершении тестирования

Этапы тестирования:

  1. Анализ продукта
  2. Работа с требованиями
  3. Разработка стратегии тестирования и планирование процедур контроля качества
  4. Создание тестовой документации
  5. Тестирование прототипа
  6. Основное тестирование
  7. Стабилизация
  8. Эксплуатация