Рейтинг  

Яндекс.Метрика
Яндекс цитирования
 

   

Статистика  

Пользователи
7
Материалы
578
Кол-во просмотров материалов
2742708
   

1. Теория тестирования

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

Этапы (группы активностей и задач) в тестировании

В различных источниках группы задач, относящихся к процессу тестирования, выделяются по-разному. Мы рассмотрим классификацию этапов тестирования, принятую в рамках ISTQB:

  • Анализ тестирования
  • Планирование тестирования
  • Проектирование тестов
  • Реализация тестов
  • Выполнение тестов
  • Мониторинг и контроль тестирования
  • Завершение тестирования
В рамках каждой группы выделяется свой пул активностей. При этом важно помнить, что этапы не подразумевают того, что мы строго выполняем все действия друг за другом, так как на практике возможно перекрытие, сочетание, параллельное выполнение или пропуск задач, поэтому, как правило, требуется их адаптация в контексте конкретной системы/проекта.

Анализ тестирования

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

Под базисом тестирования имеется ввиду:

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

Тщательное изучение базиса должно:

  • выявить дефекты различных типов и серые зоны в базисе на основании характеристик, которым он должен удовлетворять, таких как:
    • Полнота
    • Однозначность
    • Корректность
    • Непротиворечивость
    • Необходимость
    • Осуществимость
    • Проверяемость

    (Больше про тестирование на основе характеристик качества можно узнать в этом разделе)
  • помочь определить, какие элементы системы/функционал мы должны подвергнуть тестированию
  • помочь сопоставить требования со связанными с ними функционалом системы, для дальнейшего корректного проектирования тест-кейсов (трассируемость).
✒️Проводится анализ обычно первым этапом, а повторяться может сколько угодно раз в зависимости от применяемой методологии разработки и частоты обновления требований. Например, при гибкой методологии, когда у нас после очередного спринта аналитики дополняют требования, разработчики планируют писать новый код и составляют спецификации openapi для новой фичи и т.д. можно включиться в процесс и анализировать появившиеся обновления в базисе для последующего тестирования.

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

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

Во время планирования наши действия: 

  1. Резюмировать полученную на этапе анализа базиса и общения с командой информацию.
  2. Оценить сроки тестирования.
  3. Выделить область применения тестирования.
  4. Определить риски, которые охватывает тестирование.
  5. Разработать стратегию тестирования: определить виды тестирования, которые можно применить к проекту, проанализировать имеющиеся среды и инструменты, что имеется для проведения тестирования, описать критерии начала, окончания тестирования и критерии прохождения тестов, определить как и где будет вестись тестовая документация, какие тестовые данные нам понадобятся и где они будут храниться, как будет включен процесс теcтирования в CI.
  6. Составить расписание.
  7. Составить результирующий документ (сам тест-план), который будет включать в себя всю информацию из пунктов 1-6. При этом план тестирования может быть в дальнейшем пересмотрен на основе обратной связи от мониторинга и контроля. Внешний вид плана может как соответствовать одному из принятых стандартов по оформлению, так и оформляться более свободно в зависимости от практик и соглашений, принятых на проекте.
(Больше про составление плана тестирования можно узнать в этом разделе)

Проектирование тестов

Цель данной группы задач - придумать тестовые сценарии на основе полученной во время анализа тестирования информации. Так, анализ тестирования отвечает на вопрос «что тестировать?», а проектирование тестов отвечает на вопрос «как тестировать?».

Проектирование тестов состоит из следующих основных активностей: 

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

✒️При этом так же, как и при анализе тестирования, проектирование тестов может привести к выявлению аналогичных типов дефектов в базисе тестирования.

Реализация тестов

Во время реализации тестов подготавливается необходимое тестовое обеспечение для выполнения тестов, включая упорядочивание тест-кейсов. Таким образом, проектирование тестов отвечает на вопрос «как проверить?», в то время как реализация тестов отвечает на вопрос: «у нас теперь есть все для запуска тестов?». Часто задачи по проектированию тестов и реализации тестов объединяют.

Реализация тестов состоит из следующих основных активностей: 

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

✒️ При исследовательском тестировании и других типах тестирования, основанных на опыте, проектирование и реализация тестов могут выполняться и документироваться как часть выполнения тестов, то есть исследовательские тесты выполняются немедленно по мере их разработки и реализации.

Выполнение тестов

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

Выполнение тестов состоит из следующих основных активностей: 

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

Мониторинг и контроль тестирования

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

На этой стадии мы с помощью инструментов отчетности и выбранных метрик тестирования осуществляем следующие активности:

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

Завершение тестирования

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

Завершение тестирования состоит из следующих основных активностей: 

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

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


Источник: ISTQB - силлабус

   
   

Login Form